870920 Menu

WDTP发布0.9.0211内测版

主要更新记录: http://underwaysoft.com/works/wdtp/updateList.html

下载页: http://underwaysoft.com/works/wdtp/download.html

0.9.170211新增并更新了一大批非常实用的功能,主要有(以下按更新时间倒序排列):

  • 实现:缩略语功能。详解如下:
    • 编辑文档时,部分内容可能太“碍眼”,不想时时看到;或者无需经常改动(防止误编辑);或者由于非阅读性字符太多、太难看而破坏编辑时版面的美感(比如包含非标字符的UTF-8转义或复杂参数的较长网址、代码等等),此时可用一个自定义的短语来代替这部分内容。
    • 文档属性面板,“Abbrev(缩略语)”专司其职。格式为:“缩略语(空格)所代表的原始内容”。一行一个,行与行之间可使用空行隔开,以便区别。
    • 设置好缩略语之后,编辑模式下,可将要缩略显示的内容删掉,代之以刚刚自定义的缩略语。
    • 原始内容虽然在编辑模式下看不到了(看到的是缩略语),但预览时会出现。即:原始的文档中虽然已经找不到这些内容,但预览并生成网页时,这些内容还是会出现(此时网页中不出现这些内容的缩略语)。
    • 也可以用这个思路理解:编辑模式下,缩略语用来替代它所代表的原始内容;而预览并生成的网页中,原始内容反过来再替代它所对应的缩略语。
    • 可在文档属性面板的“Abbrev(缩略语)”中增删改已有的缩略语,即改即生效(预览模式下按F5刷新当前页面即可)。
    • 注1:如果某个文档定义的缩略语太多,可能会出现缩略语重复的情况(此时它们所代表的原始内容有可能一致,也可能不一致)。此时,软件不进行校验、提醒或干扰,以第一个为准。
    • 注2:一个文档中,同一个缩略语可多次出现。所有出现的地方,在预览或生成网页时全部替换为该缩略语所代表的原始内容。
    • 注3:所定义的缩略语,请不要和文档中已有的语句或短语相同,否则,这些内容也将成为缩略语(原因见注2)。此外,为了便于阅读、编辑和理解,可使用自己习惯的前缀和后缀来包裹缩略语。比如:“_长链01_”、“@该处不宜改动@”、“AbbrevOfSomeFunnyThings”……等等。
    • 注4:缩略语所代表的原始内容中可包含Markdown或任意html、css、js等标记/代码。这些标记和代码在预览或生成网页时和普通内容一样,将被正确识别和处理。这一点在编辑高级功能的文档时非常实用(比如动态网页或格式与样式非常丰富的个性化/专业性文档/网页,编辑时不破坏版面的可读性与美观度)。还可以用该功能实现Code snippets展示……玩法很多,敬请摸索:)
    • 注5:采用缩略语后,无论整个项目的搜索替换,还是当前文档的搜索替换,都无法再针对缩略前的原始内容进行。这一点我稍后将予以改进。
  • 新增:非标准Markdown语法标记:加粗同时斜体。语法格式:***要加粗并倾斜的文字***,效果:要加粗并倾斜的文字。因该格式不常用,故编辑器中没有定义其快捷键,也没有定义其智能化输入模式(比如选定文本后按三下*号完成自动包裹这个功能)。使用方法:可手工输入,也可利用编辑器右键菜单中的“Format(格式)”菜单项来完成(当前有选择的文本时,该文本自动被三星包裹;如没有选择任何文本,则给出六个星,插字符光标自动定位到需要输入文本的六个星的最中间)。
  • 实现:每个项目都可以记忆用户调好的窗口大小及屏幕位置并自动使用之。WDTP允许操作系统同时运行多个程序实例,这样可以同时打开并处理多个项目,每个项目都可以有自己的大小和位置。如果同时打开的项目较多,WDTP会智能调整每个实例,在使用其自身所记忆的位置的同时,如可能有完全重叠或覆盖,则自动微调。微调结果并不影响该项目已经熟悉并记忆的原有窗口大小及位置。
  • 改进:Ctrl + 回车在当前段落之前插入新段落,不再自动添加隔行,而是紧邻当前段落。即:Ctrl + 回车相当于正常回车键的反功能。正常回车是在下面插入新行,而Ctrl + 回车则在上面插入新行。所不同的:Ctrl + 回车是以当前段落为单位,在段落之前插入新行,而不是在当前行之前插入新行。
  • 实现:智能粘贴(使用快捷键Ctrl + V时)。详情:
    • 如果系统剪贴板中的数据是项目内部链接(文件树-右键菜单-Get Path所获取的),则插入该文档或目录Markdown格式的内部链接
    • 如果系统剪贴板中的数据是一个合法的http/https网址,则插入此网址Markdown格式的链接。此时,如果未选择任何文本,则给出“Click here(点此访问)”的链接文字,并自动选择之,以便用户输入改写。如果插入网址前选择了文本,则所选文本成为链接文字。
    • 如果系统剪贴板中的数据是网络图片的地址,则插入显示此图片的Markdown格式(此图片不拉回本地)。
    • 以上粘贴,仅适用于快捷键Ctrl + V。如使用右键菜单中的“Paste”菜单命令,则不做任何处理(某些时候需要“原始粘贴”)。
  • 实现:编辑模式下回车键的多功能。如果当前段落是一级或二级列表,按下回车键之后,插字符开启下一段,该段落自动成为与上一段平级的列表。此时如果不输入任何内容,再次按下回车键,则该段落自动成为二级列表(如果上一段是一级列表的话)。如还是不输入任何内容,第三次按下回车键,则清除本段的列表标记,插字符自动开启并进入下一段。更详细的解释:
    • 某一段是一级列表,如果下一段也是一级列表,直接回车。
    • 某一段是一级列表,如果要在它下面增加二级列表,本段输入完成后,连续两次回车。
    • 某一段是二级列表,如果下一段也是二级列表,直接回车。
    • 某一段是二级列表,如果取消列表输入,开启正常段落,不输入任何内容,直接回车。
    • 回车键的行为,不仅作用于段尾,也适用于断行操作。回车断行后,插字符后面的内容成为下一段,该段自动继承上一段的列表级别。不仅如此,再次回车,可将该段降级(如果是一级列表的话)。再次回车(或先前已是二级列表,此时就无需第三次回车了),则使其成为正常段落。
  • 实现:编辑模式,按下tab键后缩进所有已选择的文本(四个空格,以段落为单位集体缩进)。如果此时未选择任何文本,并且上一段是一级列表,则按下tab键之后,自动给出同类型二级列表的Markdown标记。
  • 实现:编辑模式,按下Shift+tab后,如果未选择任何文本并且当前行有缩进(无论是否4个空格),均取消当前行的缩进(注意:此时以插字符所在行为判断依据,而非本段)。按下Shift + tab后,如果当前有所选文本,则取消所有已选择文本的缩进(无论是否4个空格)。此时,以段落为单位集体“反缩进”。以上情况,如缩进大于4个空格,则最多反缩进4个空格(正常写作而非展示代码的情况下,5个空格以上的缩进应该极罕见,在Markdown中也没什么意义)。
  • :当前有所选内容并且按下tab或Shift +tab后,完成上述功能的同时,取消选择任何文本。
  • 实现:Markdown标记输入时的自动包裹功能。详解:
    • 如果当前选择了文本,则输入*,,~等Markdown标记之后,该标记成对出现并自动包裹所选文本。
    • 输入一个~即可实现双~包裹
    • 输入和~之后,插字符光标自动位于结束标记之后,便于用户继续输入
    • 第一次输入*之后,自动选择原有文本,等待用户输入第二个*。第二个*输入之后,插字符光标自动位于结束标记之后,便于用户继续输入
  • 改进:确保Windows平台下本程序启动后显示在桌面上并位于最前(强占焦点)。
  • 新增:文本高亮的Markdown语法(WDTP所自定义)。格式“~~需要高亮突出的文本~~,显示效果:需要高亮突出的文本。快捷键:Ctrl + U。编辑器右键菜单中也有对应的菜单项。
    • :Markdown“方言”语法中的“~~”为文字删除线标记——就我个人的体验来说,阅读网络文章时遇到一段文本被划上删除线总是感觉很诡异,不清楚这段文字到底还有没有阅读价值,或者揣摩作者来这么一手究竟何意(好在这种情况极少)。如果作者将该文作为多次修改、甚至数易其稿的写作艰辛之痛苦展示,可能目的达到了,但是这对读者来说肯定不是良好的阅读体验,也不公平。
    • 删除线有时也有用,比如:原价xxxx元,现价xxx元……或者还有其他一些必须使用的场景,此时可使用html标签中的< s />
  • 改进:项目数据打包备份时,zip文件名中给出备份的时间戳信息。
  • 更新:默认的blog模板。此更新将影响所有使用blog默认模板的用户。解决方案:升级本程序后,执行系统菜单下的“重置/修复系统模板”,而后重新生成整站。
  • 新增:模板标签{{contentDesc}}。模板制作者可利用此提取文档或目录的描述,默认为html的引用格式。
  • Markdown编辑器中增加了一批快捷键,可提高MD标记输入的效率:
    • Ctrl + B:加粗。当前是否选择文本都可以输入该格式化标记。有些用户可能习惯于先输入标记,而后再输入文本。比如我:)如果当前选择了文本,则直接对所选文本应用加粗标记;如果当前未选择任何文本,则软件给出加粗标记后,自动将插字符光标定位到两个星号之间,以便于用户直接输入要加粗的文本内容(省掉按两下键盘或点击鼠标了)。
    • Ctrl + I:斜体。解释同上
    • Ctrl + L:行内代码。解释同上
    • Ctrl + K:代码块
    • Ctrl + M:插入图片(:WDTP支持一次性插入多幅所选的图片)
    • Ctrl + H:插入超链接
    • Ctrl + T:插入表格(插入表格时一并自动插入“表注“)
    • Ctrl + N:本行居中
    • Ctrl + R:本行靠右
    • Ctrl + P:插入图注或表注
    • Ctrl + O:插入作者和当前日期
    • 以上快捷键,可在编辑器右键菜单对应的菜单项中看到。我们不建议用户专门记忆这些快捷键,用多了自然就记住了:)
  • 截至目前,WDTP共有三种输入Markdown标记的方式:
    • 直接输入MD标记的文本
    • 使用编辑器的右键菜单
    • 使用快捷键(:这些快捷键并未涵盖WDTP所支持的所有MD标记)
  • 增加:博客模板index页的文档列表项中增加最后修改日期。此修改将影响所有用户。解决方案:升级本程序后,执行系统菜单下的“重置/修复系统模板”,而后重新生成整站。
  • 改进:使用操作系统默认的文件打开/保存对话框。一是使不同平台下的用户有更熟悉的使用体验,二是解决某些Windows版本下新建项目时【保存】按钮可能暗显的问题。
  • 改进:整个项目或某个目录进行网站数据压缩打包时,可指定要打包的数据类型。比如:仅打包所有网页文件,或者仅打包媒体数据,或者打包所有数据。该功能可进一步提高工作效率(很多时候,编辑修改网页,或者新增了不含媒体数据的网页后,无需重复打包并发布已有的媒体数据)。
  • 重构EditAndPreview类,剥离出MarkdownEditor类。
  • 实现:网站菜单的排序。WDTP中,2级以内的任意子目录和文档均可设置为网站菜单。位于根目录下的一级子目录或文档为“主菜单”,2级则为鼠标指向主菜单时自动弹出的下拉列表(菜单项,对应磁盘目录与文档的包含结构)。主菜单和菜单项均可点击。排序规则为:同级目录的index.html与文档对应的html相比,目录在前;同级目录之间和同级文档之间相比,创建时间早的在前。