markstream-vue 0.0.1
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/README.md +73 -0
- package/README.zh-CN.md +74 -0
- package/dist/index.cjs +319 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +966 -0
- package/dist/index.js +13740 -0
- package/dist/index.tailwind.css +1 -0
- package/dist/tailwind.ts +0 -0
- package/dist/workers/katexRenderer.worker.js +44 -0
- package/dist/workers/mermaidParser.worker.js +92 -0
- package/license +21 -0
- package/package.json +164 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.blockquote[data-v-adfdba00]{font-weight:500;font-style:italic;border-left:.25rem solid var(--blockquote-border-color,#e2e8f0);quotes:"“" "”" "‘" "’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.blockquote[data-v-adfdba00] .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.checkbox-node[data-v-8dc6c46f]{margin-right:.5rem;vertical-align:middle}.checkbox-input[data-v-8dc6c46f]{margin:0;cursor:default}.definition-list[data-v-5a21f288]{margin:0 0 1rem}.definition-term[data-v-5a21f288]{font-weight:600;margin-top:.5rem}.definition-desc[data-v-5a21f288]{margin-left:1rem;margin-bottom:.5rem}.definition-list[data-v-5a21f288] .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.emoji-node[data-v-de55dc97]{display:inline-block}.footnote-reference[data-v-7c1ed642]{font-size:.75em;line-height:0}.footnote-link[data-v-7c1ed642]{color:#0366d6;text-decoration:none}.footnote-link[data-v-7c1ed642]:hover{text-decoration:underline}.tooltip-enter-from[data-v-993f63aa]{opacity:0;transform:translateY(-6px) scale(.98)}.tooltip-enter-to[data-v-993f63aa],.tooltip-leave-from[data-v-993f63aa]{opacity:1;transform:translateY(0) scale(1)}.tooltip-leave-to[data-v-993f63aa]{opacity:0;transform:translateY(-6px) scale(.98)}.tooltip-enter-active[data-v-993f63aa],.tooltip-leave-active[data-v-993f63aa]{transition:opacity .12s linear}.tooltip-element[data-v-993f63aa]{transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.text-node[data-v-56f30838]{display:inline;font-weight:inherit;vertical-align:baseline}.text-node-center[data-v-56f30838]{display:inline-flex;justify-content:center;width:100%}.superscript-node[data-v-0ca396bb]{font-size:.8em;vertical-align:super}.subscript-node[data-v-5e1f04df]{font-size:.8em;vertical-align:sub}.strong-node[data-v-53b6c7df]{font-weight:700}.strikethrough-node[data-v-3716d25c]{text-decoration:line-through}.link-node[data-v-95c2e66f]{color:var(--link-color, #0366d6);text-decoration:none}.link-node[data-v-95c2e66f]:hover{text-decoration:underline;text-underline-offset:.2rem}.link-loading .link-text-wrapper[data-v-95c2e66f]{position:relative}.link-loading .link-text[data-v-95c2e66f]{position:relative;z-index:2}.underline-anim[data-v-95c2e66f]{position:absolute;left:0;right:0;height:var(--underline-height, 2px);bottom:var(--underline-bottom, -3px);background:currentColor;transform-origin:center center;will-change:transform,opacity;opacity:var(--underline-opacity, .9);transform:scaleX(0);animation:underlineLoop-95c2e66f var(--underline-duration, .8s) var(--underline-timing, linear) var(--underline-iteration, infinite)}@keyframes underlineLoop-95c2e66f{0%{transform:scaleX(0);opacity:var(--underline-opacity, .9)}75%{transform:scaleX(1);opacity:var(--underline-opacity, .9)}99%{transform:scaleX(1);opacity:var(--underline-opacity, .9)}to{transform:scaleX(0);opacity:0}}.insert-node[data-v-b8737de3]{text-decoration:underline}.highlight-node[data-v-fc52b444]{background-color:#ff0;padding:0 .2rem}.emphasis-node[data-v-c25e2822]{font-style:italic}[class*=footnote-] :deep(.markdown-renderer),.flex-1 :deep(.markdown-renderer){content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.hard-break[data-v-50c58f70]{display:block}.img-switch-enter-active[data-v-7ca79b66],.img-switch-leave-active[data-v-7ca79b66]{transition:opacity .22s ease,transform .22s ease}.img-switch-enter-from[data-v-7ca79b66],.img-switch-leave-to[data-v-7ca79b66]{opacity:0;transform:translateY(6px)}.img-switch-enter-to[data-v-7ca79b66],.img-switch-leave-from[data-v-7ca79b66]{opacity:1;transform:translateY(0)}.placeholder-layer[data-v-7ca79b66]{will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.spinner[data-v-7ca79b66]{animation:none!important}.img-switch-enter-active[data-v-7ca79b66],.img-switch-leave-active[data-v-7ca79b66]{transition:none!important}}.heading-node[data-v-d8e179e9]{@apply font-medium leading-tight;}hr+.heading-node[data-v-d8e179e9]{@apply mt-0;}.heading-1[data-v-d8e179e9]{@apply mt-0 mb-[calc(8/9*1em)] text-4xl leading-[calc(10/9*1)] font-extrabold;}.heading-2[data-v-d8e179e9]{@apply mt-8 mb-4 text-2xl leading-[calc(4/3*1)] font-bold;}.heading-3[data-v-d8e179e9]{@apply mt-[1.6em] mb-[calc(3/5*1em)] text-xl font-semibold leading-[calc(5/3*1)];}.heading-4[data-v-d8e179e9]{@apply mt-6 mb-2 text-base font-semibold;}.heading-5[data-v-d8e179e9],.heading-6[data-v-d8e179e9]{@apply m-0 text-base;}ol>.list-item[data-v-e7aa2cc3]::marker{color:var(--list-item-counter-marker,#64748b);line-height:1.6}ul>.list-item[data-v-e7aa2cc3]::marker{color:var(--list-item-marker,#cbd5e1)}.list-item[data-v-e7aa2cc3] .markdown-renderer{content-visibility:visible;contain-intrinsic-size:0px 0px;contain:none}.list-node[data-v-79057d57]{@apply my-5 pl-[1.625em];}.list-decimal[data-v-79057d57]{list-style-type:decimal}.list-disc[data-v-79057d57]{list-style-type:disc;@apply max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)];}._mermaid[data-v-d0cb88c1]{font-family:inherit;transition:opacity .2s ease-in-out;content-visibility:auto;contain:content;contain-intrinsic-size:360px 240px}._mermaid[data-v-d0cb88c1] svg{width:100%;height:auto;display:block}.fullscreen[data-v-d0cb88c1]{width:100%;max-height:100%!important;height:100%!important}.mermaid-action-btn[data-v-d0cb88c1]{font-family:inherit}.mermaid-action-btn[data-v-d0cb88c1]:active{transform:scale(.98)}.mermaid-dialog-enter-from[data-v-d0cb88c1],.mermaid-dialog-leave-to[data-v-d0cb88c1]{opacity:0}.mermaid-dialog-enter-active[data-v-d0cb88c1],.mermaid-dialog-leave-active[data-v-d0cb88c1]{transition:opacity .2s ease}.mermaid-dialog-enter-from .dialog-panel[data-v-d0cb88c1],.mermaid-dialog-leave-to .dialog-panel[data-v-d0cb88c1]{transform:translateY(8px) scale(.98);opacity:.98}.mermaid-dialog-enter-to .dialog-panel[data-v-d0cb88c1],.mermaid-dialog-leave-from .dialog-panel[data-v-d0cb88c1]{transform:translateY(0) scale(1);opacity:1}.mermaid-dialog-enter-active .dialog-panel[data-v-d0cb88c1],.mermaid-dialog-leave-active .dialog-panel[data-v-d0cb88c1]{transition:transform .2s ease,opacity .2s ease}.paragraph-node[data-v-99e1c125]{margin:1.25em 0}li .paragraph-node[data-v-99e1c125]{margin:0}.text-node[data-v-99e1c125]{display:inline;font-weight:inherit;vertical-align:baseline}.text-node-center[data-v-99e1c125]{display:inline-flex;justify-content:center;width:100%}pre[class^=language-],pre[class*=" language-"]{white-space:pre;overflow:auto;-moz-tab-size:2;-o-tab-size:2;tab-size:2;font-variant-ligatures:none;contain:content;backface-visibility:hidden;transform:translateZ(0);-webkit-font-smoothing:antialiased}pre[class^=language-]>code,pre[class*=" language-"]>code{display:block}pre[class^=language-]:focus,pre[class*=" language-"]:focus{outline:2px solid var(--vmdr-focus, #3b82f6);outline-offset:2px}.table-node-wrapper[data-v-50ef14ca]{position:relative}.table-node--loading tbody td[data-v-50ef14ca]{position:relative;overflow:hidden}.table-node--loading tbody td[data-v-50ef14ca]>*{visibility:hidden}.table-node--loading tbody td[data-v-50ef14ca]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.25rem;background:linear-gradient(90deg,rgba(148,163,184,.16) 25%,rgba(148,163,184,.28),rgba(148,163,184,.16) 75%);background-size:200% 100%;animation:table-node-shimmer-50ef14ca 1.2s linear infinite;will-change:background-position}.table-node__loading[data-v-50ef14ca]{position:relative;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.table-node__spinner[data-v-50ef14ca]{width:2.5rem;height:2.5rem;border-radius:9999px;border:2px solid rgba(94,104,121,.25);border-top-color:rgba(94,104,121,.8);will-change:transform}.table-node-fade-enter-active[data-v-50ef14ca],.table-node-fade-leave-active[data-v-50ef14ca]{transition:opacity .18s ease}.table-node-fade-enter-from[data-v-50ef14ca],.table-node-fade-leave-to[data-v-50ef14ca]{opacity:0}[data-v-50ef14ca] .table-node .markdown-renderer{display:contents;content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}[data-v-50ef14ca] .table-node .markdown-renderer .node-slot,[data-v-50ef14ca] .table-node .markdown-renderer .node-content,[data-v-50ef14ca] .table-node .markdown-renderer .node-space{display:contents}@keyframes table-node-shimmer-50ef14ca{0%{background-position:0% 0%}50%{background-position:100% 0%}to{background-position:200% 0%}}.hr+.table-node-wrapper[data-v-50ef14ca]{margin-top:0}.hr+.table-node-wrapper .table-node[data-v-50ef14ca]{margin-top:0}.sr-only[data-v-50ef14ca]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hr-node[data-v-639cbad9]{@apply border-t border-[var(--hr-border-color,#e2e8f0)] my-12;}.html-block-node__placeholder[data-v-ed22b926]{display:flex;flex-direction:column;gap:.35rem;padding:.5rem 0}.html-block-node__placeholder-bar[data-v-ed22b926]{display:block;height:.8rem;border-radius:9999px;background-image:linear-gradient(90deg,rgba(148,163,184,.35),rgba(148,163,184,.1),rgba(148,163,184,.35));background-size:200% 100%;animation:html-block-node-shimmer-ed22b926 1.2s ease infinite}@keyframes html-block-node-shimmer-ed22b926{0%{background-position:0% 0%}to{background-position:200% 0%}}.markdown-renderer[data-v-080bfb4c]{position:relative;contain:layout;content-visibility:auto;contain-intrinsic-size:800px 600px}.node-slot[data-v-080bfb4c],.node-content[data-v-080bfb4c]{width:100%}.node-placeholder[data-v-080bfb4c]{width:100%;min-height:1rem;margin:.25rem 0;border-radius:.5rem;background-image:linear-gradient(90deg,rgba(148,163,184,.18),rgba(148,163,184,.05),rgba(148,163,184,.18));background-size:200% 100%;animation:node-placeholder-shimmer-080bfb4c 1.1s ease-in-out infinite}.node-placeholder[data-v-080bfb4c]:first-child{margin-top:0}@keyframes node-placeholder-shimmer-080bfb4c{0%{background-position:200% 0%}to{background-position:-200% 0%}}.node-spacer[data-v-080bfb4c]{width:100%}.unknown-node[data-v-080bfb4c]{color:#6a737d;font-style:italic;margin:1rem 0}.typewriter-enter-from{opacity:0}.typewriter-enter-active{transition:opacity var(--typewriter-fade-duration, .9s) var(--typewriter-fade-ease, ease-out);will-change:opacity}.typewriter-enter-to{opacity:1}.admonition[data-v-578c25d2]{--admonition-bg: #f8f8f8;--admonition-border: #eaecef;--admonition-header-bg: rgba(0, 0, 0, .03);--admonition-text: #111827;--admonition-muted: #374151;--admonition-note-color: #448aff;--admonition-tip-color: #00bfa5;--admonition-warning-color: #ff9100;--admonition-danger-color: #ff5252;margin:1rem 0;padding:0;border-radius:4px;border-left:4px solid var(--admonition-border);background-color:var(--admonition-bg);color:var(--admonition-text);overflow:hidden}.admonition-header[data-v-578c25d2]{padding:.5rem 1rem;font-weight:600;display:flex;align-items:center;background-color:var(--admonition-header-bg);color:var(--admonition-muted)}.admonition-icon[data-v-578c25d2]{margin-right:.5rem;color:inherit}.admonition-content[data-v-578c25d2]{padding:.5rem 1rem 1rem;color:var(--admonition-text)}.admonition-note[data-v-578c25d2]{border-left-color:var(--admonition-note-color)}.admonition-note .admonition-header[data-v-578c25d2]{background-color:rgba(68,138,255,.06);color:var(--admonition-note-color)}.admonition-info[data-v-578c25d2]{border-left-color:var(--admonition-note-color)}.admonition-info .admonition-header[data-v-578c25d2]{background-color:rgba(68,138,255,.06);color:var(--admonition-note-color)}.admonition-tip[data-v-578c25d2]{border-left-color:var(--admonition-tip-color)}.admonition-tip .admonition-header[data-v-578c25d2]{background-color:rgba(0,191,165,.06);color:var(--admonition-tip-color)}.admonition-warning[data-v-578c25d2]{border-left-color:var(--admonition-warning-color)}.admonition-warning .admonition-header[data-v-578c25d2]{background-color:rgba(255,145,0,.06);color:var(--admonition-warning-color)}.admonition-danger[data-v-578c25d2]{border-left-color:var(--admonition-danger-color)}.admonition-danger .admonition-header[data-v-578c25d2]{background-color:rgba(255,82,82,.06);color:var(--admonition-danger-color)}.admonition-error[data-v-578c25d2]{border-left-color:var(--admonition-danger-color)}.admonition-error .admonition-header[data-v-578c25d2]{background-color:rgba(255,82,82,.06);color:var(--admonition-danger-color)}.admonition-caution[data-v-578c25d2]{border-left-color:var(--admonition-warning-color)}.admonition-caution .admonition-header[data-v-578c25d2]{background-color:rgba(255,145,0,.06);color:var(--admonition-warning-color)}.admonition-content[data-v-578c25d2] .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.admonition-toggle[data-v-578c25d2]{margin-left:auto;background:transparent;border:none;color:inherit;cursor:pointer;padding:.25rem .5rem;border-radius:4px;font-size:.9rem}.admonition-toggle[data-v-578c25d2]:focus{outline:2px solid rgba(0,0,0,.08);outline-offset:2px}.admonition.is-dark[data-v-578c25d2]{--admonition-bg: #0b1220;--admonition-border: rgba(255, 255, 255, .06);--admonition-header-bg: rgba(255, 255, 255, .03);--admonition-text: #e6eef8;--admonition-muted: #cbd5e1}.admonition.is-dark .admonition-note .admonition-header[data-v-578c25d2],.admonition.is-dark .admonition-info .admonition-header[data-v-578c25d2]{background-color:rgba(68,138,255,.12);color:var(--admonition-note-color)}.admonition.is-dark .admonition-tip .admonition-header[data-v-578c25d2]{background-color:rgba(0,191,165,.12);color:var(--admonition-tip-color)}.admonition.is-dark .admonition-warning .admonition-header[data-v-578c25d2]{background-color:rgba(255,145,0,.12);color:var(--admonition-warning-color)}.admonition.is-dark .admonition-danger .admonition-header[data-v-578c25d2]{background-color:rgba(255,82,82,.12);color:var(--admonition-danger-color)}@media(prefers-color-scheme:dark){.admonition[data-v-578c25d2]{--admonition-bg: #0b1220;--admonition-border: rgba(255, 255, 255, .06);--admonition-header-bg: rgba(255, 255, 255, .03);--admonition-text: #e6eef8;--admonition-muted: #cbd5e1}.admonition-note .admonition-header[data-v-578c25d2],.admonition-info .admonition-header[data-v-578c25d2]{background-color:rgba(68,138,255,.12);color:var(--admonition-note-color)}.admonition-tip .admonition-header[data-v-578c25d2]{background-color:rgba(0,191,165,.12);color:var(--admonition-tip-color)}.admonition-warning .admonition-header[data-v-578c25d2]{background-color:rgba(255,145,0,.12);color:var(--admonition-warning-color)}.admonition-danger .admonition-header[data-v-578c25d2]{background-color:rgba(255,82,82,.12);color:var(--admonition-danger-color)}}.code-block-container[data-v-8443b140]{contain:content;content-visibility:auto;contain-intrinsic-size:320px 180px}.code-editor-container[data-v-8443b140]{transition:height .18s ease,max-height .18s ease}.code-block-container.is-rendering .code-height-placeholder[data-v-8443b140]{background-size:400% 100%;animation:code-skeleton-shimmer-8443b140 1.2s ease-in-out infinite;min-height:120px;background:linear-gradient(90deg,rgba(0,0,0,.04) 25%,rgba(0,0,0,.08) 37%,rgba(0,0,0,.04) 63%)}.code-loading-placeholder[data-v-8443b140]{padding:1rem;min-height:120px}.loading-skeleton[data-v-8443b140]{display:flex;flex-direction:column;gap:.75rem}.skeleton-line[data-v-8443b140]{height:1rem;background:linear-gradient(90deg,rgba(0,0,0,.06) 25%,rgba(0,0,0,.12) 37%,rgba(0,0,0,.06) 63%);background-size:400% 100%;animation:code-skeleton-shimmer-8443b140 1.2s ease-in-out infinite;border-radius:.25rem}.code-block-container.is-dark .skeleton-line[data-v-8443b140]{background:linear-gradient(90deg,rgba(255,255,255,.06) 25%,rgba(255,255,255,.12) 37%,rgba(255,255,255,.06) 63%);background-size:400% 100%}.skeleton-line.short[data-v-8443b140]{width:60%}@keyframes code-skeleton-shimmer-8443b140{0%{background-position:100% 0}to{background-position:0 0}}.code-action-btn[data-v-8443b140]{font-family:inherit}.code-action-btn[data-v-8443b140]:active{transform:scale(.98)}.code-action-btn[data-v-8443b140]:disabled{opacity:.5;cursor:not-allowed}.code-action-btn[data-v-8443b140]:disabled:hover{background-color:transparent}.icon-slot[data-v-8443b140]{display:inline-flex;align-items:center;justify-content:center}.icon-slot[data-v-8443b140] svg,.icon-slot[data-v-8443b140] img{display:block;width:100%;height:100%}[data-v-8443b140] .monaco-diff-editor .diffOverview{background-color:var(--vscode-editor-background)}.code-block-container[data-v-9201c1b9]{contain:content;content-visibility:auto;contain-intrinsic-size:320px 180px}.code-block-content[data-v-9201c1b9]{max-height:500px;overflow:auto;transition:max-height .3s ease}[data-v-9201c1b9] .code-block-content pre{padding:1rem}.code-action-btn[data-v-9201c1b9]{cursor:pointer;opacity:.7;transition:opacity .2s}.code-action-btn[data-v-9201c1b9]:hover{opacity:1}.code-action-btn[data-v-9201c1b9]:disabled{opacity:.3;cursor:not-allowed}.code-loading-placeholder[data-v-9201c1b9]{padding:1rem;min-height:120px}.loading-skeleton[data-v-9201c1b9]{display:flex;flex-direction:column;gap:.75rem}.skeleton-line[data-v-9201c1b9]{height:1rem;background:linear-gradient(90deg,rgba(0,0,0,.06) 25%,rgba(0,0,0,.12) 37%,rgba(0,0,0,.06) 63%);background-size:400% 100%;animation:code-skeleton-shimmer-9201c1b9 1.2s ease-in-out infinite;border-radius:.25rem}.code-block-container.is-dark .skeleton-line[data-v-9201c1b9]{background:linear-gradient(90deg,rgba(255,255,255,.06) 25%,rgba(255,255,255,.12) 37%,rgba(255,255,255,.06) 63%);background-size:400% 100%}.skeleton-line.short[data-v-9201c1b9]{width:60%}@keyframes code-skeleton-shimmer-9201c1b9{0%{background-position:100% 0}to{background-position:0 0}}.math-loading-overlay[data-v-2e076ab9]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px);min-height:40px}.math-loading-spinner[data-v-2e076ab9]{width:20px;height:20px;border:2px solid rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.6);border-radius:50%;animation:math-spin-2e076ab9 .8s linear infinite}@keyframes math-spin-2e076ab9{to{transform:rotate(360deg)}}.math-rendering[data-v-2e076ab9]{opacity:.3;transition:opacity .2s ease}.math-fade-enter-active[data-v-2e076ab9],.math-fade-leave-active[data-v-2e076ab9]{transition:opacity .3s ease}.math-fade-enter-from[data-v-2e076ab9],.math-fade-leave-to[data-v-2e076ab9]{opacity:0}@media(prefers-color-scheme:dark){.math-loading-overlay[data-v-2e076ab9]{background-color:rgba(0,0,0,.6)}.math-loading-spinner[data-v-2e076ab9]{border-color:rgba(255,255,255,.2);border-top-color:rgba(255,255,255,.8)}}.math-inline-wrapper[data-v-6b23009e]{position:relative;display:inline-block}.math-inline[data-v-6b23009e]{display:inline-block;vertical-align:middle}.math-inline__loading[data-v-6b23009e]{display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.math-inline__spinner[data-v-6b23009e]{width:1rem;height:1rem;border-radius:9999px;border:2px solid rgba(94,104,121,.25);border-top-color:rgba(94,104,121,.8);will-change:transform}.table-node-fade-enter-active[data-v-6b23009e],.table-node-fade-leave-active[data-v-6b23009e]{transition:opacity .18s ease}.table-node-fade-enter-from[data-v-6b23009e],.table-node-fade-leave-to[data-v-6b23009e]{opacity:0}.sr-only[data-v-6b23009e]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@tailwind components;@tailwind utilities;:root{--border: 214.3 31.8% 91.4%;--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--secondary: 210 40% 96%;--muted: 210 40% 96%;--muted-foreground: 215.4 16.3% 46.9%}.dark{--border: 217.2 32.6% 17.5%;--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--secondary: 217.2 32.6% 17.5%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%}
|
package/dist/tailwind.ts
ADDED
|
Binary file
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import h from "katex";
|
|
2
|
+
let n = !1;
|
|
3
|
+
globalThis.addEventListener("message", (t) => {
|
|
4
|
+
var i, l, g, u;
|
|
5
|
+
const e = t.data || {};
|
|
6
|
+
if (e.type === "init") {
|
|
7
|
+
n = !!e.debug;
|
|
8
|
+
try {
|
|
9
|
+
n && console.debug("[katexRenderer.worker] debug enabled");
|
|
10
|
+
} catch (r) {
|
|
11
|
+
}
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const o = (i = e.id) != null ? i : "", s = (l = e.content) != null ? l : "", a = (g = e.displayMode) != null ? g : !0;
|
|
15
|
+
try {
|
|
16
|
+
n && console.debug("[katexRenderer.worker] render start", { id: o, displayMode: a, content: s });
|
|
17
|
+
const r = h.renderToString(s, {
|
|
18
|
+
throwOnError: !0,
|
|
19
|
+
displayMode: a,
|
|
20
|
+
output: "html",
|
|
21
|
+
strict: "ignore"
|
|
22
|
+
}), d = { id: o, html: r, content: s, displayMode: a };
|
|
23
|
+
try {
|
|
24
|
+
globalThis.postMessage(d), n && console.debug("[katexRenderer.worker] render success", { id: o });
|
|
25
|
+
} catch (c) {
|
|
26
|
+
console.error("[katexRenderer.worker] failed to postMessage result", c);
|
|
27
|
+
}
|
|
28
|
+
} catch (r) {
|
|
29
|
+
const d = { id: o, error: String((u = r == null ? void 0 : r.message) != null ? u : r), content: s, displayMode: a };
|
|
30
|
+
try {
|
|
31
|
+
globalThis.postMessage(d);
|
|
32
|
+
} catch (c) {
|
|
33
|
+
console.error("[katexRenderer.worker] failed to postMessage error", c);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
globalThis.addEventListener("error", (t) => {
|
|
38
|
+
var e;
|
|
39
|
+
console.error("[katexRenderer.worker] uncaught error", t.message, t.error);
|
|
40
|
+
try {
|
|
41
|
+
globalThis.postMessage({ id: "__worker_uncaught__", error: String((e = t.message) != null ? e : t.error), content: "", displayMode: !0 });
|
|
42
|
+
} catch (o) {
|
|
43
|
+
}
|
|
44
|
+
});
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
var p = (n, e) => () => (e || n((e = { exports: {} }).exports, e), e.exports);
|
|
2
|
+
var d = (n, e, a) => new Promise((t, i) => {
|
|
3
|
+
var r = (o) => {
|
|
4
|
+
try {
|
|
5
|
+
s(a.next(o));
|
|
6
|
+
} catch (l) {
|
|
7
|
+
i(l);
|
|
8
|
+
}
|
|
9
|
+
}, c = (o) => {
|
|
10
|
+
try {
|
|
11
|
+
s(a.throw(o));
|
|
12
|
+
} catch (l) {
|
|
13
|
+
i(l);
|
|
14
|
+
}
|
|
15
|
+
}, s = (o) => o.done ? t(o.value) : Promise.resolve(o.value).then(r, c);
|
|
16
|
+
s((a = a.apply(n, e)).next());
|
|
17
|
+
});
|
|
18
|
+
import h from "mermaid";
|
|
19
|
+
var b = p((m) => {
|
|
20
|
+
h.initialize({ startOnLoad: !1, securityLevel: "loose" });
|
|
21
|
+
function w(n, e) {
|
|
22
|
+
const t = `%%{init: {"theme": "${e === "dark" ? "dark" : "default"}"}}%%
|
|
23
|
+
`;
|
|
24
|
+
return n.trimStart().startsWith("%%{") ? n : t + n;
|
|
25
|
+
}
|
|
26
|
+
function y(n) {
|
|
27
|
+
const e = /^(?:graph|flowchart|flowchart\s+tb|flowchart\s+lr|sequenceDiagram|gantt|classDiagram|stateDiagram(?:-v2)?|erDiagram|journey|pie|quadrantChart|timeline|xychart(?:-beta)?)\b/;
|
|
28
|
+
for (let a = 0; a < n.length; a++) {
|
|
29
|
+
const t = n[a].trim();
|
|
30
|
+
if (t && !t.startsWith("%%") && e.test(t))
|
|
31
|
+
return a;
|
|
32
|
+
}
|
|
33
|
+
return -1;
|
|
34
|
+
}
|
|
35
|
+
function u(n, e) {
|
|
36
|
+
return d(this, null, function* () {
|
|
37
|
+
var i;
|
|
38
|
+
const a = w(n, e), t = h;
|
|
39
|
+
if (typeof t.parse == "function")
|
|
40
|
+
return yield (i = t.parse) == null ? void 0 : i.call(t, a), !0;
|
|
41
|
+
throw new Error("mermaid.parse not available in worker");
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function k(n, e) {
|
|
45
|
+
return d(this, null, function* () {
|
|
46
|
+
const a = n.split(`
|
|
47
|
+
`), t = y(a);
|
|
48
|
+
if (t === -1)
|
|
49
|
+
return null;
|
|
50
|
+
const i = a.slice(0, t + 1);
|
|
51
|
+
yield u(i.join(`
|
|
52
|
+
`), e);
|
|
53
|
+
let r = t + 1, c = a.length, s = t + 1, o = 0;
|
|
54
|
+
const l = 12;
|
|
55
|
+
for (; r <= c && o < l; ) {
|
|
56
|
+
const f = Math.floor((r + c) / 2), g = [...i, ...a.slice(t + 1, f)].join(`
|
|
57
|
+
`);
|
|
58
|
+
o++;
|
|
59
|
+
try {
|
|
60
|
+
yield u(g, e), s = f, r = f + 1;
|
|
61
|
+
} catch (j) {
|
|
62
|
+
c = f - 1;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return [...i, ...a.slice(t + 1, s)].join(`
|
|
66
|
+
`);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
self.onmessage = (n) => d(null, null, function* () {
|
|
70
|
+
var i;
|
|
71
|
+
const e = n.data, a = (r) => self.postMessage(r), t = e.id;
|
|
72
|
+
try {
|
|
73
|
+
if (e.action === "canParse") {
|
|
74
|
+
const r = yield u(e.payload.code, e.payload.theme);
|
|
75
|
+
a({ id: t, ok: !0, result: r });
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (e.action === "findPrefix") {
|
|
79
|
+
const r = yield k(
|
|
80
|
+
e.payload.code,
|
|
81
|
+
e.payload.theme
|
|
82
|
+
);
|
|
83
|
+
a({ id: t, ok: !0, result: r });
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
a({ id: t, ok: !1, error: "Unknown action" });
|
|
87
|
+
} catch (r) {
|
|
88
|
+
a({ id: t, ok: !1, error: (i = r == null ? void 0 : r.message) != null ? i : String(r) });
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
export default b();
|
package/license
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 Simon He
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/package.json
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "markstream-vue",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.0.1",
|
|
5
|
+
"packageManager": "pnpm@10.23.0",
|
|
6
|
+
"description": "Vue 3 Markdown renderer optimized for large docs: progressive Mermaid, streaming diff code blocks, and fast real-time preview.",
|
|
7
|
+
"author": "Simon He",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"homepage": "https://github.com/Simon-He95/markstream-vue",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/Simon-He95/markstream-vue.git",
|
|
13
|
+
"homepage": "https://github.com/Simon-He95/markstream-vue#readme"
|
|
14
|
+
},
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/Simon-He95/markstream-vue/issues"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"vue",
|
|
20
|
+
"vue3",
|
|
21
|
+
"markdown",
|
|
22
|
+
"markdown-to-html",
|
|
23
|
+
"markdown-renderer",
|
|
24
|
+
"vue-markdown",
|
|
25
|
+
"vue-component",
|
|
26
|
+
"html",
|
|
27
|
+
"renderer",
|
|
28
|
+
"custom-component",
|
|
29
|
+
"mermaid",
|
|
30
|
+
"progressive-mermaid",
|
|
31
|
+
"streaming-diff",
|
|
32
|
+
"diff-codeblock",
|
|
33
|
+
"large-documents",
|
|
34
|
+
"performance",
|
|
35
|
+
"real-time-preview",
|
|
36
|
+
"markstream-vue"
|
|
37
|
+
],
|
|
38
|
+
"exports": {
|
|
39
|
+
".": {
|
|
40
|
+
"types": "./dist/index.d.ts",
|
|
41
|
+
"import": "./dist/index.js",
|
|
42
|
+
"require": "./dist/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./index.css": "./dist/index.css",
|
|
45
|
+
"./index.tailwind.css": "./dist/index.tailwind.css",
|
|
46
|
+
"./tailwind": "./dist/tailwind.ts",
|
|
47
|
+
"./workers/katexRenderer.worker": "./dist/workers/katexRenderer.worker.js",
|
|
48
|
+
"./workers/mermaidParser.worker": "./dist/workers/mermaidParser.worker.js"
|
|
49
|
+
},
|
|
50
|
+
"main": "./dist/index.js",
|
|
51
|
+
"module": "./dist/index.js",
|
|
52
|
+
"types": "./dist/index.d.ts",
|
|
53
|
+
"files": [
|
|
54
|
+
"dist",
|
|
55
|
+
"dist/workers"
|
|
56
|
+
],
|
|
57
|
+
"scripts": {
|
|
58
|
+
"dev": "pnpm run -C playground dev",
|
|
59
|
+
"test": "vitest",
|
|
60
|
+
"lint": "eslint . --cache",
|
|
61
|
+
"lint:fix": "pnpm run lint --fix",
|
|
62
|
+
"test:ui": "vitest --ui",
|
|
63
|
+
"test:update": "vitest -u",
|
|
64
|
+
"typecheck": "vue-tsc --noEmit",
|
|
65
|
+
"check:ssr": "vitest --run -t \"SSR import safety\"",
|
|
66
|
+
"prepublishOnly": "npm run build",
|
|
67
|
+
"play": "pnpm run -C playground dev",
|
|
68
|
+
"play:build": "pnpm run -C playground build",
|
|
69
|
+
"play:nuxt": "pnpm run -C playground-nuxt dev",
|
|
70
|
+
"play:nuxt:build": "pnpm run -C playground-nuxt build",
|
|
71
|
+
"play:nuxt:preview": "pnpm run -C playground-nuxt preview",
|
|
72
|
+
"preview": "pnpm run -C playground preview",
|
|
73
|
+
"build": "vite build --mode npm && vite build --config vite.config.tailwind.ts --mode npm && pnpm run build:dts",
|
|
74
|
+
"docs:dev": "vitepress dev docs",
|
|
75
|
+
"docs:sync-zh": "node scripts/sync-zh-docs.mjs",
|
|
76
|
+
"docs:check-zh": "node scripts/check-zh-parity.mjs",
|
|
77
|
+
"docs:build": "vitepress build docs",
|
|
78
|
+
"docs:build:netlify": "VITEPRESS_BASE=/ pnpm docs:build",
|
|
79
|
+
"docs:serve": "vitepress serve docs",
|
|
80
|
+
"docs:deploy": "VITEPRESS_BASE=/vue-markdown-render/ pnpm docs:build && pnpm docs:serve",
|
|
81
|
+
"docs:deploy:netlify": "pnpm docs:build && echo 'Docs built to docs/.vitepress/dist'",
|
|
82
|
+
"build:dts": "rollup -c ./scripts/rollup.dts.config.mjs && node ./scripts/clean-dts.cjs",
|
|
83
|
+
"build:demo": "vite build",
|
|
84
|
+
"build:view": "vite preview",
|
|
85
|
+
"release": "bumpp --commit --push --tag && npm publish",
|
|
86
|
+
"check:peer-deps": "node ./scripts/check-peer-deps.cjs"
|
|
87
|
+
},
|
|
88
|
+
"peerDependencies": {
|
|
89
|
+
"katex": ">=0.16.22",
|
|
90
|
+
"mermaid": ">=11",
|
|
91
|
+
"shiki": "^3.13.0",
|
|
92
|
+
"stream-markdown": ">=0.0.10",
|
|
93
|
+
"stream-monaco": ">=0.0.6",
|
|
94
|
+
"vue": ">=3.0.0",
|
|
95
|
+
"vue-i18n": ">=9"
|
|
96
|
+
},
|
|
97
|
+
"peerDependenciesMeta": {
|
|
98
|
+
"katex": {
|
|
99
|
+
"optional": true
|
|
100
|
+
},
|
|
101
|
+
"mermaid": {
|
|
102
|
+
"optional": true
|
|
103
|
+
},
|
|
104
|
+
"shiki": {
|
|
105
|
+
"optional": true
|
|
106
|
+
},
|
|
107
|
+
"stream-markdown": {
|
|
108
|
+
"optional": true
|
|
109
|
+
},
|
|
110
|
+
"stream-monaco": {
|
|
111
|
+
"optional": true
|
|
112
|
+
},
|
|
113
|
+
"vue-i18n": {
|
|
114
|
+
"optional": true
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"dependencies": {
|
|
118
|
+
"@floating-ui/dom": "^1.7.4"
|
|
119
|
+
},
|
|
120
|
+
"devDependencies": {
|
|
121
|
+
"@antfu/eslint-config": "^5.4.1",
|
|
122
|
+
"@types/markdown-it-emoji": "^3.0.1",
|
|
123
|
+
"@types/node": "^18.19.130",
|
|
124
|
+
"@vitejs/plugin-vue": "^5.2.4",
|
|
125
|
+
"@vitest/ui": "^4.0.13",
|
|
126
|
+
"@vue/test-utils": "^2.4.6",
|
|
127
|
+
"autoprefixer": "^10.4.22",
|
|
128
|
+
"bumpp": "^8.2.1",
|
|
129
|
+
"eslint": "^9.39.1",
|
|
130
|
+
"lint-staged": "^13.3.0",
|
|
131
|
+
"lz-string": "^1.5.0",
|
|
132
|
+
"markdown-it-emoji": "^3.0.0",
|
|
133
|
+
"picocolors": "^1.1.1",
|
|
134
|
+
"postcss-cli": "^11.0.1",
|
|
135
|
+
"rollup": "^3.29.5",
|
|
136
|
+
"rollup-plugin-dts": "^5.3.1",
|
|
137
|
+
"stream-markdown-parser": "workspace:^",
|
|
138
|
+
"tailwindcss": "^3.4.18",
|
|
139
|
+
"terser": "^5.44.1",
|
|
140
|
+
"tsx": "^4.20.6",
|
|
141
|
+
"typescript": "^5.9.3",
|
|
142
|
+
"unplugin-class-extractor": "^0.0.22",
|
|
143
|
+
"unplugin-vue-components": "^28.8.0",
|
|
144
|
+
"vite": "^7.2.4",
|
|
145
|
+
"vite-plugin-dts": "^4.5.4",
|
|
146
|
+
"vite-plugin-pages": "^0.33.1",
|
|
147
|
+
"vite-svg-loader": "^5.1.0",
|
|
148
|
+
"vitepress": "^1.6.4",
|
|
149
|
+
"vitest": "^4.0.13",
|
|
150
|
+
"vue": "^3.5.25",
|
|
151
|
+
"vue-tsc": "^2.2.12"
|
|
152
|
+
},
|
|
153
|
+
"pnpm": {
|
|
154
|
+
"overrides": {
|
|
155
|
+
"@vue/reactivity": "3.5.25",
|
|
156
|
+
"@vue/runtime-core": "3.5.25",
|
|
157
|
+
"@vue/runtime-dom": "3.5.25",
|
|
158
|
+
"vue": "3.5.25"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"lint-staged": {
|
|
162
|
+
"*.{vue,js,ts,jsx,tsx,md,json}": "eslint --fix"
|
|
163
|
+
}
|
|
164
|
+
}
|