ci: add markdown, website, and image lint checks#1987
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1987 +/- ##
==========================================
- Coverage 93.04% 93.03% -0.01%
==========================================
Files 167 167
Lines 11740 11740
==========================================
- Hits 10923 10922 -1
- Misses 817 818 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds additional CI quality gates for the repository’s documentation and Docusaurus website by introducing Markdown linting, website linting/format checking (oxlint/oxfmt), and an image policy check to prevent adding unoptimized raster assets.
Changes:
- Added three new CI jobs to the existing Checks workflow: Markdown lint, website lint/format check, and “fail on unoptimized images”.
- Migrated the website from ESLint/Prettier to oxlint/oxfmt, including adding corresponding config and reformatting existing JS/JSX.
- Updated docs/MDX content to satisfy markdownlint rules (heading levels, link text, code fence language, whitespace).
Reviewed changes
Copilot reviewed 57 out of 60 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| website/tsconfig.eslint.json | Removed (ESLint TypeScript project no longer needed). |
| website/.eslintrc.json | Removed (replaced by oxlint). |
| website/tools/docs-prettier.config.js | Removed (replaced by oxfmt/markdownlint flow). |
| website/package.json | Switched lint/format scripts and devDependencies to oxlint/oxfmt + markdownlint. |
| website/oxlint.config.ts | Added oxlint configuration and rule overrides for Docusaurus conventions. |
| website/.oxfmtrc.json | Added oxfmt configuration + ignore patterns. |
| website/docusaurus.config.js | Reformatted; no functional config intent changes apparent. |
| website/sidebars.js | Minor formatting + trailing comma adjustments. |
| website/roa-loader/index.js | Removed redundant nested await around fetch. |
| website/tools/utils/externalLink.js | Updated Node core import (node:url) and reformatted logic. |
| website/tools/website_gif/website_gif.mjs | Formatting/trailing commas in request list. |
| website/static/js/custom.js | Reformatted URL replacement blocks. |
| website/src/plugins/docusaurus-plugin-segment/index.js | Updated Node core import (node:path). |
| website/src/plugins/docusaurus-plugin-segment/segment.js | Reformatted exported route update hook. |
| website/src/pages/index.js | Reformatted JSX/layout text wrapping. |
| website/src/components/RunnableCodeBlock.jsx | Added missing semicolon; reformatted JSX/SVG. |
| website/src/components/LLMButtons.jsx | Reformatted React imports, components, and JSX layout. |
| website/src/components/Homepage/ThreeCardsWithIcon.jsx | JSX formatting adjustments. |
| website/src/components/Homepage/LanguageSwitch.jsx | Fixed stray TS generic in .jsx + formatted and added missing semicolons. |
| website/src/components/Homepage/LanguageInfoWidget.jsx | JSX formatting adjustments. |
| website/src/components/Homepage/HomepageHeroSection.jsx | JSX formatting adjustments. |
| website/src/components/Homepage/HomepageCtaSection.jsx | JSX formatting adjustments. |
| website/src/components/Homepage/HomepageCliExample.jsx | JSX formatting adjustments. |
| website/src/components/Highlights.jsx | JSX formatting adjustments (spacing/newlines). |
| website/src/components/Gradients.jsx | JSX/SVG formatting adjustments. |
| website/src/components/CopyButton.jsx | Reformatted JSX; no logic change intended. |
| website/src/components/Button.jsx | Reformatted JSX; no logic change intended. |
| website/src/components/ApiLink.jsx | Simplified JSX returns; no logic change intended. |
| website/src/theme/NavbarItem/ComponentTypes.js | Reformatted + normalized object keys (unquoted where possible). |
| website/src/theme/Navbar/Content/index.js | Reformatted imports and JSX. |
| website/src/theme/Navbar/Logo/index.js | Removed unused props parameter and reformatted destructuring/JSX. |
| website/src/theme/Navbar/MobileSidebar/index.js | Consolidated import formatting. |
| website/src/theme/Navbar/MobileSidebar/Header/index.js | Removed unused import and reformatted JSX attributes. |
| website/src/theme/Navbar/MobileSidebar/Layout/index.js | Reformatted component signature and JSX. |
| website/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.js | JSX formatting adjustments. |
| website/src/theme/Footer/index.js | Reformatted JSX (Link + footer closing tag). |
| website/src/theme/Footer/LinkItem/index.js | Reformatted prop spreading / JSX closing bracket layout. |
| website/src/theme/DocItem/Layout/index.js | Reformatted hooks usage and JSX components spacing. |
| website/src/theme/DocItem/Content/index.js | Whitespace-only formatting at EOF. |
| website/src/theme/ColorModeToggle/index.js | Reformatted component signature and JSX structure. |
| docs/upgrading/upgrading_to_v1.md | Added blank lines to satisfy markdownlint spacing rules. |
| docs/upgrading/upgrading_to_v0x.md | Adjusted list indentation to satisfy markdownlint. |
| docs/quick-start/index.mdx | Adjusted MDX comment formatting for markdownlint. |
| docs/introduction/index.mdx | Added spacing inside TODO block for markdownlint. |
| docs/guides/trace_and_monitor_crawlers.mdx | Inserted blank line for markdownlint. |
| docs/guides/storages.mdx | Inserted blank lines for markdownlint. |
| docs/guides/storage_clients.mdx | Inserted blank lines for markdownlint and diagrams section spacing. |
| docs/guides/session_management.mdx | Inserted blank line for markdownlint. |
| docs/guides/running_in_web_server.mdx | Added code fence language (bash) + spacing fixes. |
| docs/guides/creating_web_archive.mdx | Inserted blank lines + list spacing fixes. |
| docs/guides/crawler_login.mdx | Inserted blank line for markdownlint. |
| docs/guides/avoid_blocking.mdx | Promoted “Related links” to heading level for markdownlint. |
| docs/guides/architecture_overview.mdx | Inserted blank lines before lists for markdownlint. |
| docs/deployment/aws_lambda.mdx | Inserted blank line before code block for markdownlint. |
| docs/deployment/apify_platform.mdx | Improved link text + related-links headings + spacing fixes. |
| CONTRIBUTING.md | Documented new lint/format commands and reformatted numbered list/code blocks. |
| .markdownlint.yaml | Introduced markdownlint configuration aligned to MDX/docs needs. |
| .github/workflows/_checks.yaml | Added Markdown/website/image lint jobs; introduced NODE_VERSION env for Node-based jobs. |
| .editorconfig | Added quote_type = single to guide formatters/editors that support it. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "lint:md": "markdownlint --config ../.markdownlint.yaml --ignore ../docs/changelog.md ../README.md ../CONTRIBUTING.md '../docs/**/*.{md,mdx}'", | ||
| "lint:md:fix": "markdownlint --fix --config ../.markdownlint.yaml --ignore ../docs/changelog.md ../README.md ../CONTRIBUTING.md '../docs/**/*.{md,mdx}'", |
Adds Markdown, website, and image lint checks to CI, mirroring apify/apify-client-python#882.
Markdown lint check,Website lint check, andImage lint check(the last fails when unoptimized raster images are added)..editorconfig), and the markdownlint config matches apify-docs (line length disabled, inline HTML allowed).**Related links**promoted to### Related linksheadings, more descriptive link text, a code-fence language, removal of a stray TS generic in a.jsxfile, and two unused variables.