本打算同时实现“记住用户选择的主题”的功能,结果因为种种冲突、限制而未能实现。
所以这个功能有些鸡肋。
另,放宽对按倍数放大显示的文本的样式控制,现在可以通过自定义 CSS 对除字号以外的各样式自主定义了。
话说我一直觉得按倍数放大显示的文本默认样式巨丑。
最近我迷上了用 Git 来对工作区进行版本控制,实践证明这完全可行。这两个菜单项仅仅是调用 Git,没有什么特别功能。
界面细节调整:
即使没有打开的普通MD文件,删除前也显示警告提示消息!
LME 不提倡删除文件,而提倡**更改文件的 Title(标题) 文本。但万一误删除了文件就麻烦了,所以删除前还是要加个警告消息。
之前必须写成这样:
这是个[锚字面值1](@锚ID "alt text")
现在写成这样也可以:
这是个[锚字面值1](@锚ID)
现在可以通过:
<:-xxx:>
来指定只在当前文档中尝试查找可以引用的锚了。
如果把 - 换成 + 则指在整个工作区中查找:
<:+xxx:>
这是默认行为,+ 可以省略。
如果使用脱字符 ^ 则依然只在当前文档中查找,且以上标形式出现在 Html 文档中。
<:^xxx:>
【1】意外地发现:页脚(作者、编译日期和时间)竟然是居中对齐的!
修正为在右侧停靠。(这个问题是 CSS 顺序造成的。)
【2】部分解决高亮冲突问题。 因为 AvalonEdit 的特性决定了某些情况下高亮片段会造成后面跟随的文本被看成“顶格文本”,这会造成一些异常的高亮显示效果(例如会误显示成 分号 或 冒号 开头的注释行)。
【3】从外部拖动一个图像文件到编辑器中时,应该自动生成链接,但创建图像链接后,文本选择的位置、长度不正确。修正之。
【4】重复拖动同一个外部图像文件到编辑区时,不能自动添加对已存在的图像的链接文本。
【5】解决 Html 预览区标头快捷菜单中“尝试用默认浏览器打开”菜单项无法处理带空格的路径的问题——工作区路径应尽可能避免带空格——因为在编译CHM或导出到文件夹时容易产生潜在的问题。
【6】取消“网页搜索窗口不再是活动窗口时自动最小化”——在网页弹出“脚本错误”消息框(有道词典时不时会出这个问题)时,会无法关闭该窗口。
【7】Python 脚本编辑器的“查找/替换”窗口支持使用 Esc 键关闭。
【8】添加新的 Html 编译选项:①“尝试折叠自定义折叠区”;②“临时禁止在网页中添加 JS 脚本”。这两个选项的用途请参见:#IKKVB:[Function]添加 Html 编译选项等
【9】化脚注的写法与效果:
① 一旦写成“<:^xxx:>”来引用被当作脚注的锚 ① ,就不会在全工作区去寻找可用的锚了。
因为脚注本来就应该只在当前页有效。
② 使脚注在 Html 页面中支持“鼠标指针移动到引用链接上时显示脚注的 alt 提示文本”——这在效果上接近 Word 的脚注。
③ 提供锚的新写法,便于书写和浏览。
关于脚注具体可参见#IKVVA:[enhancement]优化脚注语法的行为。
锚的语法:[锚字面值](@锚ID 锚字面值 2]
[BugFix]:1. 修正拖动添加的图像资源在工作区中的图标不正确的问题;
2. 修正 <:xxx:> 在某些情况下不起作用的问题。
[Enhancement]:实现 <:^xxx:> 支持在 Html 中将创建的对锚的引用链接列表呈现为上标效果。
此功能适用来引用以锚开头的脚注文本。例如,<:^fc1:>
可以引用下在这行脚注:
[①](@fc1 脚注①) 《普高课程标准》,2017版,第4页。
内置了几个示例脚本,可以方便地根据内置示例脚本创建自定义脚本的副本——然后就可以随意修改使用了。
LME 不支持标准 Markdown 语法中“相邻行视为同一段落”这个特性。例如在 LME 中:
这是第一行。
这行会另起一段。
标准 Markdown 可以在一行末尾添加两个半角空格字符来实现“在段落内换行”——但 LME 不需要——LME 中下一行就是另起一段!
有时实在不喜欢用 LME 的自动换行功能,想要在语义上分行(编辑状态),又想在编译为 Html 后仍然使这几行文本合并到同一段落。
此时可以写成下面这样:
第一行
^ 第二行
在第二行头部添加“^ ”,表示该行应合并到上一行。
注意:脱字符“^”后面必须紧跟一个空白字符(全角空格、半角空格、TAB 符)。
在第二行尾部按下回车添加新行时,LME 会自动在第三行头部添加“^ ”。
如果第三行不需要自动添加的“^ ”,可以直接按下Shift + BackSpace
删除到行首。或者如果第三行不打算输入什么文字,可以直接按回车键,LME 会自动删除多余的合并行标记文本“^ ”。这是 LME 的辅助编辑功能在起作用。
极其特殊的情况下,需要在一行首部写“^ ”,可以用转义写法,写成“\^ ”。
只有在行首才需要,其余位置不要使用这个转义写法!
这个特性还适用于其它元素,“合并行”标记会自动向上寻找最近的非空白行,并与之合并。
这里的空白行,是指只包含全角空格、半角空格、Tab符(制表符)的行。
###关于标题的自动编号
有时候我们需要类似公文的标题自动编号样式,比如:
一、这是个一级标题
(一)这是个二级标题
1. 这是个三级标题
(1) 这是个四级标题
默认情况下,LME 只是简单地使用类似英文的自动编号:
1.这是个一级标题
1.1.这是个二级标题
1.1.1.这是个三级标题
1.1.1.1.这是个四级标题
#关于 IronPython 库的引入路径问题
之前使用 zip 包的样式,今天测试时发现无法引入最基本的 os 库——看起来使用 C# 运行 IronPython 脚本在 import 在 zip 包中的库文件时必须另做设置。
因为懒得理找其它实现方案,干脆直接将库文件在安装时解压到 LME 的安装目录下——这样就简单多了,经测试有效。
如果在脚本存储目录中发现
pythonlib.zip
,请手动删除之——这个库文件包自 LME 的 v0.0.5.15 版本之后已不需要了。
现在,LME 内嵌的 IronPython 库是最新的(v2.7.8)版。
【1】文件标头与预览区标头添加快捷菜单项,方便找到定位对应的文件。
【2】修正一些界面细节,主要是解决“跳转到标题”在全工作区范围内执行后的搜索结果项中会出现不必要的回车符。
以后会有及时提示了。
此发行版主要更新有两点:
创建的 CHM 工程文件默认情况下开启“全文检索”功能。
默认情况下,用 GB18030 编码来编译 Html 文档,这样便于在 CHM 文件中呈现一些特殊字符。
如果想兼容旧操作系统,可能仍然需要使用 GB2312 编码方式先手工编译工作区,然后在编译 CHM 时不要选择自动使用 GB18030 编码编译工作区。
此版本添加了 Python 脚本功能,便于用户自定义一些文本处理功能——特殊情况下甚至可以自定义 Markdown 语法元素。
具体情参见:https://gitee.com//lunarsf/Lunar-Markdown-Editor/wikis/pages?title=LME-与-Python-脚本&parent=Python-脚本
修改斜体字的默认配色——之前的粉红色是为了在屏幕上更醒目,但打印时却几乎看不见,于是恢复为黑色。另,完善工作区资源搜索器:#IFGDR:[Function]完善工作区资源搜索器功能
修正Bug:
正常来说,发现旧的用户目录时,LME会自动将其升级为新用户目录。所以,一般用户根本不会碰到这个问题。我是因为硬盘坏了,换上了旧硬盘才碰到这个问题。
功能添加:允许用户设置新建文档模板(适用于当前工作区)。
在资源管理器的文件夹右键菜单中添加了“使用 Markdown To CHM(LME)打开”的功能——这样方便不少。
修正一个小Bug: 当新、旧两个版本的用户目录同时存在时,程序会崩溃。正常来说,发现旧的用户目录时,LME会自动将其升级为新用户目录。所以,一般用户根本不会碰到这个问题。我是因为硬盘坏了,换上了旧硬盘才碰到这个问题。
> 正因为用户通常不会碰到这个问题,所以这不算是个大 Bug。但是一旦碰到,足够让人崩溃。
v0.0.4.30相对于v0.0.4.29无功能更新,仅仅只是稍整理了下引用CSS文件的代码。
调整界面细节。
改写教程。
解决自动添加的“图像~”、“声音~”、“视频~”三个资源文件夹时位置不正确的问题。
这是为优化启动速度而新引入的一个Bug。
解决拖动资源文件到文档中生成链接文本后选择区位置不准确的问题。
修正层级调整面板中“上移到顶端按钮在父级无资源文件夹条目时不起作用”的问题。
添加“自定义页面内部样式”功能。详情请参见这里。
增强了对单独占一行的图像链接文本的编译控制。可以通过不同的书写方式决定是否显示标题,是否显示自动编号。
工作区整体编译时,给页面底部添加“前页”和“后页”导航链接,这样更方便些。
为便于整理从PDF复制来的文本,将Vim模式下的两个命令(合并行与添加空行)做成两个按钮放在主界面上——这比用连续几个快捷键要方便得多了。
微调界面元素,使之更协调
使工作区编译时错误提示文本更明确
当编译工作区出问题时,阻止继续编译CHM工程