Skip to content

ci: add markdown, website, and image lint checks#1987

Open
vdusek wants to merge 1 commit into
masterfrom
ci/markdown-website-image-lint
Open

ci: add markdown, website, and image lint checks#1987
vdusek wants to merge 1 commit into
masterfrom
ci/markdown-website-image-lint

Conversation

@vdusek

@vdusek vdusek commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Adds Markdown, website, and image lint checks to CI, mirroring apify/apify-client-python#882.

  • Replaces the website's eslint + prettier with oxlint and oxfmt, and adds markdownlint for the docs and top-level Markdown.
  • Wires three jobs into the existing Checks workflow: Markdown lint check, Website lint check, and Image lint check (the last fails when unoptimized raster images are added).
  • Adopting oxfmt reformats the existing website JS (single quotes preserved via .editorconfig), and the markdownlint config matches apify-docs (line length disabled, inline HTML allowed).
  • A few small doc/code fixes were needed to pass the new checks: **Related links** promoted to ### Related links headings, more descriptive link text, a code-fence language, removal of a stray TS generic in a .jsx file, and two unused variables.

@vdusek vdusek added t-tooling Issues with this label are in the ownership of the tooling team. adhoc Ad-hoc unplanned task added during the sprint. labels Jun 24, 2026
@vdusek vdusek self-assigned this Jun 24, 2026
@github-actions github-actions Bot added this to the 143rd sprint - Tooling team milestone Jun 24, 2026
@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.03%. Comparing base (a28e9f2) to head (a6ab7d6).

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     
Flag Coverage Δ
unit 93.03% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@vdusek vdusek marked this pull request as ready for review June 24, 2026 08:36
@vdusek vdusek requested a review from Pijukatel June 24, 2026 08:36
@Pijukatel Pijukatel requested a review from Copilot June 24, 2026 10:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread website/package.json
Comment on lines +20 to +21
"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}'",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants