editor.md-next 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +32 -0
- package/dist/cdn/editormd-next.min.js +96 -0
- package/dist/cdn/index.css +2 -0
- package/dist/es/chunks/apl-BsW9fB9B.js +74 -0
- package/dist/es/chunks/asciiarmor-CZm6RLC5.js +30 -0
- package/dist/es/chunks/asn1-DBNYSAs9.js +86 -0
- package/dist/es/chunks/asterisk-XIYTp-BQ.js +63 -0
- package/dist/es/chunks/brainfuck-C03PadMX.js +26 -0
- package/dist/es/chunks/clike-QWVxZJBi.js +583 -0
- package/dist/es/chunks/clojure-DT_PY7rc.js +98 -0
- package/dist/es/chunks/cmake-DsoLxE-D.js +27 -0
- package/dist/es/chunks/cobol-CZjCUlI-.js +59 -0
- package/dist/es/chunks/coffeescript-CuHwxkgS.js +174 -0
- package/dist/es/chunks/commonlisp-CGpKWWCQ.js +90 -0
- package/dist/es/chunks/crystal-BH2tBqmL.js +159 -0
- package/dist/es/chunks/css-C6pN9rmb.js +314 -0
- package/dist/es/chunks/cypher-DknS4f0k.js +66 -0
- package/dist/es/chunks/d-zXrED2QC.js +121 -0
- package/dist/es/chunks/diff-Ca3g43eR.js +15 -0
- package/dist/es/chunks/dist-9Y-Blrkp.js +118 -0
- package/dist/es/chunks/dist-B0cBTTiS.js +408 -0
- package/dist/es/chunks/dist-BX9Ur1J1.js +74 -0
- package/dist/es/chunks/dist-BmAxhg3z.js +555 -0
- package/dist/es/chunks/dist-C6c_aHTh.js +269 -0
- package/dist/es/chunks/dist-CGdw3vqm.js +429 -0
- package/dist/es/chunks/dist-CNbWaVYs.js +11572 -0
- package/dist/es/chunks/dist-CR-jmTSB.js +1338 -0
- package/dist/es/chunks/dist-CahNaXTc.js +388 -0
- package/dist/es/chunks/dist-CeqtAM8-.js +438 -0
- package/dist/es/chunks/dist-Clo-Jkvm.js +291 -0
- package/dist/es/chunks/dist-Cpw9AD2K.js +372 -0
- package/dist/es/chunks/dist-Ct5FNAAH.js +406 -0
- package/dist/es/chunks/dist-D0OW86fR.js +605 -0
- package/dist/es/chunks/dist-DAlgXLzd.js +110 -0
- package/dist/es/chunks/dist-DL-UifMi.js +744 -0
- package/dist/es/chunks/dist-DQadNG25.js +523 -0
- package/dist/es/chunks/dist-DlAXkWGE.js +67 -0
- package/dist/es/chunks/dist-DoThxrrR.js +371 -0
- package/dist/es/chunks/dist-DrwgGib-.js +377 -0
- package/dist/es/chunks/dist-P5rAF7pi.js +197 -0
- package/dist/es/chunks/dist-fTCYxiV-.js +355 -0
- package/dist/es/chunks/dockerfile-BZSDl6MT.js +196 -0
- package/dist/es/chunks/dtd-DzUNfrcJ.js +77 -0
- package/dist/es/chunks/dylan-CFjlscB1.js +186 -0
- package/dist/es/chunks/ebnf-Vn9hWL1o.js +67 -0
- package/dist/es/chunks/ecl-CbjLeBF5.js +105 -0
- package/dist/es/chunks/eiffel-Dmm3m78y.js +49 -0
- package/dist/es/chunks/elm-CSe2F7PE.js +85 -0
- package/dist/es/chunks/erlang-D6YOoBpM.js +321 -0
- package/dist/es/chunks/factor-DAqyQvq1.js +165 -0
- package/dist/es/chunks/fcl-BZA_wXmw.js +99 -0
- package/dist/es/chunks/forth-MNc4axOK.js +45 -0
- package/dist/es/chunks/fortran-auI4bdzC.js +40 -0
- package/dist/es/chunks/gas-CZDp8wLI.js +167 -0
- package/dist/es/chunks/gherkin-B12NX28O.js +29 -0
- package/dist/es/chunks/groovy-CBShT4in.js +143 -0
- package/dist/es/chunks/haskell-DQf5nq2l.js +85 -0
- package/dist/es/chunks/haxe-CBKywepX.js +351 -0
- package/dist/es/chunks/http-B-vrcJu5.js +43 -0
- package/dist/es/chunks/idl-kztl-rIS.js +41 -0
- package/dist/es/chunks/javascript-COVyUmNV.js +636 -0
- package/dist/es/chunks/julia-C7x1UmUy.js +173 -0
- package/dist/es/chunks/livescript-BcSQznfC.js +250 -0
- package/dist/es/chunks/lua-CuzOmeFy.js +104 -0
- package/dist/es/chunks/mathematica-C_8O0eBN.js +37 -0
- package/dist/es/chunks/mbox-CgRq7o1s.js +65 -0
- package/dist/es/chunks/mirc-46fAnY_I.js +61 -0
- package/dist/es/chunks/mllike-DwngWEOH.js +260 -0
- package/dist/es/chunks/modelica-CLh6SOPZ.js +82 -0
- package/dist/es/chunks/mscgen-CqCKoWqr.js +287 -0
- package/dist/es/chunks/mumps-CTaGGpGh.js +24 -0
- package/dist/es/chunks/nginx-D8_Tx5a5.js +76 -0
- package/dist/es/chunks/nsis-LQ_3myBa.js +143 -0
- package/dist/es/chunks/ntriples-C8_f-qnr.js +76 -0
- package/dist/es/chunks/octave-Bg8pIvq8.js +40 -0
- package/dist/es/chunks/oz-fY6iPhaV.js +151 -0
- package/dist/es/chunks/pascal-yJGuSy92.js +66 -0
- package/dist/es/chunks/perl-Cp3_dIJp.js +626 -0
- package/dist/es/chunks/pig-Dp8CFFHM.js +49 -0
- package/dist/es/chunks/powershell-CFKKqebC.js +233 -0
- package/dist/es/chunks/properties-bVaZpKhj.js +19 -0
- package/dist/es/chunks/protobuf-CJ_NuiRp.js +14 -0
- package/dist/es/chunks/pug-CNVrzrF7.js +202 -0
- package/dist/es/chunks/puppet-DFrFlsRb.js +37 -0
- package/dist/es/chunks/python-DDOdLHWp.js +219 -0
- package/dist/es/chunks/q-CfAEY3XK.js +82 -0
- package/dist/es/chunks/r-D33f5qKA.js +133 -0
- package/dist/es/chunks/rolldown-runtime-QGRDbDUS.js +19 -0
- package/dist/es/chunks/rpm-KA2CbYVz.js +39 -0
- package/dist/es/chunks/ruby-DkaeL5UR.js +165 -0
- package/dist/es/chunks/sas-BMhoxqFi.js +73 -0
- package/dist/es/chunks/scheme-DiiFnhTV.js +116 -0
- package/dist/es/chunks/shell-BkraTAet.js +108 -0
- package/dist/es/chunks/sieve-CO0RsW8J.js +59 -0
- package/dist/es/chunks/simple-mode-DwMrk-pB.js +95 -0
- package/dist/es/chunks/smalltalk-susA3LoJ.js +43 -0
- package/dist/es/chunks/solr-Dyiozr6d.js +36 -0
- package/dist/es/chunks/sparql-svcWfrig.js +78 -0
- package/dist/es/chunks/spreadsheet-D64TPnFY.js +48 -0
- package/dist/es/chunks/sql-iy-in7fW.js +254 -0
- package/dist/es/chunks/stex-CK4iWXBq.js +108 -0
- package/dist/es/chunks/stylus-Bla1TtoF.js +281 -0
- package/dist/es/chunks/swift-BfLWtovc.js +158 -0
- package/dist/es/chunks/tcl-Cqsx32oK.js +71 -0
- package/dist/es/chunks/textile-CP9LptjR.js +215 -0
- package/dist/es/chunks/tiddlywiki-Ta-GM0jK.js +129 -0
- package/dist/es/chunks/tiki-CX4cONcl.js +160 -0
- package/dist/es/chunks/toml-BvD52WqI.js +27 -0
- package/dist/es/chunks/troff-CQ9EHWHs.js +29 -0
- package/dist/es/chunks/ttcn-DvhS_Gkc.js +117 -0
- package/dist/es/chunks/ttcn-cfg-GQi0YvSM.js +80 -0
- package/dist/es/chunks/turtle-VdGQLPpt.js +78 -0
- package/dist/es/chunks/vb-CPJS1Nrj.js +108 -0
- package/dist/es/chunks/vbscript-DEYreBb1.js +208 -0
- package/dist/es/chunks/velocity-BzjrTOAF.js +89 -0
- package/dist/es/chunks/verilog-Bc3Yq1WU.js +218 -0
- package/dist/es/chunks/vhdl-BD6jHQjr.js +102 -0
- package/dist/es/chunks/webidl-C5YO-ffA.js +102 -0
- package/dist/es/chunks/xquery-ugZJVSaq.js +204 -0
- package/dist/es/chunks/yacas-tAOeQ6Ok.js +72 -0
- package/dist/es/chunks/z80-DZa7RpgS.js +43 -0
- package/dist/es/index.js +18912 -0
- package/dist/iife/index.iife.js +96 -0
- package/dist/index.css +2 -0
- package/dist/types/cm/create-view.d.ts +19 -0
- package/dist/types/cm/create-view.d.ts.map +1 -0
- package/dist/types/cm/shortcuts.d.ts +11 -0
- package/dist/types/cm/shortcuts.d.ts.map +1 -0
- package/dist/types/cm/themes.d.ts +5 -0
- package/dist/types/cm/themes.d.ts.map +1 -0
- package/dist/types/defaults.d.ts +5 -0
- package/dist/types/defaults.d.ts.map +1 -0
- package/dist/types/dialogs/code.d.ts +5 -0
- package/dist/types/dialogs/code.d.ts.map +1 -0
- package/dist/types/dialogs/data/html-entities-data.d.ts +9 -0
- package/dist/types/dialogs/data/html-entities-data.d.ts.map +1 -0
- package/dist/types/dialogs/dialog.d.ts +37 -0
- package/dist/types/dialogs/dialog.d.ts.map +1 -0
- package/dist/types/dialogs/emoji.d.ts +4 -0
- package/dist/types/dialogs/emoji.d.ts.map +1 -0
- package/dist/types/dialogs/entities.d.ts +4 -0
- package/dist/types/dialogs/entities.d.ts.map +1 -0
- package/dist/types/dialogs/form.d.ts +12 -0
- package/dist/types/dialogs/form.d.ts.map +1 -0
- package/dist/types/dialogs/image.d.ts +4 -0
- package/dist/types/dialogs/image.d.ts.map +1 -0
- package/dist/types/dialogs/link.d.ts +6 -0
- package/dist/types/dialogs/link.d.ts.map +1 -0
- package/dist/types/dialogs/misc.d.ts +6 -0
- package/dist/types/dialogs/misc.d.ts.map +1 -0
- package/dist/types/dialogs/registry.d.ts +8 -0
- package/dist/types/dialogs/registry.d.ts.map +1 -0
- package/dist/types/dialogs/table.d.ts +4 -0
- package/dist/types/dialogs/table.d.ts.map +1 -0
- package/dist/types/editor.d.ts +105 -0
- package/dist/types/editor.d.ts.map +1 -0
- package/dist/types/features/paste-drop.d.ts +4 -0
- package/dist/types/features/paste-drop.d.ts.map +1 -0
- package/dist/types/features/view-modes.d.ts +8 -0
- package/dist/types/features/view-modes.d.ts.map +1 -0
- package/dist/types/i18n/en.d.ts +3 -0
- package/dist/types/i18n/en.d.ts.map +1 -0
- package/dist/types/i18n/index.d.ts +9 -0
- package/dist/types/i18n/index.d.ts.map +1 -0
- package/dist/types/i18n/zh-cn.d.ts +3 -0
- package/dist/types/i18n/zh-cn.d.ts.map +1 -0
- package/dist/types/i18n/zh-tw.d.ts +3 -0
- package/dist/types/i18n/zh-tw.d.ts.map +1 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lifecycle/layout.d.ts +11 -0
- package/dist/types/lifecycle/layout.d.ts.map +1 -0
- package/dist/types/lifecycle/mount.d.ts +12 -0
- package/dist/types/lifecycle/mount.d.ts.map +1 -0
- package/dist/types/markdown/cdn-lazy.d.ts +29 -0
- package/dist/types/markdown/cdn-lazy.d.ts.map +1 -0
- package/dist/types/markdown/data/emoji-data.d.ts +13 -0
- package/dist/types/markdown/data/emoji-data.d.ts.map +1 -0
- package/dist/types/markdown/engine.d.ts +18 -0
- package/dist/types/markdown/engine.d.ts.map +1 -0
- package/dist/types/markdown/engine.test.d.ts +2 -0
- package/dist/types/markdown/engine.test.d.ts.map +1 -0
- package/dist/types/markdown/highlight.d.ts +9 -0
- package/dist/types/markdown/highlight.d.ts.map +1 -0
- package/dist/types/markdown/plugin-emoji.d.ts +12 -0
- package/dist/types/markdown/plugin-emoji.d.ts.map +1 -0
- package/dist/types/markdown/plugin-fence.d.ts +3 -0
- package/dist/types/markdown/plugin-fence.d.ts.map +1 -0
- package/dist/types/markdown/plugin-misc.d.ts +9 -0
- package/dist/types/markdown/plugin-misc.d.ts.map +1 -0
- package/dist/types/markdown/plugin-tasks.d.ts +4 -0
- package/dist/types/markdown/plugin-tasks.d.ts.map +1 -0
- package/dist/types/markdown/plugin-tex.d.ts +3 -0
- package/dist/types/markdown/plugin-tex.d.ts.map +1 -0
- package/dist/types/markdown/plugin-toc.d.ts +18 -0
- package/dist/types/markdown/plugin-toc.d.ts.map +1 -0
- package/dist/types/normalize.d.ts +3 -0
- package/dist/types/normalize.d.ts.map +1 -0
- package/dist/types/preview/pane.d.ts +9 -0
- package/dist/types/preview/pane.d.ts.map +1 -0
- package/dist/types/preview/post-render.d.ts +19 -0
- package/dist/types/preview/post-render.d.ts.map +1 -0
- package/dist/types/preview/sync-scroll.d.ts +13 -0
- package/dist/types/preview/sync-scroll.d.ts.map +1 -0
- package/dist/types/preview/toc.d.ts +15 -0
- package/dist/types/preview/toc.d.ts.map +1 -0
- package/dist/types/render-to.d.ts +3 -0
- package/dist/types/render-to.d.ts.map +1 -0
- package/dist/types/toolbar/handlers.d.ts +4 -0
- package/dist/types/toolbar/handlers.d.ts.map +1 -0
- package/dist/types/toolbar/icons.d.ts +5 -0
- package/dist/types/toolbar/icons.d.ts.map +1 -0
- package/dist/types/toolbar/modes.d.ts +20 -0
- package/dist/types/toolbar/modes.d.ts.map +1 -0
- package/dist/types/toolbar/toolbar.d.ts +16 -0
- package/dist/types/toolbar/toolbar.d.ts.map +1 -0
- package/dist/types/types/common.d.ts +7 -0
- package/dist/types/types/common.d.ts.map +1 -0
- package/dist/types/types/events.d.ts +38 -0
- package/dist/types/types/events.d.ts.map +1 -0
- package/dist/types/types/lang.d.ts +95 -0
- package/dist/types/types/lang.d.ts.map +1 -0
- package/dist/types/types/settings.d.ts +170 -0
- package/dist/types/types/settings.d.ts.map +1 -0
- package/dist/umd/index.umd.cjs +96 -0
- package/package.json +69 -3
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-tasks.d.ts","sourceRoot":"","sources":["../../../src/markdown/plugin-tasks.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAI/D,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,CA0CnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-tex.d.ts","sourceRoot":"","sources":["../../../src/markdown/plugin-tex.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAI/D,wBAAgB,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,CAyC9C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [TOC] / [TOCM] 目录插件 + 标题锚点。
|
|
3
|
+
* - core 规则在块解析后收集标题(生成 slug 并设置 id),渲染 [TOC]/[TOCM] 占位符;
|
|
4
|
+
* - 真正的目录 DOM 在 post-render 阶段填充(见 preview/toc.ts)。
|
|
5
|
+
*/
|
|
6
|
+
import { Slugger } from '@editormd-next/utils';
|
|
7
|
+
import type { MarkdownIt } from 'markdown-it';
|
|
8
|
+
export interface TocItem {
|
|
9
|
+
text: string;
|
|
10
|
+
level: number;
|
|
11
|
+
slug: string;
|
|
12
|
+
}
|
|
13
|
+
export interface TocEnv {
|
|
14
|
+
slugger: Slugger;
|
|
15
|
+
tocItems: TocItem[];
|
|
16
|
+
}
|
|
17
|
+
export declare function tocPlugin(md: MarkdownIt): void;
|
|
18
|
+
//# sourceMappingURL=plugin-toc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-toc.d.ts","sourceRoot":"","sources":["../../../src/markdown/plugin-toc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAE/D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAmBD,wBAAgB,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,CA6C9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/normalize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAc,MAAM,kBAAkB,CAAA;AAqBpF,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,iBAAsB,GAAG,aAAa,CAoC7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pane.d.ts","sourceRoot":"","sources":["../../../src/preview/pane.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAW;IACtB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAA;IAExB,YAAY,MAAM,EAAE,WAAW,EAK9B;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGzB;IAED,yBAAyB;IACzB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGjC;IAED,YAAY,IAAI,MAAM,CAGrB;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CdnConfig } from '../types/settings';
|
|
2
|
+
import type { TocItem } from '../markdown/plugin-toc';
|
|
3
|
+
export interface PostRenderOptions {
|
|
4
|
+
toc: TocItem[];
|
|
5
|
+
tocTitle: string;
|
|
6
|
+
tocTitleFallback: string;
|
|
7
|
+
tocStartLevel: number;
|
|
8
|
+
tocDropdown: boolean;
|
|
9
|
+
tocContainer?: string;
|
|
10
|
+
codeHighlight: boolean;
|
|
11
|
+
darkPreview: boolean;
|
|
12
|
+
/** 重依赖开关(markdown.tex / mermaid / mindmap) */
|
|
13
|
+
renderTex: boolean;
|
|
14
|
+
renderMermaid: boolean;
|
|
15
|
+
renderMindmap: boolean;
|
|
16
|
+
cdn: CdnConfig;
|
|
17
|
+
}
|
|
18
|
+
export declare function postRenderPreview(container: HTMLElement, options: PostRenderOptions): void;
|
|
19
|
+
//# sourceMappingURL=post-render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-render.d.ts","sourceRoot":"","sources":["../../../src/preview/post-render.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAGrD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,OAAO,EAAE,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;IACtB,WAAW,EAAE,OAAO,CAAA;IACpB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,aAAa,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,SAAS,CAAA;CACf;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAkB1F"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { EditorView } from '@codemirror/view';
|
|
2
|
+
import type { PreviewPane } from './pane';
|
|
3
|
+
export interface ScrollSyncOptions {
|
|
4
|
+
/** true=双向;'single'=仅编辑器→预览 */
|
|
5
|
+
mode: boolean | 'single';
|
|
6
|
+
onScroll?: (ratio: number) => void;
|
|
7
|
+
onPreviewScroll?: (ratio: number) => void;
|
|
8
|
+
}
|
|
9
|
+
export interface ScrollSyncHandle {
|
|
10
|
+
destroy(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare function bindScrollSync(view: EditorView, preview: PreviewPane, options: ScrollSyncOptions): ScrollSyncHandle;
|
|
13
|
+
//# sourceMappingURL=sync-scroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-scroll.d.ts","sourceRoot":"","sources":["../../../src/preview/sync-scroll.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEzC,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,IAAI,IAAI,CAAA;CAChB;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAiCnH"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** 目录渲染:把 TocItem[] 填入 [TOC] 占位符 / 外部容器 / 下拉菜单。 */
|
|
2
|
+
import type { TocItem } from '../markdown/plugin-toc';
|
|
3
|
+
export interface TocRenderOptions {
|
|
4
|
+
/** 空串则使用 i18n 的 tocTitle */
|
|
5
|
+
title: string;
|
|
6
|
+
startLevel: number;
|
|
7
|
+
/** 下拉菜单形态([TOCM]) */
|
|
8
|
+
dropdown: boolean;
|
|
9
|
+
/** 渲染到预览区之外的 selector */
|
|
10
|
+
container?: string;
|
|
11
|
+
tocTitleFallback: string;
|
|
12
|
+
}
|
|
13
|
+
/** 渲染目录;返回实际挂载的元素(或 null) */
|
|
14
|
+
export declare function renderToc(items: TocItem[], options: TocRenderOptions): HTMLElement | null;
|
|
15
|
+
//# sourceMappingURL=toc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toc.d.ts","sourceRoot":"","sources":["../../../src/preview/toc.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAErD,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,qBAAqB;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAqCD,6BAA6B;AAC7B,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,WAAW,GAAG,IAAI,CAgBzF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-to.d.ts","sourceRoot":"","sources":["../../src/render-to.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,OAAO,GAAE,iBAAsB,GAAG,WAAW,CA0BnG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/toolbar/handlers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAsEvD,yBAAyB;AACzB,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA+C1D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/toolbar/icons.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmC/C,CAAA;AAED,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAO7C,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** 工具栏模式定义:full / simple / mini(对齐原版 editormd.toolbarModes)。 */
|
|
2
|
+
export type ToolbarModeName = 'full' | 'simple' | 'mini';
|
|
3
|
+
export declare const TOOLBAR_MODES: Record<ToolbarModeName, string[]>;
|
|
4
|
+
export interface DropdownSpec {
|
|
5
|
+
kind: 'dropdown';
|
|
6
|
+
/** 下拉组标题(i18n key 或原样文本) */
|
|
7
|
+
title: string;
|
|
8
|
+
children: string[];
|
|
9
|
+
}
|
|
10
|
+
export interface ParsedToolbarItem {
|
|
11
|
+
kind: 'button' | 'divider' | 'spacer' | 'dropdown';
|
|
12
|
+
name?: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
children?: string[];
|
|
15
|
+
}
|
|
16
|
+
/** 解析工具栏项:'名称' | '|' | '||' | 'dropdown:Title:a,b,c' | 'dropdownIcon:Title:a,b,c' */
|
|
17
|
+
export declare function parseToolbarItem(item: string): ParsedToolbarItem;
|
|
18
|
+
/** 把模式名/自定义数组解析为完整项列表 */
|
|
19
|
+
export declare function resolveToolbarSpec(spec: string | string[]): ParsedToolbarItem[];
|
|
20
|
+
//# sourceMappingURL=modes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../../src/toolbar/modes.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAExD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAuB3D,CAAA;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAA;IAChB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAA;IAClD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAahE;AAED,yBAAyB;AACzB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAG/E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { EditorMD } from '../editor';
|
|
2
|
+
export declare class Toolbar {
|
|
3
|
+
readonly el: HTMLElement;
|
|
4
|
+
private editor;
|
|
5
|
+
private unbinds;
|
|
6
|
+
constructor(editor: EditorMD, slot: HTMLElement);
|
|
7
|
+
/** 按当前 spec 渲染菜单 */
|
|
8
|
+
render(): void;
|
|
9
|
+
/** watch 状态切换后同步图标/标题 */
|
|
10
|
+
syncWatchState(): void;
|
|
11
|
+
destroy(): void;
|
|
12
|
+
private titleFor;
|
|
13
|
+
private renderItem;
|
|
14
|
+
private bindClicks;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=toolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../src/toolbar/toolbar.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAczC,qBAAa,OAAO;IAClB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAA;IACxB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAwB;IAEvC,YAAY,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAO9C;IAED,oBAAoB;IACpB,MAAM,IAAI,IAAI,CAcb;IAED,yBAAyB;IACzB,cAAc,IAAI,IAAI,CAUrB;IAED,OAAO,IAAI,IAAI,CAId;IAID,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,UAAU;IAgDlB,OAAO,CAAC,UAAU;CAkBnB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** 通用类型定义。 */
|
|
2
|
+
export type ThemeName = 'default' | 'dark';
|
|
3
|
+
export type I18nCode = 'zh-cn' | 'en' | 'zh-tw';
|
|
4
|
+
export type WidthOrHeight = string | number;
|
|
5
|
+
/** CSS 主题类名前缀(编辑器根元素 class) */
|
|
6
|
+
export declare const CLASS_PREFIX = "editormd-next";
|
|
7
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;AAC1C,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAA;AAC/C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAE3C,+BAA+B;AAC/B,eAAO,MAAM,YAAY,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** 编辑器事件映射(emit/on 的类型来源)。 */
|
|
2
|
+
export interface EditorEvents {
|
|
3
|
+
/** 编辑器初始化完成 */
|
|
4
|
+
load: undefined;
|
|
5
|
+
/** 内容变化(防抖后触发;即渲染管线完成时) */
|
|
6
|
+
change: {
|
|
7
|
+
markdown: string;
|
|
8
|
+
html: string;
|
|
9
|
+
};
|
|
10
|
+
/** CM 原始变化(防抖前,实时触发) */
|
|
11
|
+
input: undefined;
|
|
12
|
+
/** 布局重算 */
|
|
13
|
+
resize: {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
};
|
|
17
|
+
/** 进入实况预览(分屏) */
|
|
18
|
+
watch: undefined;
|
|
19
|
+
/** 退出实况预览(仅编辑器) */
|
|
20
|
+
unwatch: undefined;
|
|
21
|
+
/** 进入全预览模式 */
|
|
22
|
+
previewEnter: undefined;
|
|
23
|
+
/** 退出全预览模式 */
|
|
24
|
+
previewExit: undefined;
|
|
25
|
+
/** 进入全屏 */
|
|
26
|
+
fullscreenEnter: undefined;
|
|
27
|
+
/** 退出全屏 */
|
|
28
|
+
fullscreenExit: undefined;
|
|
29
|
+
/** 编辑器滚动(ratio: 0~1) */
|
|
30
|
+
scroll: {
|
|
31
|
+
ratio: number;
|
|
32
|
+
};
|
|
33
|
+
/** 预览区滚动 */
|
|
34
|
+
previewScroll: {
|
|
35
|
+
ratio: number;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/types/events.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,IAAI,EAAE,SAAS,CAAA;IACf,2BAA2B;IAC3B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,wBAAwB;IACxB,KAAK,EAAE,SAAS,CAAA;IAChB,WAAW;IACX,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,iBAAiB;IACjB,KAAK,EAAE,SAAS,CAAA;IAChB,mBAAmB;IACnB,OAAO,EAAE,SAAS,CAAA;IAClB,cAAc;IACd,YAAY,EAAE,SAAS,CAAA;IACvB,cAAc;IACd,WAAW,EAAE,SAAS,CAAA;IACtB,WAAW;IACX,eAAe,EAAE,SAAS,CAAA;IAC1B,WAAW;IACX,cAAc,EAAE,SAAS,CAAA;IACzB,wBAAwB;IACxB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACzB,YAAY;IACZ,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACjC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/** 语言字典类型。三套内置语言(zh-cn / en / zh-tw)均实现此结构。 */
|
|
2
|
+
export interface LangButtons {
|
|
3
|
+
enter: string;
|
|
4
|
+
cancel: string;
|
|
5
|
+
close: string;
|
|
6
|
+
}
|
|
7
|
+
export interface LangLinkDialog {
|
|
8
|
+
title: string;
|
|
9
|
+
url: string;
|
|
10
|
+
urlTitle: string;
|
|
11
|
+
/** 引用链接的标识名(仅 referenceLink 使用) */
|
|
12
|
+
label?: string;
|
|
13
|
+
urlEmpty: string;
|
|
14
|
+
}
|
|
15
|
+
export interface LangImageDialog {
|
|
16
|
+
title: string;
|
|
17
|
+
/** 上传 Tab 内的说明文字(无上传场景可空串) */
|
|
18
|
+
url: string;
|
|
19
|
+
urlTitle: string;
|
|
20
|
+
link: string;
|
|
21
|
+
alt: string;
|
|
22
|
+
uploadButton: string;
|
|
23
|
+
imageURLEmpty: string;
|
|
24
|
+
uploadFileEmpty: string;
|
|
25
|
+
formatNotAllowed: string;
|
|
26
|
+
}
|
|
27
|
+
export interface LangCodeBlockDialog {
|
|
28
|
+
title: string;
|
|
29
|
+
selectLabel: string;
|
|
30
|
+
selectDefaultText: string;
|
|
31
|
+
unselectedLanguageAlert: string;
|
|
32
|
+
codeEmptyAlert: string;
|
|
33
|
+
placeholder: string;
|
|
34
|
+
}
|
|
35
|
+
export interface LangPreformattedTextDialog {
|
|
36
|
+
title: string;
|
|
37
|
+
placeholder: string;
|
|
38
|
+
emptyAlert: string;
|
|
39
|
+
}
|
|
40
|
+
export interface LangTableDialog {
|
|
41
|
+
title: string;
|
|
42
|
+
rowsLabel: string;
|
|
43
|
+
colsLabel: string;
|
|
44
|
+
alignLabel: string;
|
|
45
|
+
alignLeft: string;
|
|
46
|
+
alignCenter: string;
|
|
47
|
+
alignRight: string;
|
|
48
|
+
}
|
|
49
|
+
export interface LangEmojiDialog {
|
|
50
|
+
title: string;
|
|
51
|
+
github: string;
|
|
52
|
+
twemoji: string;
|
|
53
|
+
fontAwesome: string;
|
|
54
|
+
logo: string;
|
|
55
|
+
}
|
|
56
|
+
export interface LangGotoLineDialog {
|
|
57
|
+
title: string;
|
|
58
|
+
label: string;
|
|
59
|
+
invalid: string;
|
|
60
|
+
}
|
|
61
|
+
export interface LangInfoDialog {
|
|
62
|
+
title: string;
|
|
63
|
+
description: string;
|
|
64
|
+
homepage: string;
|
|
65
|
+
version: string;
|
|
66
|
+
}
|
|
67
|
+
export interface LangDict {
|
|
68
|
+
name: string;
|
|
69
|
+
description: string;
|
|
70
|
+
/** 目录标题 */
|
|
71
|
+
tocTitle: string;
|
|
72
|
+
/** 工具栏按钮提示文字(含快捷键说明) */
|
|
73
|
+
toolbar: Record<string, string>;
|
|
74
|
+
/** CM6 搜索面板短语(key 与 @codemirror/search phrases 一致) */
|
|
75
|
+
search: Record<string, string>;
|
|
76
|
+
buttons: LangButtons;
|
|
77
|
+
dialog: {
|
|
78
|
+
link: LangLinkDialog;
|
|
79
|
+
referenceLink: LangLinkDialog;
|
|
80
|
+
image: LangImageDialog;
|
|
81
|
+
codeBlock: LangCodeBlockDialog;
|
|
82
|
+
preformattedText: LangPreformattedTextDialog;
|
|
83
|
+
table: LangTableDialog;
|
|
84
|
+
emoji: LangEmojiDialog;
|
|
85
|
+
htmlEntities: {
|
|
86
|
+
title: string;
|
|
87
|
+
};
|
|
88
|
+
gotoLine: LangGotoLineDialog;
|
|
89
|
+
help: {
|
|
90
|
+
title: string;
|
|
91
|
+
};
|
|
92
|
+
info: LangInfoDialog;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=lang.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../../src/types/lang.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/** 编辑器配置类型:分组结构、解析前(User)与解析后(完整)两套。 */
|
|
2
|
+
import type { Extension } from '@codemirror/state';
|
|
3
|
+
import type { MarkdownIt } from 'markdown-it';
|
|
4
|
+
import type { I18nCode, ThemeName, WidthOrHeight } from './common';
|
|
5
|
+
import type { EditorEvents } from './events';
|
|
6
|
+
import type { LangDict } from './lang';
|
|
7
|
+
export type MarkdownItPlugin = (md: MarkdownIt) => void;
|
|
8
|
+
/** 编辑区(CodeMirror)配置 */
|
|
9
|
+
export interface EditorSectionConfig {
|
|
10
|
+
/** 内置 default/dark,或直接注入 CM6 theme 扩展 */
|
|
11
|
+
theme: ThemeName | Extension;
|
|
12
|
+
fontSize: string;
|
|
13
|
+
fontFamily: string;
|
|
14
|
+
lineNumbers: boolean;
|
|
15
|
+
lineWrapping: boolean;
|
|
16
|
+
tabSize: number;
|
|
17
|
+
indentWithTabs: boolean;
|
|
18
|
+
readOnly: boolean;
|
|
19
|
+
autoFocus: boolean;
|
|
20
|
+
/** 高度自适应内容(预览侧同高) */
|
|
21
|
+
autoHeight: boolean;
|
|
22
|
+
activeLine: boolean;
|
|
23
|
+
closeBrackets: boolean;
|
|
24
|
+
/** 禁用的快捷键(如 F9 / Mod-b) */
|
|
25
|
+
disabledKeys: string[];
|
|
26
|
+
/** 额外注入 CM6 扩展(高级用法) */
|
|
27
|
+
extensions: Extension[];
|
|
28
|
+
}
|
|
29
|
+
/** 预览区配置 */
|
|
30
|
+
export interface PreviewSectionConfig {
|
|
31
|
+
enable: boolean;
|
|
32
|
+
theme: ThemeName;
|
|
33
|
+
/** 编辑器↔预览同步滚动;'single' 表示仅编辑器→预览 */
|
|
34
|
+
syncScroll: boolean | 'single';
|
|
35
|
+
/** 内容变化到重渲染的防抖毫秒数 */
|
|
36
|
+
delay: number;
|
|
37
|
+
/** 同步 HTML 到隐藏 textarea(需 name) */
|
|
38
|
+
saveHtml: boolean;
|
|
39
|
+
/** 预览代码高亮(hljs) */
|
|
40
|
+
codeHighlight: boolean;
|
|
41
|
+
}
|
|
42
|
+
export type ToolbarMode = 'full' | 'simple' | 'mini';
|
|
43
|
+
/** '|' 分隔线;'||' 之后右对齐;'dropdown:Name:a,b,c' 下拉组 */
|
|
44
|
+
export type ToolbarItem = string;
|
|
45
|
+
export type ToolbarSpec = ToolbarMode | ToolbarItem[];
|
|
46
|
+
export type ToolbarHandler = (editor: import('../editor').EditorMD) => void;
|
|
47
|
+
export interface ToolbarConfig {
|
|
48
|
+
enable: boolean;
|
|
49
|
+
spec: ToolbarSpec;
|
|
50
|
+
/** 页面滚动时工具栏吸顶 */
|
|
51
|
+
autoFixed: boolean;
|
|
52
|
+
/** 覆盖/新增 FontAwesome 图标类名 */
|
|
53
|
+
icons: Record<string, string>;
|
|
54
|
+
/** 覆盖按钮提示文字(在 i18n 之上) */
|
|
55
|
+
titles: Record<string, string>;
|
|
56
|
+
/** 自定义按钮动作 */
|
|
57
|
+
handlers: Record<string, ToolbarHandler>;
|
|
58
|
+
/** 用 HTML 片段替换默认图标 */
|
|
59
|
+
customIcons: Record<string, string>;
|
|
60
|
+
}
|
|
61
|
+
export interface TocOptions {
|
|
62
|
+
enable: boolean;
|
|
63
|
+
/** 空串则使用 i18n.tocTitle */
|
|
64
|
+
title: string;
|
|
65
|
+
/** 1~6,目录包含的最小标题级别 */
|
|
66
|
+
startLevel: number;
|
|
67
|
+
/** 目录以下拉菜单形式渲染 */
|
|
68
|
+
dropdown: boolean;
|
|
69
|
+
/** 目录渲染到指定 selector(预览区之外) */
|
|
70
|
+
container?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface MarkdownConfig {
|
|
73
|
+
toc: TocOptions;
|
|
74
|
+
taskList: boolean;
|
|
75
|
+
emoji: boolean;
|
|
76
|
+
/** `:name:` github 风格 emoji 图片目录(路径 + name + .png) */
|
|
77
|
+
emojiGithubPath: string;
|
|
78
|
+
/** `:tw-code:` twemoji 图片目录(路径 + code + .png) */
|
|
79
|
+
emojiTwemojiPath: string;
|
|
80
|
+
/** KaTeX 数学公式(CDN 懒加载) */
|
|
81
|
+
tex: boolean;
|
|
82
|
+
/** ```mermaid 代码块(CDN 懒加载) */
|
|
83
|
+
mermaid: boolean;
|
|
84
|
+
/** ```mindmap 代码块(markmap,CDN 懒加载) */
|
|
85
|
+
mindmap: boolean;
|
|
86
|
+
/** [info]/[warning] 等 callout 引用块 */
|
|
87
|
+
callouts: boolean;
|
|
88
|
+
/** [========] 分页符 */
|
|
89
|
+
pageBreak: boolean;
|
|
90
|
+
/** @user → github 链接 */
|
|
91
|
+
atLink: boolean;
|
|
92
|
+
/** 邮箱自动链接 */
|
|
93
|
+
emailLink: boolean;
|
|
94
|
+
/** 允许预览中保留原生 HTML */
|
|
95
|
+
htmlDecode: boolean;
|
|
96
|
+
/** DOMPurify 消毒(建议始终开启) */
|
|
97
|
+
sanitize: boolean;
|
|
98
|
+
/** 追加用户 markdown-it 插件 */
|
|
99
|
+
use: MarkdownItPlugin[];
|
|
100
|
+
}
|
|
101
|
+
export interface UploadConfig {
|
|
102
|
+
image: boolean;
|
|
103
|
+
url: string;
|
|
104
|
+
/** 允许的扩展名 */
|
|
105
|
+
formats: string[];
|
|
106
|
+
/** 表单字段名(兼容原版服务端) */
|
|
107
|
+
fieldName: string;
|
|
108
|
+
withCredentials: boolean;
|
|
109
|
+
}
|
|
110
|
+
export interface DialogConfig {
|
|
111
|
+
/** 弹窗时锁定页面滚动 */
|
|
112
|
+
lockScreen: boolean;
|
|
113
|
+
/** 对话框可拖拽 */
|
|
114
|
+
draggable: boolean;
|
|
115
|
+
/** 显示遮罩 */
|
|
116
|
+
showMask: boolean;
|
|
117
|
+
maskOpacity: number;
|
|
118
|
+
}
|
|
119
|
+
/** 重依赖 CDN 地址(懒加载脚本/样式);置空串禁用对应特性加载 */
|
|
120
|
+
export interface CdnConfig {
|
|
121
|
+
katexCss: string;
|
|
122
|
+
katexJs: string;
|
|
123
|
+
mermaidJs: string;
|
|
124
|
+
markmapJs: string;
|
|
125
|
+
}
|
|
126
|
+
export type I18nOption = I18nCode | LangDict;
|
|
127
|
+
/** 完整解析后的配置(内部使用,字段全部必有) */
|
|
128
|
+
export interface EditorOptions {
|
|
129
|
+
/** 隐藏 textarea 的 name(表单提交场景);空则不创建 */
|
|
130
|
+
name: string;
|
|
131
|
+
value: string;
|
|
132
|
+
width: WidthOrHeight;
|
|
133
|
+
height: WidthOrHeight;
|
|
134
|
+
/** 实况预览(分屏) */
|
|
135
|
+
watch: boolean;
|
|
136
|
+
placeholder: string;
|
|
137
|
+
i18n: I18nOption;
|
|
138
|
+
editor: EditorSectionConfig;
|
|
139
|
+
preview: PreviewSectionConfig;
|
|
140
|
+
toolbar: ToolbarConfig;
|
|
141
|
+
markdown: MarkdownConfig;
|
|
142
|
+
upload: UploadConfig;
|
|
143
|
+
dialog: DialogConfig;
|
|
144
|
+
cdn: CdnConfig;
|
|
145
|
+
/** settings 风格回调(事件总线的糖衣) */
|
|
146
|
+
on: {
|
|
147
|
+
[K in keyof EditorEvents]?: (payload: EditorEvents[K]) => void;
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/** 用户输入配置(全部可选;toolbar=false 表示不渲染工具栏) */
|
|
151
|
+
export interface EditorUserOptions {
|
|
152
|
+
name?: string;
|
|
153
|
+
value?: string;
|
|
154
|
+
width?: WidthOrHeight;
|
|
155
|
+
height?: WidthOrHeight;
|
|
156
|
+
watch?: boolean;
|
|
157
|
+
placeholder?: string;
|
|
158
|
+
i18n?: I18nOption;
|
|
159
|
+
editor?: Partial<EditorSectionConfig>;
|
|
160
|
+
preview?: Partial<PreviewSectionConfig>;
|
|
161
|
+
toolbar?: false | Partial<ToolbarConfig>;
|
|
162
|
+
markdown?: Partial<Omit<MarkdownConfig, 'toc'>> & {
|
|
163
|
+
toc?: boolean | Partial<TocOptions>;
|
|
164
|
+
};
|
|
165
|
+
upload?: Partial<UploadConfig>;
|
|
166
|
+
dialog?: Partial<DialogConfig>;
|
|
167
|
+
cdn?: Partial<CdnConfig>;
|
|
168
|
+
on?: EditorOptions['on'];
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/types/settings.ts"],"names":[],"mappings":"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"}
|