diff --git a/package.json b/package.json index b938594b..b9443c40 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,8 @@ "lru-cache": "^10.2.0", "markdown-it": "^14.0.0", "markdown-it-image-figures": "^2.1.1", + "markdown-it-sub": "^2.0.0", + "markdown-it-sup": "^2.0.0", "medium-zoom": "^1.1.0", "punycode": "^2.3.1", "xss": "^1.0.15" diff --git a/packages/MdEditor/layouts/Content/composition/type.d.ts b/packages/MdEditor/layouts/Content/composition/type.d.ts index 76fad33c..7d465929 100644 --- a/packages/MdEditor/layouts/Content/composition/type.d.ts +++ b/packages/MdEditor/layouts/Content/composition/type.d.ts @@ -1,4 +1,5 @@ declare module 'markdown-it-image-figures'; declare module 'markdown-it-task-lists'; -declare module 'markdown-it-codetabs'; declare module 'markdown-it-xss'; +declare module 'markdown-it-sub'; +declare module 'markdown-it-sup'; diff --git a/packages/MdEditor/layouts/Content/composition/useMarkdownIt.ts b/packages/MdEditor/layouts/Content/composition/useMarkdownIt.ts index 71c448d3..0c6dd427 100644 --- a/packages/MdEditor/layouts/Content/composition/useMarkdownIt.ts +++ b/packages/MdEditor/layouts/Content/composition/useMarkdownIt.ts @@ -10,6 +10,8 @@ import { } from 'vue'; import mdit from 'markdown-it'; import ImageFiguresPlugin from 'markdown-it-image-figures'; +import SubPlugin from 'markdown-it-sub'; +import SupPlugin from 'markdown-it-sup'; import { debounce, randomId } from '@vavt/util'; import bus from '~/utils/event-bus'; import { generateCodeRowNumber } from '~/utils'; @@ -124,6 +126,16 @@ const useMarkdownIt = (props: ContentPreviewProps, previewOnly: boolean) => { type: 'xss', plugin: XSSPlugin, options: {} as XSSPluginType + }, + { + type: 'sub', + plugin: SubPlugin, + options: {} + }, + { + type: 'sup', + plugin: SupPlugin, + options: {} } ]; diff --git a/packages/MdEditor/utils/content-help.ts b/packages/MdEditor/utils/content-help.ts index 8ae56e23..8f966529 100644 --- a/packages/MdEditor/utils/content-help.ts +++ b/packages/MdEditor/utils/content-help.ts @@ -126,15 +126,15 @@ export const directive2flag = async ( break; } case 'sub': { - targetValue = `${selectedText}`; - deviationStart = 5; - deviationEnd = -6; + targetValue = `~${selectedText}~`; + deviationStart = 1; + deviationEnd = -1; break; } case 'sup': { - targetValue = `${selectedText}`; - deviationStart = 5; - deviationEnd = -6; + targetValue = `^${selectedText}^`; + deviationStart = 1; + deviationEnd = -1; break; } case 'codeRow': { diff --git a/yarn.lock b/yarn.lock index dfd9a904..1f63e4eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2804,6 +2804,16 @@ markdown-it-image-figures@^2.1.1: resolved "https://registry.npmjs.org/markdown-it-image-figures/-/markdown-it-image-figures-2.1.1.tgz#fd32a2d0cec60ed8c3916d74fea70d5f9b56e4c7" integrity sha512-mwXSQ2nPeVUzCMIE3HlLvjRioopiqyJLNph0pyx38yf9mpqFDhNGnMpAXF9/A2Xv0oiF2cVyg9xwfF0HNAz05g== +markdown-it-sub@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/markdown-it-sub/-/markdown-it-sub-2.0.0.tgz#10f6c7bbf2faacf71ae1a64c75009c40ef9b2c94" + integrity sha512-iCBKgwCkfQBRg2vApy9vx1C1Tu6D8XYo8NvevI3OlwzBRmiMtsJ2sXupBgEA7PPxiDwNni3qIUkhZ6j5wofDUA== + +markdown-it-sup@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/markdown-it-sup/-/markdown-it-sup-2.0.0.tgz#683b9390929f3024fcd5291799c466ce3d367f44" + integrity sha512-5VgmdKlkBd8sgXuoDoxMpiU+BiEt3I49GItBzzw7Mxq9CxvnhE/k09HFli09zgfFDRixDQDfDxi0mgBCXtaTvA== + markdown-it@^14.0.0: version "14.1.0" resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45"