35 Star 98 Fork 20

LunarSF / Lunar Markdown Editor

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Loading...
README.MD

最新版安装包下载地址见附件页:http://git.oschina.net/lunarsf/Lunar-Markdown-Editor/attach_files
稳定版会以项目 release 的方式发布,软件启动时会自动检查是否需要升级稳定版——Gitee 是唯一的正版下载渠道。

关于 Lunar Markdown Editor (LME)

LME 是个 Markdown 编辑器,适合用来创建 CHM 文档。如果不需要 CHM,也可以直接导出工作区中所有 Html 文件——直接用浏览器阅读。

主界面

能创建 CHM 工程文件(含目录文件、索引文件),但不能编译 CHM, 编译 CHM 需要另行下载微软的 Html Help Workshop,官方网址在:https://www.microsoft.com/en-us/download/details.aspx?id=21138

特点

不追求简洁,只追求实用

与常见 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 文档,但通常不会有特殊效果——这取决于用户写的是什么。

Comments ( 17 )

Sign in for post a comment

About

Markdown to CHM editor. Can't compile, but can create CHM Project files. 最新试验版下载地址: spread retract
Cancel

Lunar Markdown Editor

Contributors

All

Activities

load more
can not load any more
C#
1
https://gitee.com/lunarsf/Lunar-Markdown-Editor.git
git@gitee.com:lunarsf/Lunar-Markdown-Editor.git
lunarsf
Lunar-Markdown-Editor
Lunar Markdown Editor
master

Search