diff --git a/.github/codeql/codeql-config.yml b/.github/codeql/codeql-config.yml new file mode 100644 index 000000000000..ead69cdc94dc --- /dev/null +++ b/.github/codeql/codeql-config.yml @@ -0,0 +1,21 @@ +name: Docusaurus CodeQL config + +paths-ignore: + - '**/__fixtures__/**' + - website/_dogfooding/_asset-tests/badSyntax.js + +# We can disable various rules because Docusaurus has no runtime +# The inputs (files, CLI args) are usually controlled locally +query-filters: + # Many false positives + # Example: https://github.com/facebook/docusaurus/security/code-scanning/168 + - exclude: + id: js/path-injection + # Many false positives + # Example: https://github.com/facebook/docusaurus/security/code-scanning/150 + - exclude: + id: js/polynomial-redos + # - exclude: + # id: js/command-line-injection + # - exclude: + # id: js/indirect-command-line-injection diff --git a/.github/workflows/argos.yml b/.github/workflows/argos.yml index b89ec760483b..3ecfe0a27299 100644 --- a/.github/workflows/argos.yml +++ b/.github/workflows/argos.yml @@ -26,7 +26,12 @@ jobs: # Argos is heavy to run # We only want to trigger Argos on PRs with the 'Argos' label # See https://stackoverflow.com/questions/62325286/run-github-actions-when-pull-requests-have-a-specific-label - if: ${{ (github.event_name != 'pull_request' && github.ref_name == 'main') || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'Argos')) }} + if: | + github.repository == 'facebook/docusaurus' && + ( + (github.event_name != 'pull_request' && github.ref_name == 'main') || + (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'Argos')) + ) runs-on: ubuntu-latest steps: - name: Check out repository code diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 000000000000..74b25a3fa4be --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,40 @@ +name: CodeQL + +on: + push: + branches: + - main + - docusaurus-v** + pull_request: + branches: + - main + - docusaurus-v** + schedule: + - cron: 25 22 * * 3 + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + analyze: + name: Analyze + if: github.repository == 'facebook/docusaurus' + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Initialize CodeQL + uses: github/codeql-action/init@4e94bd11f71e507f7f87df81788dff88d1dacbfb # 4.31.0 + with: + languages: javascript-typescript + config-file: ./.github/codeql/codeql-config.yml + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@4e94bd11f71e507f7f87df81788dff88d1dacbfb # 4.31.0 diff --git a/.github/workflows/continuous-releases.yml b/.github/workflows/continuous-releases.yml index 3076ff7ab379..6e4554098a81 100644 --- a/.github/workflows/continuous-releases.yml +++ b/.github/workflows/continuous-releases.yml @@ -17,6 +17,7 @@ concurrency: jobs: release: name: Continuous Releases + if: github.repository == 'facebook/docusaurus' runs-on: ubuntu-latest steps: diff --git a/.github/workflows/lint-autofix.yml b/.github/workflows/lint-autofix.yml index 527b32ab6d79..87c88368285e 100644 --- a/.github/workflows/lint-autofix.yml +++ b/.github/workflows/lint-autofix.yml @@ -46,7 +46,7 @@ jobs: run: yarn lint:spelling:fix - name: AutoFix Dependency versions - run: yarn lint:spelling:fix + run: yarn lint:syncpack:fix - name: Print Diff run: git diff diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 873fc2ef1309..861a9e10c6b6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -38,6 +38,7 @@ permissions: jobs: publish: name: Publish NPM release + if: github.repository == 'facebook/docusaurus' runs-on: ubuntu-latest steps: - name: Checkout diff --git a/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Category/index.tsx b/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Category/index.tsx index f87a0f8867f4..846cbf34f054 100644 --- a/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Category/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Category/index.tsx @@ -135,11 +135,7 @@ function CollapseButton({ } function CategoryLinkLabel({label}: {label: string}) { - return ( - - {label} - - ); + return {label}; } export default function DocSidebarItemCategory(props: Props): ReactNode { diff --git a/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Link/index.tsx b/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Link/index.tsx index 70b0d1ddae38..629b3ef7f884 100644 --- a/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Link/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Link/index.tsx @@ -17,11 +17,7 @@ import type {Props} from '@theme/DocSidebarItem/Link'; import styles from './styles.module.css'; function LinkLabel({label}: {label: string}) { - return ( - - {label} - - ); + return {label}; } export default function DocSidebarItemLink({ diff --git a/project-words.txt b/project-words.txt index 51627fb1725b..dbf4e671161c 100644 --- a/project-words.txt +++ b/project-words.txt @@ -143,6 +143,8 @@ lifecycles lightningcss Linkify linkify +llms +llmstxt longlonglonglonglonglonglonglonglonglonglonglong Lorber lorber diff --git a/website/community/2-resources.mdx b/website/community/2-resources.mdx index 0c48942355ee..9f721551c83b 100644 --- a/website/community/2-resources.mdx +++ b/website/community/2-resources.mdx @@ -52,6 +52,13 @@ See the showcase - [docusaurus-plugin-moesif](https://github.com/Moesif/docusaurus-plugin-moesif) - Adds [Moesif API Analytics](https://www.moesif.com/) to track user behavior and pinpoint where developers drop off in your activation funnel. - [docusaurus-plugin-yandex-metrica](https://github.com/sgromkov/docusaurus-plugin-yandex-metrica) - Adds [Yandex Metrika](https://metrika.yandex.ru/) counter for evaluating site traffic and analyzing user behavior. +### AI / Agents {/* #ai-agents */} + +- [docusaurus-plugin-copy-page-button](https://github.com/portdeveloper/docusaurus-plugin-copy-page-button) - Adds a "Copy page" button that exports doc pages as clean Markdown for use with ChatGPT, Claude, and Gemini. Used by Ethereum, Sui, Monad, and Flare docs. +- [docusaurus-plugin-llms](https://github.com/rachfop/docusaurus-plugin-llms) - Generates `llms.txt` and `llms-full.txt` files from your docs, following the [llmstxt.org](https://llmstxt.org/) standard. +- [docusaurus-plugin-llms-txt](https://github.com/din0s/docusaurus-plugin-llms-txt) - Generates a concatenated Markdown `llms.txt` file from your documentation. +- [expose-markdown-docusaurus-plugin](https://github.com/FlyNumber/markdown_docusaurus_plugin) - Exposes your /docs Markdown files as raw `.md` URLs (for LLM consumption). + ### Features {/* #features */} - [docusaurus-theme-github-codeblock](https://github.com/saucelabs/docusaurus-theme-github-codeblock). A Docusaurus plugin that supports referencing code examples from public GitHub repositories @@ -73,8 +80,6 @@ See the showcase - [docusaurus-i18n](https://github.com/moonrailgun/docusaurus-i18n) - Auto-translate docusaurus documents with openai. - [docusaurus-plugin-glossary](https://github.com/mcclowes/docusaurus-plugin-glossary) - A docusaurus plugin for helping users understand key terms. - [docusaurus-plugin-cookie-consent](https://github.com/mcclowes/docusaurus-plugin-cookie-consent) - A Docusaurus plugin for allowing users to opt in/out of cookies, and accessing those settings in code. -- [expose-markdown-docusaurus-plugin](https://github.com/FlyNumber/markdown_docusaurus_plugin) - A Docusaurus plugin that exposes your /docs Markdown files as raw .md URLs. (For LLM's and such). -- [docusaurus-plugin-copy-page-button](https://github.com/portdeveloper/docusaurus-plugin-copy-page-button) - Adds a "Copy page" button that exports doc pages as clean markdown for use with ChatGPT, Claude, and Gemini. Used by Ethereum, Sui, Monad, and Flare docs. ## Enterprise usage {/* #enterprise-usage */} diff --git a/yarn.lock b/yarn.lock index fec9ccbf8b7b..b37e0f170e84 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17847,9 +17847,9 @@ tmp-promise@^3.0.3: tmp "^0.2.0" tmp@^0.2.0, tmp@^0.2.1, tmp@^0.2.4, tmp@~0.2.1: - version "0.2.5" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8" - integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow== + version "0.2.7" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.7.tgz#26f4db11d1601ce8012dcb8a798ece1c06a99059" + integrity sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw== to-regex-range@^5.0.1: version "5.0.1"