# Lunar Markdown Editor **Repository Path**: daylanwork/Lunar-Markdown-Editor ## Basic Information - **Project Name**: Lunar Markdown Editor - **Description**: Markdown to CHM editor. Can't compile, but can create CHM Project files. 最新试验版下载地址: - **Primary Language**: C# - **License**: MIT - **Default Branch**: develop - **Homepage**: https://gitee.com/lunarsf/Lunar-Markdown-Editor/attach_files - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 46 - **Created**: 2023-10-02 - **Last Updated**: 2024-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 最新版安装包下载地址见附件页: 稳定版会以项目 release 的方式发布,软件启动时会自动检查是否需要升级稳定版——Gitee 是唯一的正版下载渠道。 ## 关于 Lunar Markdown Editor (LME) LME 是个 Markdown 编辑器,适合用来创建 CHM 文档。如果不需要 CHM,也可以直接导出工作区中所有 Html 文件——直接用浏览器阅读。 ![主界面](https://images.gitee.com/uploads/images/2021/0427/074213_3bf874c0_310357.png "主界面.png") > 能创建 CHM 工程文件(含目录文件、索引文件),但不能编译 CHM, > 编译 CHM 需要另行下载微软的 Html Help Workshop,官方网址在:。 ### 特点 #### 不追求简洁,只追求实用 与常见 Markdown 编辑器不同:LME 走的是 IDE 的路子,适合用来制作 CHM。 有网友觉得 CHM 过时了。CHM **确实过时了** —— 但是方便啊! EPub 好不?真香——但是老机器不一定支持啊。各有应用场景而已,不必太纠结的。 :heart_eyes: 也有网友评论说“想到什么写什么”——但是我想不到的时候自然不会做啊!想到了、用得着自然就想办法实现它了。 :smile: 这个得想开点了。有时候确实会出现新功能导致旧功能变得没必要的情况。 > 例如:“加编号替换”这个功能目前看来已经毫无必要了。 还有网友觉得自己扩展语法是个恶习,应当遵照标准 Markdown 语法来。这个问题我的理解是:LME 的写法可以看成一种 Markdown 方言。如果实在喜欢标准 Markdown ,可以不使用 LME 扩展的东东。 > 其实 Markdown 的发明者 John Gruber 本身便不同意 Markdown 的所谓“标准化”。——故事的起因既有 Markdown 本身的追求就不是标准化,也有搞 Markdown 标准化的那批大佬竟然忘了邀请这位真正的发明者!!好玩不? > Markdown 本身便是追求方便、快捷、简单、自由——虽然这些要素之间多少还有些矛盾,但也给了我添加一些语法糖的理由——不喜欢的话忽略这些语法糖就可以了。 #### 工作区管理 在 LME 中,首先要设置当前`工作区`目录, 然后才能创建 Markdown 文件。 同一工作区目录下创建的 Markdown 文件之间可以相互引用,只需要点点鼠标就可以, 完全不需要用户再手工编写文件间的相互链接。 > 切勿嵌套工作区——链接会乱成一锅粥。 #### 多界面布局透视图支持 适用多种使用场景,均可以快捷键快速切换。快捷键使用方式类似:先按 `F11`,松开后再按 `F3`(表示为 `F11>F3`)。 #### 增强编辑辅助 * 提供了多种查找功能,可以方便地在`文件间`和`文件内部各元素`间相互跳转。 LME 的查找/替换功能十分强大,既可以支持正则表达式,也可以使用通配符。并且为方便执行多规则复杂替换来整理文本,还支持批量替换。实在特殊的查找/替换功能还可以支持编写自定义脚本来实现。 * 提供了 Markdown 文本的高亮显示功能(不完美)。 * 提供了 Markdown 文本的折叠功能。 * 提供了大量快捷键。 * 图像数据块直接粘贴成链接 LME 中创建的每个 Markdown 文件都有自己的资源文件夹,其中包含一个图像资源文件夹。 用户可以从其它应用程序中复制一块图像数据,然后直接向编辑区执行“粘贴”操作,然后 LME 会要求用户输入一个文件短名——接下来所有操作(创建资源目录、保存图像文件、编写图像链接字符串等)都由 LME 自动完成。 * 图像文件直接拖动生成链接 也可以从 Windows 资源管理器中直接向编辑区拖放多个图像文件,LME 会自动生成所有链接,完全不需要手工编写。 #### Html 增强 普通 Markdown 编辑器只支持编译静态 Html 页面。 而 LME 在工作区目录下会自动创建一些资源文件(包括一些图标、CSS文件、JS代码文件), 这样就可以让编译后的 Html 支持较丰富的功能。 > 目前已经支持的功能有: 六级标题的折叠、自定义折叠区(具有多种形态)。 #### Html 支持明暗两套主题且均可修改 两套 Html 主题均是可定制的,LME 提供了简单的自定义 CSS 编辑器——可以与 LME 默认的两套主题进行对照编辑。所以通常只需要在左侧默认主题配置中找到需要修改的部分,复制到右侧稍加修改即可。用户设置的对应样式会覆盖掉默认配置——所以 **不需要更改默认配置** 。 默认情况下编译的 CHM 文档也支持两套主题,且可通过右下角的切换按钮进行切换。如果不需要,可以通过自定义 CSS 样式表隐藏切换按钮。 #### 支持引入第三方 html/css/js 库 但要考虑这些第三方库对字符集的要求。LME 本身在保存 Markdown 文档时使用的是 UTF-8 字符集,但编译生成 Html 时,支持由用户指定使用 UTF-8 或 GB2312-GBK-GB18030 这一系的字符集。UTF-8 字符集更适合现代浏览器——很多第三方库要求必须使用它。(例如:highlight.js 这个用于代码高亮的库就必须使用 UTF-8,否则报错。)而 CHM 格式对 UTF-8 的支持极差。所以编译 CHM 时,应当使用 GB2312-GBK-GB18030 这一系列的兼容字符集。所以这个问题本质上就是个“鞋子合脚不合脚”的问题。 > 使用 GB2312-GBK-GB18030 编译的 CHM 文档在 Android 手机上也可以看——我测试过很多 Android 版本的阅读器,发现只有 A CHM Viewer 兼容性最好(甚至可以支持目录)。但这个 App 国内应用市场很难下载到。我现在手头只有 March,2014 Version 1.24 ——作者应该是 Peter Chen。 > > 大伙可千万别打算上网搜索这个应用——这哥们取名的水平太烂 —— 几乎 **根本不可能根据它的名称搜索到真正的它** !!!几年前我偶尔下载到它,虽然自己用到现在,但并没有能力检测它有没有病毒啥的。所以我也不敢发给大家。 #### IronPython 脚本编写功能 对于爱折腾的用户来说,这个脚本编辑环境虽然编辑功能简陋,但足以打开新天地的门户,可以实现很多好玩的功能,从而实现极大的自由。自定义脚本的调用时机有多种,可根据需要选择。理论上完全写个自己的编译器都可不是问题。 > 内置脚本示例中还有个公文生成器——可以用来生成简单的公文,生成后根据需求稍加修改即可使用。 ### 主要应用场景 **不适用于编写单个、简单的 Markdown 文件**;也不适合用来做复杂的网站。 LME 只适用于制作小型的、静态的网站——尤其适合用于制作 CHM 文档所需要的 Html 文件集。 LME **针对 CHM 作了专门的优化**,可以支持 CHM 中特殊的指向目录的 Html 文件。 > LME 生造出了`目录元文件`的说法,就是针对 CHM 中文件夹节点也可以指向一个 Html 的情况。 LME 可以根据当前工作区目录创建对应的 CHM 工程文件(包括 CHM 工程的目录文件、索引文件)。 > 这样用户只需要点几次鼠标就可以创建、编译 CHM 工程了,完全免去了手工管理 Html 文件间链接关系的烦琐工作。 > 编译工作区的过程中还会自动生成一个 _index.html 文件,这是整个工作区中所有 Html 文件的总目录。 ### 语法 在标准 Markdown 的基础上进行了一些拓展,添加了一些定制功能,主要包括: #### 中文标记符 例如:引用块以`> `开头,但这总是需要切换中英文输入法,于是在 LME 中,可以直接输入`》`开头。为了不致于与标准 Markdown 过分冲突,LME 还提供了格式化功能——通常可以在保存前自动格式化——这时候行首的 `》` 会被自动格式化为 `> ` (自动带半角空格)。 #### 自定义折叠区、实现特殊功能的方块区域等 不仅在编辑 Markdown 时支持折叠,编译为 Html 后仍然支持折叠。 #### 二维文字表、树型文字表等 支持格式化、自动填充序号等功能。二维文字表还支持向上合并行、向右合并单元格等特殊写法。树型文字表甚至还可以支持分层统计数据。 #### 多种注释 LME 支持三种注释:分号注释(全、半角均可);冒号注释(全半角均可);Html 样式的注释(首尾均严格按 Html 要求,只能是半角)。 ; 分号开头的注释,不会被编译进 html。 > ;TODO: 型注释属于分号开头的注释的一种,用于标记 Markdown 文档本身的进度。 冒号开头的注释,会被编译进 html,且会呈现特殊效果。 Html 样式的标记会编译进 Html 文档,但通常不会有特殊效果——这取决于用户写的是什么。