md-editor-rt
Version:
Markdown editor for react, developed in jsx and typescript, dark theme、beautify content by prettier、render articles directly、paste or clip the picture and upload it...
483 lines (482 loc) • 12.6 kB
JavaScript
import { deepMerge as r } from "@vavt/util";
const y = "md-editor", e = "https://unpkg.com", a = `${e}/@highlightjs/cdn-assets@11.10.0/highlight.min.js`, i = {
main: `${e}/prettier@3.3.3/standalone.js`,
markdown: `${e}/prettier@3.3.3/plugins/markdown.js`
}, o = {
css: `${e}/cropperjs@1.6.2/dist/cropper.min.css`,
js: `${e}/cropperjs@1.6.2/dist/cropper.min.js`
}, n = `${e}/screenfull@5.2.0/dist/screenfull.js`, l = `${e}/mermaid@11.9.0/dist/mermaid.min.js`, c = {
js: `${e}/katex@0.16.22/dist/katex.min.js`,
css: `${e}/katex@0.16.22/dist/katex.min.css`
}, d = {
a11y: {
light: `${e}/@highlightjs/cdn-assets@11.10.0/styles/a11y-light.min.css`,
dark: `${e}/@highlightjs/cdn-assets@11.10.0/styles/a11y-dark.min.css`
},
atom: {
light: `${e}/@highlightjs/cdn-assets@11.10.0/styles/atom-one-light.min.css`,
dark: `${e}/@highlightjs/cdn-assets@11.10.0/styles/atom-one-dark.min.css`
},
github: {
light: `${e}/@highlightjs/cdn-assets@11.10.0/styles/github.min.css`,
dark: `${e}/@highlightjs/cdn-assets@11.10.0/styles/github-dark.min.css`
},
gradient: {
light: `${e}/@highlightjs/cdn-assets@11.10.0/styles/gradient-light.min.css`,
dark: `${e}/@highlightjs/cdn-assets@11.10.0/styles/gradient-dark.min.css`
},
kimbie: {
light: `${e}/@highlightjs/cdn-assets@11.10.0/styles/kimbie-light.min.css`,
dark: `${e}/@highlightjs/cdn-assets@11.10.0/styles/kimbie-dark.min.css`
},
paraiso: {
light: `${e}/@highlightjs/cdn-assets@11.10.0/styles/paraiso-light.min.css`,
dark: `${e}/@highlightjs/cdn-assets@11.10.0/styles/paraiso-dark.min.css`
},
qtcreator: {
light: `${e}/@highlightjs/cdn-assets@11.10.0/styles/qtcreator-light.min.css`,
dark: `${e}/@highlightjs/cdn-assets@11.10.0/styles/qtcreator-dark.min.css`
},
stackoverflow: {
light: `${e}/@highlightjs/cdn-assets@11.10.0/styles/stackoverflow-light.min.css`,
dark: `${e}/@highlightjs/cdn-assets@11.10.0/styles/stackoverflow-dark.min.css`
}
}, g = `${e}/echarts@6.0.0/dist/echarts.min.js`, k = {
highlight: {
js: {
integrity: "sha384-GdEWAbCjn+ghjX0gLx7/N1hyTVmPAjdC2OvoAA0RyNcAOhqwtT8qnbCxWle2+uJX",
crossOrigin: "anonymous"
},
css: {
a11y: {
light: {
integrity: "sha384-qdZDAN3jffvh670RHw1wxLekabidEFaNRninYgIzBvMbL6WlHdXeHS/Bt+vx33lN",
crossOrigin: "anonymous"
},
dark: {
integrity: "sha384-2QAAjX8pqaM5azX68KWI2wExF6Q13kY4kEiQFY4b/1zPe6rpgmTByNpDEllH3sb+",
crossOrigin: "anonymous"
}
},
atom: {
light: {
integrity: "sha384-w6Ujm1VWa9HYFqGc89oAPn/DWDi2gUamjNrq9DRvEYm2X3ClItg9Y9xs1ViVo5b5",
crossOrigin: "anonymous"
},
dark: {
integrity: "sha384-oaMLBGEzBOJx3UHwac0cVndtX5fxGQIfnAeFZ35RTgqPcYlbprH9o9PUV/F8Le07",
crossOrigin: "anonymous"
}
},
github: {
light: {
integrity: "sha384-eFTL69TLRZTkNfYZOLM+G04821K1qZao/4QLJbet1pP4tcF+fdXq/9CdqAbWRl/L",
crossOrigin: "anonymous"
},
dark: {
integrity: "sha384-wH75j6z1lH97ZOpMOInqhgKzFkAInZPPSPlZpYKYTOqsaizPvhQZmAtLcPKXpLyH",
crossOrigin: "anonymous"
}
},
gradient: {
light: {
integrity: "sha384-yErHBR8aEZPxRl3XmR8dGSRAclMlnSRRw8sXQLcmPWzWUvb56BzQmBw3EWHl7QGI",
crossOrigin: "anonymous"
},
dark: {
integrity: "sha384-lUCvtSOdvDbp5hLWKgwz/taFu1HxlpqES2OVP5UG2JMTfnU481gXcBhGF9lAGoSr",
crossOrigin: "anonymous"
}
},
kimbie: {
light: {
integrity: "sha384-tloeSLUPczAvoZ48TUz+OxRie0oYLCRwlkadUXovGzzJEIbNQB2TkfUuvJ6SW5Mi",
crossOrigin: "anonymous"
},
dark: {
integrity: "sha384-o5F1vUaMNOmou1sQrsWiFo4/QUGSV0svqNZW+EesmKxWC8MpFJcveBhAyfvTHbGb",
crossOrigin: "anonymous"
}
},
paraiso: {
light: {
integrity: "sha384-5j6QHU2Hwg1ehtlIQNDebhETDB8bga3/88hzBFsMRaGmgQHCftqIN7GZNDNw0vTL",
crossOrigin: "anonymous"
},
dark: {
integrity: "sha384-I5vnnMQu0LWDQnHpT61xyoMwKarAB8jpZkB2ioFOlmzUFnIFaV4QbUwlBBOMKhTH",
crossOrigin: "anonymous"
}
},
qtcreator: {
light: {
integrity: "sha384-iEBgHrwi8Hv4dSZBz+MOGvS05rF7I7fGKM2fASQyE9jn2Istg9Qd5dSoK18WyRTB",
crossOrigin: "anonymous"
},
dark: {
integrity: "sha384-D6LXJGWNR4QV7gnpuP3ccbvOYoR02td3cU0y7lESABPg/tzCSC4m+y+M2TtrmpHc",
crossOrigin: "anonymous"
}
},
stackoverflow: {
light: {
integrity: "sha384-FMwt7cTGo4aLxZnno5k0xTj0W4gmi48Kwept+y/oQmE6cFk36Kr+QJZOKNOQwORe",
crossOrigin: "anonymous"
},
dark: {
integrity: "sha384-iL+x+BroCyHm/p2c6sMA9umXhdCWp2cKe4QUjPeMzHgwXAk+ZxHyIGP3NZTZensU",
crossOrigin: "anonymous"
}
}
}
},
prettier: {
standaloneJs: {
integrity: "sha384-92h6ALm8/lHpNGn6MfGlgZ+I8c/4yn/nSN8dV9ZmDxqbP9L93gk/Jj2i0LtV+AVd",
crossOrigin: "anonymous"
},
parserMarkdownJs: {
integrity: "sha384-5ufuUgoSsr/2oihBZ5d+c+yt0qaUmzLtUz41VZNJ4txtyJ6mBve3ZwuKoq/IygYX",
crossOrigin: "anonymous"
}
},
cropper: {
js: {
integrity: "sha384-jrOgQzBlDeUNdmQn3rUt/PZD+pdcRBdWd/HWRqRo+n2OR2QtGyjSaJC0GiCeH+ir",
crossOrigin: "anonymous"
},
css: {
integrity: "sha384-6LFfkTKLRlzFtgx8xsWyBdKGpcMMQTkv+dB7rAbugeJAu1Ym2q1Aji1cjHBG12Xh",
crossOrigin: "anonymous"
}
},
screenfull: {
js: {
integrity: "sha384-Qfbv8upMDu/ikv42M0Jnym2hahbDQ77Nm8PGU0G+iA6UIwt1+scE6P1qKXA0anWU",
crossOrigin: "anonymous"
}
},
mermaid: {
js: {
integrity: "sha384-UzWEhMP22MxNnr2bzqAdmtf1FDy5iKDUq6hLXJFLqC7dfGkc6W/hshbx9m71zyt5",
crossOrigin: "anonymous"
}
},
katex: {
js: {
integrity: "sha384-cMkvdD8LoxVzGF/RPUKAcvmm49FQ0oxwDF3BGKtDXcEc+T1b2N+teh/OJfpU0jr6",
crossOrigin: "anonymous"
},
css: {
integrity: "sha384-5TcZemv2l/9On385z///+d7MSYlvIEw9FuZTIdZ14vJLqWphw7e7ZPuOiCHJcFCP",
crossOrigin: "anonymous"
}
},
echarts: {
js: {
integrity: "sha384-F07Cpw5v8spSU0H113F33m2NQQ/o6GqPTnTjf45ssG4Q6q58ZwhxBiQtIaqvnSpR",
crossOrigin: "anonymous"
}
}
}, h = [
"bold",
"underline",
"italic",
"strikeThrough",
"-",
"title",
"sub",
"sup",
"quote",
"unorderedList",
"orderedList",
"task",
"-",
"codeRow",
"code",
"link",
"image",
"table",
"mermaid",
"katex",
"-",
"revoke",
"next",
"save",
"=",
"prettier",
"pageFullscreen",
"fullscreen",
"preview",
"previewOnly",
"htmlPreview",
"catalog",
"github"
], m = ["markdownTotal", "=", "scrollSwitch"], b = {
"zh-CN": {
toolbarTips: {
bold: "加粗",
underline: "下划线",
italic: "斜体",
strikeThrough: "删除线",
title: "标题",
sub: "下标",
sup: "上标",
quote: "引用",
unorderedList: "无序列表",
orderedList: "有序列表",
task: "任务列表",
codeRow: "行内代码",
code: "块级代码",
link: "链接",
image: "图片",
table: "表格",
mermaid: "mermaid图",
katex: "katex公式",
revoke: "后退",
next: "前进",
save: "保存",
prettier: "美化",
pageFullscreen: "浏览器全屏",
fullscreen: "屏幕全屏",
preview: "预览",
previewOnly: "仅预览",
htmlPreview: "html代码预览",
catalog: "目录",
github: "源码地址"
},
titleItem: {
h1: "一级标题",
h2: "二级标题",
h3: "三级标题",
h4: "四级标题",
h5: "五级标题",
h6: "六级标题"
},
imgTitleItem: {
link: "添加链接",
upload: "上传图片",
clip2upload: "裁剪上传"
},
linkModalTips: {
linkTitle: "添加链接",
imageTitle: "添加图片",
descLabel: "链接描述:",
descLabelPlaceHolder: "请输入描述...",
urlLabel: "链接地址:",
urlLabelPlaceHolder: "请输入链接...",
buttonOK: "确定"
},
clipModalTips: {
title: "裁剪图片上传",
buttonUpload: "上传"
},
copyCode: {
text: "复制代码",
successTips: "已复制!",
failTips: "复制失败!"
},
mermaid: {
flow: "流程图",
sequence: "时序图",
gantt: "甘特图",
class: "类图",
state: "状态图",
pie: "饼图",
relationship: "关系图",
journey: "旅程图"
},
katex: {
inline: "行内公式",
block: "块级公式"
},
footer: {
markdownTotal: "字数",
scrollAuto: "同步滚动"
}
},
"en-US": {
toolbarTips: {
bold: "bold",
underline: "underline",
italic: "italic",
strikeThrough: "strikeThrough",
title: "title",
sub: "subscript",
sup: "superscript",
quote: "quote",
unorderedList: "unordered list",
orderedList: "ordered list",
task: "task list",
codeRow: "inline code",
code: "block-level code",
link: "link",
image: "image",
table: "table",
mermaid: "mermaid",
katex: "formula",
revoke: "revoke",
next: "undo revoke",
save: "save",
prettier: "prettier",
pageFullscreen: "fullscreen in page",
fullscreen: "fullscreen",
preview: "preview",
previewOnly: "preview only",
htmlPreview: "html preview",
catalog: "catalog",
github: "source code"
},
titleItem: {
h1: "Lv1 Heading",
h2: "Lv2 Heading",
h3: "Lv3 Heading",
h4: "Lv4 Heading",
h5: "Lv5 Heading",
h6: "Lv6 Heading"
},
imgTitleItem: {
link: "Add Image Link",
upload: "Upload Images",
clip2upload: "Crop And Upload"
},
linkModalTips: {
linkTitle: "Add Link",
imageTitle: "Add Image",
descLabel: "Desc:",
descLabelPlaceHolder: "Enter a description...",
urlLabel: "Link:",
urlLabelPlaceHolder: "Enter a link...",
buttonOK: "OK"
},
clipModalTips: {
title: "Crop Image",
buttonUpload: "Upload"
},
copyCode: {
text: "Copy",
successTips: "Copied!",
failTips: "Copy failed!"
},
mermaid: {
flow: "flow",
sequence: "sequence",
gantt: "gantt",
class: "class",
state: "state",
pie: "pie",
relationship: "relationship",
journey: "journey"
},
katex: {
inline: "inline",
block: "block"
},
footer: {
markdownTotal: "Character Count",
scrollAuto: "Scroll Auto"
}
}
}, f = {
modelValue: "",
theme: "light",
className: "",
onChange: () => {
},
pageFullscreen: !1,
preview: !0,
htmlPreview: !1,
language: "zh-CN",
toolbars: h,
toolbarsExclude: [],
noPrettier: !1,
onHtmlChanged: () => {
},
onGetCatalog: () => {
},
tabWidth: 2,
showCodeRowNumber: !0,
previewTheme: "default",
mdHeadingId: (({ text: s }) => s),
tableShape: [6, 4],
noMermaid: !1,
sanitize: (s) => s,
placeholder: "",
noKatex: !1,
defToolbars: [],
onError: () => {
},
codeTheme: "atom",
footers: m,
defFooters: [],
noUploadImg: !1,
codeStyleReverse: !0,
codeStyleReverseList: ["default", "mk-cute"],
noHighlight: !1,
noImgZoomIn: !1,
inputBoxWidth: "50%",
sanitizeMermaid: (s) => Promise.resolve(s),
transformImgUrl: (s) => s,
codeFoldable: !0,
autoFoldThreshold: 30,
catalogLayout: "fixed",
floatingToolbars: [],
customIcon: {}
}, u = {
editorExtensions: {
highlight: {
js: a,
css: d
},
prettier: {
standaloneJs: i.main,
parserMarkdownJs: i.markdown
},
cropper: {
...o
},
screenfull: {
js: n
},
mermaid: {
js: l,
enableZoom: !0
},
katex: {
...c
},
echarts: {
js: g
}
},
editorExtensionsAttrs: {},
editorConfig: {
languageUserDefined: {},
mermaidTemplate: {},
renderDelay: 500,
zIndex: 2e4
},
codeMirrorExtensions: (s) => s,
markdownItConfig: () => {
},
markdownItPlugins: (s) => s,
mermaidConfig: (s) => s,
katexConfig: (s) => s,
echartsConfig: (s) => s
}, v = (s) => r(u, s, {
excludeKeys(t) {
return /[iI]{1}nstance/.test(t);
}
}), w = 0.1;
export {
w as M,
h as a,
m as b,
v as c,
f as d,
k as e,
d as f,
u as g,
y as p,
b as s
};