diff --git a/README.md b/README.md index ff30f80..0785624 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,12 @@ 2. 安装,插件安装和更新方式可参考:。 3. 安装完成之后,进入文章新建页面即可在右上角编辑器切换按钮中看到 ByteMD 编辑器。 +## 常见问题 + +1. 如何支持编写数学公式 + +目前此插件已经支持编写数学公式,但需要同时安装 [plugin-katex](https://github.com/halo-sigs/plugin-katex) 插件才能够正常在编辑器预览区域渲染。另外,还需要在 KaTeX 插件设置中设置 dom 节点才能够在文章中正常渲染,可以参考: + ## 开发环境 ```bash diff --git a/console/package.json b/console/package.json index 6e8a19f..7f817da 100644 --- a/console/package.json +++ b/console/package.json @@ -12,6 +12,7 @@ }, "dependencies": { "@bytemd/plugin-gfm": "^1.20.2", + "@bytemd/plugin-math": "^1.21.0", "@bytemd/vue-next": "^1.20.2", "@halo-dev/components": "^1.1.0", "@halo-dev/console-shared": "^2.2.0", @@ -35,8 +36,8 @@ "eslint-plugin-vue": "^9.9.0", "jsdom": "^19.0.0", "npm-run-all": "^4.1.5", - "sass": "^1.58.0", "prettier": "^2.8.4", + "sass": "^1.58.0", "typescript": "~4.7.4", "vite": "^4.1.1", "vitest": "^0.24.5", diff --git a/console/pnpm-lock.yaml b/console/pnpm-lock.yaml index 69174ae..95ecbfb 100644 --- a/console/pnpm-lock.yaml +++ b/console/pnpm-lock.yaml @@ -1,9 +1,16 @@ lockfileVersion: '6.0' +settings: + autoInstallPeers: false + excludeLinksFromLockfile: false + dependencies: '@bytemd/plugin-gfm': specifier: ^1.20.2 version: 1.20.2(bytemd@1.20.2) + '@bytemd/plugin-math': + specifier: ^1.21.0 + version: 1.21.0(bytemd@1.20.2) '@bytemd/vue-next': specifier: ^1.20.2 version: 1.20.2(vue@3.2.47) @@ -435,6 +442,17 @@ packages: - supports-color dev: false + /@bytemd/plugin-math@1.21.0(bytemd@1.20.2): + resolution: {integrity: sha512-SkKTuPX8D+3x3aVRfZbCGg52mUDar54zn/cbnPY7RYqGUQRz0tSXVApC4mJxfzWpxvPnbjkmy742NVriDUoFrw==} + peerDependencies: + bytemd: ^1.5.0 + dependencies: + '@types/katex': 0.16.1 + bytemd: 1.20.2 + katex: 0.16.8 + remark-math: 5.1.1 + dev: false + /@bytemd/vue-next@1.20.2(vue@3.2.47): resolution: {integrity: sha512-DMjaB+15N0fNxsDczTIU9NLO7MIw60h2onoFmEFPw5iZJOHb6jIqOVO8kj33WrXk+M/3YqbGrUe36id40ZtQ0A==} peerDependencies: @@ -999,6 +1017,10 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true + /@types/katex@0.16.1: + resolution: {integrity: sha512-cwglq2A63Yk082CQk0t8LIoDhZAVgJqkumLyk3grpg3K8sevaDW//Qsspmxj9Sf+97biqt79CfAlPrvizHlP0w==} + dev: false + /@types/lodash-es@4.17.6: resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==} dependencies: @@ -1716,6 +1738,11 @@ packages: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true + /commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + dev: false + /concat-map@0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true @@ -3075,6 +3102,13 @@ packages: hasBin: true dev: true + /katex@0.16.8: + resolution: {integrity: sha512-ftuDnJbcbOckGY11OO+zg3OofESlbR5DRl2cmN8HeWeeFIV7wTXvAOx8kEjZjobhA+9wh2fbKeO6cdcA9Mnovg==} + hasBin: true + dependencies: + commander: 8.3.0 + dev: false + /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} @@ -3260,6 +3294,14 @@ packages: - supports-color dev: false + /mdast-util-math@2.0.2: + resolution: {integrity: sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==} + dependencies: + '@types/mdast': 3.0.10 + longest-streak: 3.1.0 + mdast-util-to-markdown: 1.4.0 + dev: false + /mdast-util-to-hast@12.2.4: resolution: {integrity: sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==} dependencies: @@ -3394,6 +3436,18 @@ packages: micromark-util-types: 1.0.2 dev: false + /micromark-extension-math@2.1.2: + resolution: {integrity: sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg==} + dependencies: + '@types/katex': 0.16.1 + katex: 0.16.8 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + /micromark-factory-destination@1.0.0: resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} dependencies: @@ -3946,6 +4000,15 @@ packages: - supports-color dev: false + /remark-math@5.1.1: + resolution: {integrity: sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==} + dependencies: + '@types/mdast': 3.0.10 + mdast-util-math: 2.0.2 + micromark-extension-math: 2.1.2 + unified: 10.1.2 + dev: false + /remark-parse@10.0.1: resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==} dependencies: diff --git a/console/src/components/bytemd.vue b/console/src/components/bytemd.vue index 2b98819..7414766 100644 --- a/console/src/components/bytemd.vue +++ b/console/src/components/bytemd.vue @@ -6,8 +6,9 @@ import gfm from "@bytemd/plugin-gfm"; import { pluginSlug, vim } from "../plugins"; import { getProcessor } from "bytemd"; import { watch, onMounted, ref } from "vue"; +import math from "@bytemd/plugin-math"; -const plugins = ref([gfm(), pluginSlug()]); +const plugins = ref([gfm(), pluginSlug(), math()]); const VimKeymap = "vim";