dsh-markdown-editor-typora 0.0.0-stage → 1.4.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 +21 -0
- package/README.md +305 -2
- package/THIRD-PARTY-NOTICES.md +15 -0
- package/cordis.patch.yml +4 -0
- package/core.json +630 -0
- package/host/document-store.js +181 -0
- package/host/live-documents.js +526 -0
- package/host/native/file-worker.exe +0 -0
- package/host/native/file-worker.exe.build.json +10 -0
- package/host/native-worker-lease.js +127 -0
- package/host/native-worker-path.ps1 +63 -0
- package/host/package.json +1 -0
- package/host/safe-file.js +137 -0
- package/host/text-codec.js +67 -0
- package/host.json +50 -0
- package/icon.png +0 -0
- package/lib/client.js +6744 -0
- package/lib/index.js +1818 -0
- package/package.json +70 -4
- package/renderer-cm6/cm6/KaTeX_AMS-Regular-CYEKBG2K.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_AMS-Regular-JKX5W2C4.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_AMS-Regular-U6PRYMIZ.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Caligraphic-Regular-3LKEU76G.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Fraktur-Bold-T4SWXBMT.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Fraktur-Bold-WGHVTYOR.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Fraktur-Regular-5U4OPH2X.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Fraktur-Regular-PQMHCIK6.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-Bold-2GA4IZIN.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-Bold-W5FBVCZM.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-Bold-YP5VVQRP.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-BoldItalic-4P4C7HJH.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-BoldItalic-N4V3DX7S.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-Italic-I43T2HSR.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-Italic-RELBIK7M.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-Italic-SASNQFN2.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-Regular-ARRPAO67.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-Regular-P5I74A2A.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Main-Regular-W74P5G27.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Math-BoldItalic-6EBV3DK5.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Math-BoldItalic-K4WTGH3J.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Math-BoldItalic-VB447A4D.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Math-Italic-6KGCHLFN.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Math-Italic-KKK3USB2.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Math-Italic-SON4MRCA.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_SansSerif-Bold-RRNVJFFW.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_SansSerif-Bold-STQ6RXC7.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_SansSerif-Bold-X5M5EMOD.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_SansSerif-Italic-HMPFTM52.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_SansSerif-Italic-PSN4QKYX.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_SansSerif-Italic-WTBAZBGY.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_SansSerif-Regular-2TL3USAE.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_SansSerif-Regular-OQCII6EP.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_SansSerif-Regular-XIQ62X4E.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Script-Regular-72OLXYNA.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Script-Regular-A5IFOEBS.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Script-Regular-APUWIHLP.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Size1-Regular-4HRHTS65.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Size1-Regular-5LRUTBFT.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Size1-Regular-7K6AASVL.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Size2-Regular-222HN3GT.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Size2-Regular-K5ZHAIS6.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Size2-Regular-LELKET5D.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Size3-Regular-TLFPAHDE.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Size3-Regular-UFCO6WCA.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Size3-Regular-WQRQ47UD.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Size4-Regular-7PGNVPQK.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Size4-Regular-CDMV7U5C.woff2 +0 -0
- package/renderer-cm6/cm6/KaTeX_Size4-Regular-PKMWZHNC.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf +0 -0
- package/renderer-cm6/cm6/KaTeX_Typewriter-Regular-MJMFSK64.woff +0 -0
- package/renderer-cm6/cm6/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 +0 -0
- package/renderer-cm6/cm6/app.css +1 -0
- package/renderer-cm6/cm6/app.js +1216 -0
- package/renderer-cm6/cm6/fonts/KaTeX_AMS-Regular-CYEKBG2K.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_AMS-Regular-JKX5W2C4.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_AMS-Regular-U6PRYMIZ.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Caligraphic-Regular-3LKEU76G.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Fraktur-Bold-T4SWXBMT.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Fraktur-Bold-WGHVTYOR.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Fraktur-Regular-5U4OPH2X.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Fraktur-Regular-PQMHCIK6.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-Bold-2GA4IZIN.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-Bold-W5FBVCZM.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-Bold-YP5VVQRP.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-BoldItalic-4P4C7HJH.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-BoldItalic-N4V3DX7S.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-Italic-I43T2HSR.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-Italic-RELBIK7M.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-Italic-SASNQFN2.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-Regular-ARRPAO67.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-Regular-P5I74A2A.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Main-Regular-W74P5G27.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Math-BoldItalic-6EBV3DK5.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Math-BoldItalic-K4WTGH3J.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Math-BoldItalic-VB447A4D.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Math-Italic-6KGCHLFN.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Math-Italic-KKK3USB2.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Math-Italic-SON4MRCA.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_SansSerif-Bold-RRNVJFFW.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_SansSerif-Bold-STQ6RXC7.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_SansSerif-Bold-X5M5EMOD.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_SansSerif-Italic-HMPFTM52.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_SansSerif-Italic-PSN4QKYX.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_SansSerif-Italic-WTBAZBGY.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_SansSerif-Regular-2TL3USAE.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_SansSerif-Regular-OQCII6EP.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_SansSerif-Regular-XIQ62X4E.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Script-Regular-72OLXYNA.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Script-Regular-A5IFOEBS.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Script-Regular-APUWIHLP.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size1-Regular-4HRHTS65.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size1-Regular-5LRUTBFT.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size1-Regular-7K6AASVL.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size2-Regular-222HN3GT.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size2-Regular-K5ZHAIS6.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size2-Regular-LELKET5D.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size3-Regular-TLFPAHDE.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size3-Regular-UFCO6WCA.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size3-Regular-WQRQ47UD.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size4-Regular-7PGNVPQK.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size4-Regular-CDMV7U5C.woff2 +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Size4-Regular-PKMWZHNC.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Typewriter-Regular-MJMFSK64.woff +0 -0
- package/renderer-cm6/cm6/fonts/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 +0 -0
- package/renderer-cm6/cm6/markdown-worker.js +6 -0
- package/renderer-cm6/cm6/mermaid.min.js +3636 -0
- package/renderer-cm6/dsh-bridge.js +734 -0
- package/renderer-cm6/dsh-interaction.js +173 -0
- package/renderer-cm6/dsh-mp-tools.js +820 -0
- package/renderer-cm6/dsh-selection.js +345 -0
- package/renderer-cm6/index.html +245 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 ltmroberthk915
|
|
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/README.md
CHANGED
|
@@ -1,3 +1,306 @@
|
|
|
1
|
-
|
|
1
|
+
> **更名(1.4.0 起):** 本插件包名改为 **`dsh-markdown-editor-typora`**(原 `dsh-markdown-typora` 停在 1.3.x)。安装:`dsh plugin --profile desktop add dsh-markdown-editor-typora@1.4.0`。
|
|
2
|
+
|
|
3
|
+
# dsh-markdown-typora
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
## MarkPilot for DSH 1.1 · IDE 式 Markdown × AI 工作台
|
|
6
|
+
|
|
7
|
+
**一边写文档,一边聊 AI,让思路直接变成项目里的 Markdown。** 文件树、编辑器与 AI 对话同屏,整理方案、推敲公式、编写项目文档,都能边写边讨论。
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
- **选中即聊,精准交给 AI。** 选中文段,一键把 Markdown 源码和文件路径插入当前对话输入框;支持 Ctrl/Cmd+Shift+Enter,也可用 `@mp` 引用当前文档。检查后再发送,上下文由你掌控。
|
|
12
|
+
- **像 IDE 一样安排工作空间。** 文件、正文、对话并排,拖动分栏分配空间;收起工具栏专注写作,关闭编辑器恢复原生布局。
|
|
13
|
+
- **项目切换,思路不断。** 每个工作目录记住最近打开的笔记;同目录切会话保留文档,跨目录可跟随项目,也可固定当前文档。
|
|
14
|
+
- **灵感来了,先写再存。** 直接打开空白稿,首次保存落在所属工作目录;最近文档、文件列表、空白起笔任你选,无历史时另设打开方式。
|
|
15
|
+
- **技术写作,也能赏心悦目。** Typora 式即时渲染、可编辑公式与表格、离线 Mermaid、十套主题与透明外观。
|
|
16
|
+
- **保存有反馈,写作少打断。** 自动保存、版本冲突提示与草稿恢复;未保存持续显示,已保存三秒后消失。
|
|
17
|
+
|
|
18
|
+
**开始使用:** `dsh plugin --profile desktop add dsh-markdown-typora@1.1.0`。重启 DSH,点击左侧 **Markdown**;打开策略位于 **设置 → Markdown 编辑器 → 打开与切换**。
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
**1.1.1:** 点开会话只恢复该目录上次打开的文档,不再自动弹出文件列表;文件列表与空白稿在点击左侧 **Markdown** 时打开。安装:`dsh plugin --profile desktop add dsh-markdown-typora@1.1.1`
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
**1.1.2:** × 关闭记忆按你关掉的那份文档所属目录记录,关闭成功才生效。安装:`dsh plugin --profile desktop add dsh-markdown-typora@1.1.2`
|
|
27
|
+
|
|
28
|
+
**1.2.0:** 对话里的文件链接、切会话恢复的 Markdown 默认按文档工作台打开(左列表 + 左上角收起/关闭按钮);设置里可改回全宽浮层。安装:`dsh plugin --profile desktop add dsh-markdown-typora@1.2.0`
|
|
29
|
+
|
|
30
|
+
**1.2.1:** DSH 重启后恢复的 .md 标签也会被接管进文档工作台,不再停在宿主预览里。安装:`dsh plugin --profile desktop add dsh-markdown-typora@1.2.1`
|
|
31
|
+
|
|
32
|
+
**1.2.2:** 链接打开的 md 进中间后,右栏的重复标签会自动关闭,右栏不再为此弹出。安装:`dsh plugin --profile desktop add dsh-markdown-typora@1.2.2`
|
|
33
|
+
|
|
34
|
+
**1.3.1:** 消息里的 `file://` Markdown 链接(此前点了没反应)与绝对路径 `.md` 芯片现在都在捕获阶段被接管,解析成本地路径后直接进中间工作台,不再弹出右栏的改动对比;1.3.0 的认证 fail-closed 宿主修复一并包含。安装:`dsh plugin --profile desktop add dsh-markdown-typora@1.3.1`
|
|
35
|
+
|
|
36
|
+
**1.3.2:** 修外部修改不刷新(1–2 秒内自动采纳;有草稿时显示可操作的冲突横幅);修主题不保持(保留所选主题,宿主明暗切换只切同族);修左右侧栏手柄位置不保持(切会话回来按上次拖动恢复);透明模式下重新应用设置会恢复透明。安装:`dsh plugin --profile desktop add dsh-markdown-typora@1.3.2`
|
|
37
|
+
|
|
38
|
+
**1.4.0(更名):** 包名改为 `dsh-markdown-editor-typora`;含 1.3.2 的三项修复 + live 刷新路径加固。安装:`dsh plugin --profile desktop add dsh-markdown-editor-typora@1.4.0`
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
[下载 1.1.0](https://github.com/ltmroberthk915/markpilot/releases/tag/dsh-markdown-typora-v1.1.0) · [npm](https://www.npmjs.com/package/dsh-markdown-typora/v/1.1.0)
|
|
47
|
+
|
|
48
|
+
## MarkPilot for DSH 1.1 · An IDE-style Markdown workspace beside your AI
|
|
49
|
+
|
|
50
|
+
**Write, discuss and keep the result in your project.** Bring files, Markdown editing and DSH chat together for project docs, research notes and technical writing.
|
|
51
|
+
|
|
52
|
+
- **Give AI exactly the context you choose.** Insert selected Markdown source and its file path into the chat composer with one click or Ctrl/Cmd+Shift+Enter. Reference the open document with `@mp`; review before sending.
|
|
53
|
+
- **Arrange your workspace like an IDE.** Keep files, editor and chat side by side. Resize columns, tuck away the toolbar and restore the native layout when you close the editor.
|
|
54
|
+
- **Pick up where each project left off.** Resume the last-opened note per working directory. Keep your document across same-directory conversations; follow a different project or keep the current note open.
|
|
55
|
+
- **Start with an idea, save it where it belongs.** Open a blank note and save directly into its original directory, or start from recent notes or the Files panel. Choose a separate fallback for projects without history.
|
|
56
|
+
- **Full Markdown editing, beautifully presented.** Typora-style live rendering, editable math and tables, offline Mermaid, ten themes and adjustable transparency.
|
|
57
|
+
- **Stay informed without losing focus.** Autosave, version-conflict notices and draft recovery. Unsaved status stays visible; saved status clears after three seconds.
|
|
58
|
+
|
|
59
|
+
**Install:** `dsh plugin --profile desktop add dsh-markdown-typora@1.1.0`. Restart DSH and click **Markdown**. Opening preferences: **Settings → Markdown 编辑器 → 打开与切换**.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
**1.1.1:** conversation switching restores only the note from that working directory; the file list opens when you click **Markdown**. Install: `dsh plugin --profile desktop add dsh-markdown-typora@1.1.1`
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
**1.1.2:** the × close memory follows the document you actually closed, and only a real close counts. Install: `dsh plugin --profile desktop add dsh-markdown-typora@1.1.2`
|
|
68
|
+
|
|
69
|
+
**1.2.0:** a Markdown file opened from a conversation link or restored by a working directory opens in the document workspace by default (file list and the floating collapse/close buttons); a setting switches back to the full-width view. Install: `dsh plugin --profile desktop add dsh-markdown-typora@1.2.0`
|
|
70
|
+
|
|
71
|
+
**1.2.1:** Markdown tabs restored at startup are adopted into the document workspace instead of staying in the right-side preview. Install: `dsh plugin --profile desktop add dsh-markdown-typora@1.2.1`
|
|
72
|
+
|
|
73
|
+
**1.2.2:** a Markdown link opens in the middle workspace and the duplicate right-sidebar tab closes itself. Install: `dsh plugin --profile desktop add dsh-markdown-typora@1.2.2`
|
|
74
|
+
|
|
75
|
+
**1.3.1:** `file://` Markdown links in a message (previously inert) and absolute `.md` path chips are taken over in the capture phase and opened in the middle workspace instead of bringing up the sidebar change preview. This build includes the 1.3.0 fail-closed host authentication fix. Install: `dsh plugin --profile desktop add dsh-markdown-typora@1.3.1`
|
|
76
|
+
|
|
77
|
+
**1.3.2:** external edits reach the editor (1–2 s; unsaved drafts show an actionable banner); the chosen editor theme survives host light/dark switches and conversation switches; dragged sidebar/right-bar widths are restored after a conversation switch; re-applying the transparency setting restores transparency. Install: `dsh plugin --profile desktop add dsh-markdown-typora@1.3.2`
|
|
78
|
+
|
|
79
|
+
**1.4.0 (renamed):** the package is now `dsh-markdown-editor-typora`. It carries the 1.3.2 fixes plus hardening of the live refresh path. Install: `dsh plugin --profile desktop add dsh-markdown-editor-typora@1.4.0`
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
[Get 1.1.0](https://github.com/ltmroberthk915/markpilot/releases/tag/dsh-markdown-typora-v1.1.0)
|
|
88
|
+
|
|
89
|
+
*以下保留各产品与历史版本介绍;DSH 插件当前安装方式以本节 1.1.0 为准。* *Historical product and version details remain below; the 1.1.0 instructions above are current.*
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
**A Markdown editor for the DeepSeek Harness right sidebar, built on MarkPilot CM6 3.6.17.**
|
|
93
|
+
|
|
94
|
+
Write Markdown in DSH with Typora-style live rendering; select a passage and send its **Markdown source** straight into the current conversation.
|
|
95
|
+
|
|
96
|
+
## Screenshots
|
|
97
|
+
|
|
98
|
+
| | |
|
|
99
|
+
| --- | --- |
|
|
100
|
+
| **Selection → chat, inside DSH**<br> | **A formula block, Typora-style — click a glyph and the source caret lands on it**<br> |
|
|
101
|
+
| **Notion dark**<br> | **护眼米黄 (sepia light)**<br> |
|
|
102
|
+
| **9 themes, switchable from the toolbar**<br> | **A selection that crosses inline formulas**<br> |
|
|
103
|
+
| **Table cells are real cells**<br> | **Images render in the document**<br> |
|
|
104
|
+
|
|
105
|
+
## Beyond Typora, inside DSH
|
|
106
|
+
|
|
107
|
+
- **Click a formula to edit its source** — block and inline math expand to the editable `$…$` source in place, and return to the rendered form when the caret leaves.
|
|
108
|
+
- **Selections keep formulas whole** — a selection that crosses inline math carries complete formulas; copy and cut hand back the Markdown source, not the rendered glyphs.
|
|
109
|
+
- **Table cells, not table text** — an alignment toolbar appears over the table, with row/column operations, escaped pipes, Chinese IME composition and undo/redo kept in sync with the cell source.
|
|
110
|
+
- **Ten built-in themes** — 宋韵 (dark, light and the restored V2 deep-blue), Notion (dark/light), Solarized (dark/light), GitHub dark, 护眼米黄 and 柔和淡绿. Follow the host, or pick one from the toolbar.
|
|
111
|
+
- **Live Mermaid, KaTeX and the Markdown worker, all offline** — diagrams, math and fonts load from the plugin; there is no CDN in the path.
|
|
112
|
+
- **Large documents** — the Markdown syntax tree is built in a web worker, so a 150,000-character document loads and accepts typing without the UI thread parsing it.
|
|
113
|
+
- **Selection → chat** — the DSH-specific move: the selection's Markdown source goes into the current conversation from the floating button or `Ctrl/Cmd + Shift + Enter`.
|
|
114
|
+
- **Guarded saves** — version-checked writes, a conflict banner instead of an overwrite, and a recovery slot when a tab closes with unsaved edits.
|
|
115
|
+
|
|
116
|
+
## Features
|
|
117
|
+
|
|
118
|
+
- **Real editor, not a preview** — CodeMirror 6 with live headings, lists, tables, inline math, code blocks and Mermaid.
|
|
119
|
+
- **Selection → chat** — a floating **Insert into chat** button appears beside a selection; `Ctrl/Cmd + Shift + Enter` does the same. The payload starts with the document's absolute path, then a blank line and the Markdown source (not the rendered text), inserted at the composer caret without stealing focus.
|
|
120
|
+
- **Guarded saves** — debounced autosave with version checks; `Ctrl/Cmd + S` saves immediately with a visible result, whether the caret is in the editor or elsewhere in the panel. An external edit is never overwritten. A dirty buffer is kept in a recovery slot when the tab closes.
|
|
121
|
+
- **Shared notes across windows** — the same file can be edited in the MarkPilot desktop app and the DSH sidebar at once. Unsaved changes are exchanged live, each window keeps its own undo history, and a genuine conflict is reported with the draft preserved.
|
|
122
|
+
- **Save files outside the session workspace** — a file opened from the sidebar saves directly to its own folder even when it sits outside the workspace root of the current session; version checks and conflict warnings are unchanged. Files that are read-only or locked at the OS level still report an error.
|
|
123
|
+
- **Theme-aware** — follows the host's light/dark theme, including the first frame.
|
|
124
|
+
- **Offline assets** — KaTeX fonts, the Markdown worker and Mermaid ship with the plugin; no CDN.
|
|
125
|
+
- **Document reference** — type `@mp` in the composer to reference the open document.
|
|
126
|
+
- **Local images in the document** — `` and parent-folder references such as `` render in the panel, read through the plugin's own read-only image route; a file that is genuinely missing still shows an explicit placeholder instead of an empty box.
|
|
127
|
+
- **Edit right beside an image** — a click in the blank to the right of an image starts editing on the following line (headings, lists and task items keep their markers), instead of opening the image's Markdown source; clicking the image itself still opens its source.
|
|
128
|
+
|
|
129
|
+
## What's new in the 3.6.17 engine
|
|
130
|
+
|
|
131
|
+
The editor engine is the same accepted build that ships with MarkPilot 3.6.17. Since the 0.3.4 plugin, the right sidebar gained the engine's multi-window work and the save-path fixes that came with it:
|
|
132
|
+
|
|
133
|
+
- **Shared editing across windows** — the same note can be open in the desktop app and the DSH sidebar. Unsaved edits are exchanged live, each window undoes only its own typing, and a real conflict is shown with the draft kept instead of overwriting the other window.
|
|
134
|
+
- **Save while typing** — a save in flight is re-synced to the latest text; an external writer is detected and reported; the recovery banner's **Keep my changes** now actually writes the shared draft; and a cut → undo → redo followed by Ctrl+S no longer fails as an invalid collaborative edit.
|
|
135
|
+
- **Reverse selections** — dragging from a rendered formula across code, images or into the previous paragraph keeps the selection under the pointer, including auto-scroll at the top edge.
|
|
136
|
+
- **Table and rich-paste editing** — cell commands, End/Backspace, escaped pipes, Chinese IME composition, and pasted HTML tables keep captions, source links, inline images and alignment.
|
|
137
|
+
- **Cross-note cut** — real images and local Markdown links are re-based when a passage moves between lecture and summary notes; included definitions are renamed without breaking existing references.
|
|
138
|
+
- **Plugin manager reload** — notes opened after a plugin reload still join the live session, and repeated reloads reuse the background writer instead of leaking workers.
|
|
139
|
+
- **Restored V2 theme** — the final V2 release's deep-blue Song palette is back as **宋韵 深蓝** (#2E3440), a tenth built-in theme; the existing 宋韵 深色 stays unchanged.
|
|
140
|
+
|
|
141
|
+
## Install
|
|
142
|
+
|
|
143
|
+
### From npm
|
|
144
|
+
|
|
145
|
+
```sh
|
|
146
|
+
dsh plugin --profile web add dsh-markdown-typora
|
|
147
|
+
dsh plugin --profile desktop add dsh-markdown-typora
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Or open **Settings → Plugins → Add plugin** and enter `dsh-markdown-typora`. Restart the host afterwards; the plugin then appears on the **Plugins** page and opens from the right sidebar.
|
|
151
|
+
|
|
152
|
+
### From a GitHub release
|
|
153
|
+
|
|
154
|
+
Download `dsh-markdown-typora-0.3.12.tgz` from the [MarkPilot releases](https://github.com/ltmroberthk915/markpilot/releases) and add it to the profile that runs your host:
|
|
155
|
+
|
|
156
|
+
```sh
|
|
157
|
+
dsh plugin --profile web add ./dsh-markdown-typora-0.3.12.tgz
|
|
158
|
+
dsh plugin --profile desktop add ./dsh-markdown-typora-0.3.12.tgz
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
When the npm registry lists 0.3.12, installing by package name above gives this build; if the registry copy still lags, use the TGZ above to get exactly 0.3.12.
|
|
162
|
+
### Manual (development checkout)
|
|
163
|
+
|
|
164
|
+
The plugin is the `dsh-markdown-typora/` subdirectory of the [MarkPilot repository](https://github.com/ltmroberthk915/markpilot). To load a checkout as a bundle:
|
|
165
|
+
|
|
166
|
+
```sh
|
|
167
|
+
git clone https://github.com/ltmroberthk915/markpilot.git
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Then add a junction/symlink from the profile's `node_modules` to `markpilot/dsh-markdown-typora`, add `"dsh-markdown-typora"` to the profile `package.json`'s `dsh.profile.bundles`, and restart the host. The plugin must be a bundle, not a raw `cordis.patch.yml` file-URL insert, to appear in the Plugins page.
|
|
171
|
+
|
|
172
|
+
## Use
|
|
173
|
+
|
|
174
|
+
1. Open the right sidebar, press `Ctrl+P` (workspace files) and click a `.md` file.
|
|
175
|
+
2. Write; the editor autosaves after 1.5 s and refuses to overwrite a newer file on disk.
|
|
176
|
+
3. Select a passage → click **Insert into chat** (or `Ctrl/Cmd + Shift + Enter`). The document's absolute path is placed at the top, then a blank line and the selection.
|
|
177
|
+
4. To undo the insertion, click back into the composer and press `Ctrl/Cmd + Z`; focus stays in the editor by design.
|
|
178
|
+
|
|
179
|
+
## How it is built
|
|
180
|
+
|
|
181
|
+
The editor engine is the already-built MarkPilot CM6 3.6.17 renderer, copied byte-for-byte into `renderer-cm6/cm6/`. The plugin adds only:
|
|
182
|
+
|
|
183
|
+
- `renderer-cm6/index.html` + `dsh-bridge.js` + `dsh-selection.js` — the DSH skin and selection bridge;
|
|
184
|
+
- `lib/index.js` — static routes, version-guarded file API, SSE change stream;
|
|
185
|
+
- `lib/client.js` — the right-sidebar tab, iframe lifecycle, save/conflict/recovery, composer insertion.
|
|
186
|
+
|
|
187
|
+
The engine source is not modified. `core.json` records the version and a SHA-256 for every core file. Maintainers of the MarkPilot monorepo can refresh it with:
|
|
188
|
+
|
|
189
|
+
```sh
|
|
190
|
+
node dsh-markdown-typora/scripts/sync-core.mjs
|
|
191
|
+
node dsh-markdown-typora/scripts/sync-core.mjs --check
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Known limits
|
|
195
|
+
|
|
196
|
+
- Desktop-only MarkPilot features that need Electron native APIs (export, image picker) may be unavailable in DSH.
|
|
197
|
+
- Image references are resolved against the document's folder, so relative paths (`assets/…`, `../figures/…`) work; an absolute Windows path (``) does not render in DSH, and a reference whose filename contains `#`, `?` or `%` cannot be addressed as a URL.
|
|
198
|
+
- A selection over 256 KiB is rejected with a message instead of being silently truncated.
|
|
199
|
+
- Insertion does not steal focus; undo it from the composer.
|
|
200
|
+
- Requires a DSH host whose `connection` service exposes `requestRejection` (verified on DSH 0.2.1-rc.5). Hosts without it are refused with `503 host-auth-unavailable`; 1.3+ deliberately does not fall back to loopback authentication.
|
|
201
|
+
|
|
202
|
+
## License
|
|
203
|
+
|
|
204
|
+
MIT. The MarkPilot engine and its bundled Mermaid/KaTeX assets retain their upstream licenses; see [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md).
|
|
205
|
+
|
|
206
|
+
## MarkPilot 1.0
|
|
207
|
+
|
|
208
|
+
Enjoy a wider writing canvas, compact vertical workbench controls, live transparency and theme updates, and stable table editing when moving between your document and AI chat. Closing the editor restores the native workspace layout; an optional setting keeps adjustable split handles available. Windows layout and file-worker optimizations improve responsiveness while preserving existing editor features.
|
|
209
|
+
|
|
210
|
+
Install this release with `dsh plugin --profile desktop add dsh-markdown-typora@1.0.0`, or use `dsh-markdown-typora-1.0.0.tgz` from the matching GitHub release. The earlier version-specific examples above remain as historical installation examples.
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
## MarkPilot 1.1 · Workspace memory
|
|
214
|
+
|
|
215
|
+
Click Markdown to return to the last note opened in the current conversation’s working directory. In **Settings → Markdown 编辑器 → 打开与切换**, choose a recent note, the native Files panel, or a blank document; choose a separate fallback when no recent note exists. Recent notes follow the order you opened them, independent of file modification times.
|
|
216
|
+
|
|
217
|
+
Switching to another working directory follows this opening choice by default. Select **保持当前文档** to keep your note across directories. Conversations in the same directory always preserve the current document. Unsaved notes stay in local recovery when switching safely.
|
|
218
|
+
|
|
219
|
+
Blank documents create no file until their first Ctrl/Cmd+S. That save creates a uniquely named `未命名-….md` directly in the original working directory; subsequent edits autosave. Rename the file using your normal file tools after saving. The top save indicator shows only **未保存** while dirty and **已保存** for three seconds after a confirmed save.
|
|
220
|
+
|
|
221
|
+
Install `dsh-markdown-typora@1.1.0` or the matching GitHub release archive, then restart DSH. Windows and DSH 0.2.2-rc.1 are the validated combination for these workspace features; the bundled editor core remains 3.6.17.
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
## MarkPilot for DSH 1.1.1 · 打开更安静 / A quieter open
|
|
227
|
+
|
|
228
|
+
点开会话时,编辑器只恢复该工作目录上次打开的文档;该目录还没有文档时不弹文件列表、也不新建空白稿,跟随模式下会收起上一个目录的文档。文件列表与空白文档在点击左侧 Markdown 时按设置打开。同一目录内切换会话仍保留当前文档与未保存内容。用 × 关掉编辑区后该工作目录会被记住,下次点开会话不再自动弹出文档或文件列表,直到你重新打开这个目录里的文档(点 Markdown 或从文件树打开);未保存的草稿仍留在本地,点 Markdown 可以接着写。
|
|
229
|
+
|
|
230
|
+
Switching conversations restores only the note from that working directory. A directory without a note stays quiet: no file list, no blank document, and a document from another directory steps aside. The file list and blank notes open when you click Markdown, following the opening settings. Conversations in the same directory keep the current document and unsaved edits. Closing the editor with × is remembered per working directory: conversations there open without the editor or the file list until you open a document from that directory again (click Markdown, or open it from the file tree). Unsaved drafts stay on disk and are restored when you click Markdown.
|
|
231
|
+
|
|
232
|
+
Install `dsh-markdown-typora@1.1.1` or the matching GitHub release archive, then restart DSH.
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
## MarkPilot for DSH 1.1.2 · 关的是哪份,就记哪份 / The project you closed stays quiet
|
|
237
|
+
|
|
238
|
+
用 × 关掉编辑区时,记忆落在你关掉的那份文档所属的工作目录,而不是此刻会话所在的目录;关闭没真正完成时不留记忆。重新打开该目录里的文档(点 Markdown、最近列表或文件树)即恢复自动打开。
|
|
239
|
+
|
|
240
|
+
Closing the editor with × remembers the working directory of the document you actually closed, not the conversation in front. A close that cannot complete yet leaves no memory. Opening a document from that directory again restores automatic opening.
|
|
241
|
+
|
|
242
|
+
Install `dsh-markdown-typora@1.1.2` or the matching GitHub release archive, then restart DSH.
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
## MarkPilot for DSH 1.2.0 · 被动打开也带那组按钮 / Same controls wherever a document opens
|
|
246
|
+
|
|
247
|
+
对话里的文件链接、切会话时恢复的 Markdown 默认按文档工作台打开(左列表 + 左上角收起/关闭按钮),与点 Markdown 一致;可在设置里改回全宽浮层。
|
|
248
|
+
|
|
249
|
+
A Markdown file opened from a conversation link or restored by a working directory opens in the document workspace by default, with the file list and the floating collapse/close buttons. A setting switches back to the full-width view.
|
|
250
|
+
|
|
251
|
+
Install `dsh-markdown-typora@1.2.0` or the matching GitHub release archive, then restart DSH.
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
## MarkPilot for DSH 1.2.1 · 重启后恢复的文档也进工作台
|
|
255
|
+
|
|
256
|
+
DSH 重启后恢复的 .md 标签会被接管进文档工作台,不再停在宿主预览;只含这些预览的右栏会被收起;设置里可改回全宽浮层。× 关闭记忆保持不变。
|
|
257
|
+
|
|
258
|
+
Markdown tabs restored at startup are adopted into the document workspace instead of staying in the right-side preview; the setting switches back to the full-width view. Closing with × keeps its meaning.
|
|
259
|
+
|
|
260
|
+
Install `dsh-markdown-typora@1.2.1` or the matching GitHub release archive, then restart DSH.
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
## MarkPilot for DSH 1.2.2 · 点链接不再弹右栏
|
|
264
|
+
|
|
265
|
+
对话里的 Markdown 链接开进中间工作台后,右栏的重复标签会自动关闭;右栏只剩它时随之一并收起。
|
|
266
|
+
|
|
267
|
+
A Markdown link opens in the middle workspace and the duplicate right-sidebar tab closes itself.
|
|
268
|
+
|
|
269
|
+
Install `dsh-markdown-typora@1.2.2` or the matching GitHub release archive, then restart DSH.
|
|
270
|
+
|
|
271
|
+
## MarkPilot for DSH 1.3.0 · 认证 fail-closed / Fail-closed authentication
|
|
272
|
+
|
|
273
|
+
文件 API 的信任栅栏现在只认宿主的 `connection.requestRejection`:宿主缺少这个能力(或 `connection` 服务不存在)时,插件对自身全部路由返回 `503 host-auth-unavailable`,并打一条明确的启动日志。此前的 loopback Host/Origin 兜底放行已删除——它在认证能力缺失时等于跳过鉴权;1.3.0 起不再兼容这类旧宿主,宁可插件不可用,也不放行未认证的文件读写。
|
|
274
|
+
|
|
275
|
+
The file API's trust fence now trusts only the host's `connection.requestRejection`. A host that lacks the capability — or has no `connection` service — receives `503 host-auth-unavailable` on every plugin route, and a single startup warning explains why. The loopback Host/Origin fallback is gone: when authentication is unavailable it silently skipped the check, so 1.3.0 drops compatibility with such hosts instead of failing open. This is the fail-closed behavior requested in [polang233/dsh-plugin-index#213](https://github.com/polang233/dsh-plugin-index/issues/213).
|
|
276
|
+
|
|
277
|
+
Install `dsh-markdown-typora@1.3.0` or the matching GitHub release archive, then restart DSH.
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
## MarkPilot for DSH 1.3.1 · 文档链接一律进工作台
|
|
281
|
+
|
|
282
|
+
消息里的 `file://` Markdown 链接此前点击没有任何反应;1.3.1 起在捕获阶段解析成本地路径并在中间工作台打开。绝对路径的 `.md` 芯片同样走工作台,不再连带弹出右栏的改动对比。本版同时包含 1.3.0 的认证 fail-closed 宿主修复。
|
|
283
|
+
|
|
284
|
+
`file://` Markdown links and absolute `.md` path chips now open in the middle workspace instead of being ignored or opening the sidebar change preview. Includes the 1.3.0 fail-closed host authentication fix.
|
|
285
|
+
|
|
286
|
+
Install `dsh-markdown-typora@1.3.1` or the matching GitHub release archive, then restart DSH.
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
## MarkPilot for DSH 1.3.2 · 外部修改会刷新了
|
|
290
|
+
|
|
291
|
+
外部进程(另一个会话、git、编辑器)改写正在打开的 md 后,插件会自动从磁盘采纳新内容:协同编辑房间在收到变更事件后先向磁盘对齐,再把差异下发给编辑区;干净文档 1–2 秒内更新。
|
|
292
|
+
|
|
293
|
+
有未保存草稿时不再静默:「文件已在磁盘上更新」横幅提供「重载磁盘版本」(用磁盘内容覆盖草稿)与「复制我的内容」(保留草稿)。
|
|
294
|
+
|
|
295
|
+
External edits now reach the editor: a live room adopts the disk text before pushing deltas, and an unsaved draft surfaces an actionable banner instead of stale content.
|
|
296
|
+
|
|
297
|
+
Install `dsh-markdown-typora@1.3.2` or the matching GitHub release archive, then restart DSH.
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
## MarkPilot for DSH 1.4.0 · 更名
|
|
301
|
+
|
|
302
|
+
包名改为 `dsh-markdown-editor-typora`(原 `dsh-markdown-typora` 停在 1.3.x)。内部路由前缀、tab 类型与恢复槽键随包名一起更新;设置与最近文档存储键(`dsh.markpilot.*`)保持不变,升级后用户设置不丢。
|
|
303
|
+
|
|
304
|
+
The package is renamed to `dsh-markdown-editor-typora`; internal route prefix, tab type and recovery-slot keys follow the new name, while `dsh.markpilot.*` settings storage is unchanged.
|
|
305
|
+
|
|
306
|
+
Install `dsh-markdown-editor-typora@1.4.0` or the matching GitHub release archive, then restart DSH.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
`dsh-markdown-editor-typora` is a DSH wrapper around the already-built MarkPilot CM6 renderer.
|
|
4
|
+
The following upstream projects are included in, or bundled by, that renderer:
|
|
5
|
+
|
|
6
|
+
- **MarkPilot** — MIT — <https://github.com/ltmroberthk915/markpilot>
|
|
7
|
+
- **CodeMirror 6** — MIT — <https://github.com/codemirror/dev>
|
|
8
|
+
- **Mermaid** — MIT — <https://github.com/mermaid-js/mermaid>
|
|
9
|
+
- **KaTeX** — MIT — <https://github.com/KaTeX/KaTeX>
|
|
10
|
+
- **KaTeX fonts** — SIL Open Font License 1.1 — <https://github.com/KaTeX/KaTeX/tree/main/fonts>
|
|
11
|
+
|
|
12
|
+
The plugin's own code (`lib/`, `renderer-cm6/index.html`,
|
|
13
|
+
`renderer-cm6/dsh-bridge.js`, `renderer-cm6/dsh-selection.js`) is MIT; see
|
|
14
|
+
[LICENSE](LICENSE). The built files under `renderer-cm6/cm6/` are copied
|
|
15
|
+
byte-for-byte from MarkPilot and retain their upstream notices.
|
package/cordis.patch.yml
ADDED