diff --git a/docusaurus.config.js b/docusaurus.config.js index 78b9f03..6d658bd 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -3,6 +3,8 @@ const lightCodeTheme = require('prism-react-renderer/themes/github'); const darkCodeTheme = require('prism-react-renderer/themes/dracula'); +const math = require('remark-math'); +const katex = require('rehype-katex'); const vercel = process.env.VERCEL_ENV === 'preview'; @@ -38,6 +40,8 @@ const config = { path: 'modules', routeBasePath: 'docs', exclude: ['**/blog/**'], + remarkPlugins: [math], + rehypePlugins: [katex], sidebarPath: require.resolve('./sidebars.js'), // Please change this to your repo. // Remove this to remove the "edit this page" links. @@ -59,6 +63,8 @@ const config = { routeBasePath: 'blog', showReadingTime: false, blogSidebarCount: 'ALL', + remarkPlugins: [math], + rehypePlugins: [katex], // Please change this to your repo. // Remove this to remove the "edit this page" links. // editUrl: @@ -76,6 +82,15 @@ const config = { }), ], ], + stylesheets: [ + { + href: 'https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css', + type: 'text/css', + integrity: + 'sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM', + crossorigin: 'anonymous', + }, + ], plugins: [ 'docusaurus-plugin-sass', './plugin/postcss-tailwind-loader', diff --git a/modules/community b/modules/community index 0d0be78..117edd7 160000 --- a/modules/community +++ b/modules/community @@ -1 +1 @@ -Subproject commit 0d0be788b3235f4aa71ddc248a6964912d70c3a9 +Subproject commit 117edd72745a9d311c468f7d6f7c3347a68aa1da diff --git a/modules_i18n/community-zh b/modules_i18n/community-zh index 7f395dd..4bb2b3e 160000 --- a/modules_i18n/community-zh +++ b/modules_i18n/community-zh @@ -1 +1 @@ -Subproject commit 7f395dd1c085b4aef357644134272cf735768e2d +Subproject commit 4bb2b3e6f8fbaff8ff3a40a301caf4f0f945d1fa diff --git a/package.json b/package.json index cdce5ff..6a5538a 100644 --- a/package.json +++ b/package.json @@ -34,13 +34,16 @@ "clsx": "^1.2.1", "graphql": "^16.6.0", "graphql-request": "^6.0.0", + "hast-util-is-element": "1.1.0", "js-cookie": "^3.0.5", "prism-react-renderer": "^1.3.5", "react": "^17.0.2", "react-dom": "^17.0.2", "react-icons": "^4.6.0", "react-pdf": "^7.0.1", - "react-use": "^17.4.0" + "react-use": "^17.4.0", + "rehype-katex": "5", + "remark-math": "3" }, "devDependencies": { "@docusaurus/module-type-aliases": "2.3.1", diff --git a/yarn.lock b/yarn.lock index e764204..17c6fd2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2118,6 +2118,11 @@ dependencies: "@types/node" "*" +"@types/katex@^0.11.0": + version "0.11.1" + resolved "https://registry.npmmirror.com/@types/katex/-/katex-0.11.1.tgz#34de04477dcf79e2ef6c8d23b41a3d81f9ebeaf5" + integrity sha512-DUlIj2nk0YnJdlWgsFuVKcX27MLW0KbKmGVoUHmFr+74FYYNUDAaj9ZqTADvsbE8rfxuVmSFc7KczYn5Y09ozg== + "@types/mdast@^3.0.0": version "3.0.10" resolved "https://registry.npmmirror.com/@types/mdast/-/mdast-3.0.10.tgz" @@ -3177,7 +3182,7 @@ commander@^7.2.0: resolved "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commander@^8.3.0: +commander@^8.0.0, commander@^8.3.0: version "8.3.0" resolved "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== @@ -4644,6 +4649,11 @@ hast-util-from-parse5@^6.0.0: vfile-location "^3.2.0" web-namespaces "^1.0.0" +hast-util-is-element@1.1.0, hast-util-is-element@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz#3b3ed5159a2707c6137b48637fbfe068e175a425" + integrity sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ== + hast-util-parse-selector@^2.0.0: version "2.2.5" resolved "https://registry.npmmirror.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz" @@ -4676,6 +4686,15 @@ hast-util-to-parse5@^6.0.0: xtend "^4.0.0" zwitch "^1.0.0" +hast-util-to-text@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/hast-util-to-text/-/hast-util-to-text-2.0.1.tgz#04f2e065642a0edb08341976084aa217624a0f8b" + integrity sha512-8nsgCARfs6VkwH2jJU9b8LNTuR4700na+0h3PqCaEk4MAnMDeu5P0tP8mjk9LLNGxIeQRLbiDbZVw6rku+pYsQ== + dependencies: + hast-util-is-element "^1.0.0" + repeat-string "^1.0.0" + unist-util-find-after "^3.0.0" + hastscript@^6.0.0: version "6.0.0" resolved "https://registry.npmmirror.com/hastscript/-/hastscript-6.0.0.tgz" @@ -5304,6 +5323,13 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +katex@^0.13.0: + version "0.13.24" + resolved "https://registry.npmmirror.com/katex/-/katex-0.13.24.tgz#fe55455eb455698cb24b911a353d16a3c855d905" + integrity sha512-jZxYuKCma3VS5UuxOx/rFV1QyGSl3Uy/i0kTJF3HgQ5xMinCQVF8Zd4bMY/9aI9b9A2pjIBOsjSSm68ykTAr8w== + dependencies: + commander "^8.0.0" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.npmmirror.com/keyv/-/keyv-3.1.0.tgz" @@ -7061,6 +7087,26 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" +rehype-katex@5: + version "5.0.0" + resolved "https://registry.npmmirror.com/rehype-katex/-/rehype-katex-5.0.0.tgz#b556f24fde918f28ba1cb642ea71c7e82f3373d7" + integrity sha512-ksSuEKCql/IiIadOHiKRMjypva9BLhuwQNascMqaoGLDVd0k2NlE2wMvgZ3rpItzRKCd6vs8s7MFbb8pcR0AEg== + dependencies: + "@types/katex" "^0.11.0" + hast-util-to-text "^2.0.0" + katex "^0.13.0" + rehype-parse "^7.0.0" + unified "^9.0.0" + unist-util-visit "^2.0.0" + +rehype-parse@^7.0.0: + version "7.0.1" + resolved "https://registry.npmmirror.com/rehype-parse/-/rehype-parse-7.0.1.tgz#58900f6702b56767814afc2a9efa2d42b1c90c57" + integrity sha512-fOiR9a9xH+Le19i4fGzIEowAbwG7idy2Jzs4mOrFWBSJ0sNUgy0ev871dwWnbOo371SjgjG4pwzrbgSVrKxecw== + dependencies: + hast-util-from-parse5 "^6.0.0" + parse5 "^6.0.0" + relateurl@^0.2.7: version "0.2.7" resolved "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz" @@ -7080,6 +7126,11 @@ remark-footnotes@2.0.0: resolved "https://registry.npmmirror.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz" integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== +remark-math@3: + version "3.0.1" + resolved "https://registry.npmmirror.com/remark-math/-/remark-math-3.0.1.tgz#85a02a15b15cad34b89a27244d4887b3a95185bb" + integrity sha512-epT77R/HK0x7NqrWHdSV75uNLwn8g9qTyMqCRCDujL0vj/6T6+yhdrR7mjELWtkse+Fw02kijAaBuVcHBor1+Q== + remark-mdx@1.6.22: version "1.6.22" resolved "https://registry.npmmirror.com/remark-mdx/-/remark-mdx-1.6.22.tgz" @@ -7134,7 +7185,7 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" -repeat-string@^1.5.4: +repeat-string@^1.0.0, repeat-string@^1.5.4: version "1.6.1" resolved "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz" integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== @@ -8148,7 +8199,7 @@ unified@9.2.0: trough "^1.0.0" vfile "^4.0.0" -unified@^9.2.2: +unified@^9.0.0, unified@^9.2.2: version "9.2.2" resolved "https://registry.npmmirror.com/unified/-/unified-9.2.2.tgz" integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== @@ -8172,6 +8223,13 @@ unist-builder@2.0.3, unist-builder@^2.0.0: resolved "https://registry.npmmirror.com/unist-builder/-/unist-builder-2.0.3.tgz" integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== +unist-util-find-after@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/unist-util-find-after/-/unist-util-find-after-3.0.0.tgz#5c65fcebf64d4f8f496db46fa8fd0fbf354b43e6" + integrity sha512-ojlBqfsBftYXExNu3+hHLfJQ/X1jYY/9vdm4yZWjIbf0VuWF6CRufci1ZyoD/wV2TYMKxXUoNuoqwy+CkgzAiQ== + dependencies: + unist-util-is "^4.0.0" + unist-util-generated@^1.0.0: version "1.1.6" resolved "https://registry.npmmirror.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz"