V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
SwingCoder
V2EX  ›  分享创造

WDTP:一款“三合一”的写作工具和桌面版静态网站生成器

  •  3
     
  •   SwingCoder · 2017-02-04 23:36:24 +08:00 · 30570 次点击
    这是一个创建于 2843 天前的主题,其中的信息可能已经有所发展或是发生改变。

    谢谢 Akkuman 和 CoderZh 两位朋友的介绍和推荐,让我得知了 V2EX 这个尊重原创,热爱分享与创造的好网站。我想在此和大家分享一款我刚刚开发完成的软件(目前是内测版,正在不断完善更新),如有不妥,请管理员批评指正并谅解。

    WDTP 是一款“三合一”的另类写作工具与桌面 GUI 单机性质的静态网站(博客)生成器,这个项目的主页是:

    http://underwaysoft.com/works/wdtp/index.html

    WDTP 昨天首发于国内的凯迪论坛,我将原帖复制粘贴在此吧。


    WDTP :源于凯迪论坛的又一款写作利器

    2016 年年初,我在凯迪论坛看帖的时候,意外地发现了一座高楼,所讨论的话题是我前几年很感兴趣的。于是开始关注,时不时也掺和几句,然后就和几位骨干帖友混了个脸熟——其中一位是陈坪先生。有天我去拜访他的博客,浏览文章的时候突然冒出一个 idea ,可能更像是一些自我觉察,大致如下:

    • 多年以来,在写稍微正规一点的东西时, Pages 或 Word 之类的巨无霸实在让人心累,可能也不是太必要。即便这些巨无霸,对多个文档的集中组织与结构化管理也不好使,更别说那些纯文本的编辑器和网页端基于各类脚本写就的编辑器;
    • 平时读书、学习或做笔记时,除了我个人开发的一款同类软件, Evernote 等臃肿不堪的云笔记已经很难让我有愉悦的使用体验;
    • 写博客时,我可能并不需要 WordPress 等服务器端运行的脚本+数据库,更别说现成的各类博客平台……

    诸如此类。相信其他一大批小众也会有这些想法。说实话,以上这些真心不好用,尤其是学习与使用成本,还有使用时的心情,数据的随时检视、备份、管理与迁移,远程修改、调试与刷新等等。很折磨人。它们或许非常适合更广泛的一大批用户,某些情况下肯定也是非用不可,但很多时候确实不再适合我,也没必要时时动用这些怪兽级的庞然大物。

    更进一步,笔记、写书、博客、网站这几件看似互相割裂的事,其实完全可以也早就应该简简单单、清清爽爽地合而为一了。而写作时,“内容与样式分离、样式与模板分离”等程序员最熟悉的理念与常规做法,这么多年以来,我为什么没有在自己的文字写作过程中更深入地理解和贯彻呢?有点不应该。

    想法中还包括了其他。比如:“静态网站生成器( Static Site Generator )”,这东西近两年在喜欢尝鲜的技术类博主中很受推崇。有媒体放言:“下一批互联网大事件中,新型的静态网页及其生成将位列其中”……据我所知,这类程序目前至少上百,采用了各种各样的编程语言,它们中比较知名的有: Jeklly 、 Hugo 、 Hexo 、 Octopress 、 Pelican 、 Hyde 等等。尤其是 Jekyll ,背靠 Github 这棵大树,几乎一夜之间风靡全球。我对此做了一些肤浅的调查,一个匪夷所思的事实是:就我所接触到的“对口者”,竟无一例外——清一色的命令行程序!没有 GUI ,没有文本编辑器与可视化的 TreeView ,有的居然还要安装整个语言环境或依赖库。动辄百兆以上,太让人愤慨了。大不说,还麻烦。无论获取、安装,还是设置、使用,都不直观,也不方便,对一般人来说门槛有点高。这就势必将更广泛的用户群(比如普通的写作者)排斥在外,使他们很难享受到文本标记语法、内容 /样式分离、高自由度和灵活随意的静态博客等另类而好玩的写作 /分享模式。

    既然尚无,那迟早就会有人下手,不妨等等,于是我就把这个事搁置了。此期间,我曾加入一个推广某静态生成器的国内群,也在 Stack Overflow 上转了转,四下打探一番,无果。有人曾抱怨过,但最终也是不了了之。

    浏览陈坪先生的文章时,以上想法突然变得强烈起来。我琢磨了一下,这个事技术含量虽不高,但并不轻巧。脏活总是让同行包揽始终让人过意不去,干脆我自己趟一次浑水,再造个轮子吧:写一款跨平台且简洁清爽的桌面版静态网页生成器,顺便糅合上面提到的那几个功能,尽量将它们捏到一起,争取做的轻巧点、优雅点,先把基础和架子搭起来,后续事务和细化处理慢慢再捯饬。

    琢磨的七七八八后,就立项动工了。关于编程语言的选择,脚本不考虑,平台相关的谢绝,数据库滚蛋。这么一来,似乎只有 Java 或 C++了。 Java 一贯不是我篮子里的菜,就 C++吧。

    然后……然后就是今天 WDTP 内测版的首发,地点就在凯迪论坛的猫眼看人版块。可能有点唐突违和,请允许我解释一下:一方面这个程序的诞生确实与凯迪有直接的关系;另一方面此处风云际会、藏龙卧虎,能写、会写、喜欢写的人非常多,给这批笔友提供另一件顺手的写作工具应该是一件有意思的事。此外,似乎还没有哪位同行在这样的大杂烩论坛里做过这种类型的“主播”。这事有挑战性,风险并不小。但我想试试。

    产品的首发式上,一般都会真真假假、虚虚实实地谈谈愿景、希望什么的。我这会儿有点忐忑,不敢满口火车。现在最大的希望是:值班编辑此刻心情不错,不删改这个贴,也不打算将它转移到凯迪的其他版块里。

    关于程序的授权方式和性质, GPL v3 ,开源免费。不光凯迪的网友,全世界任何个人和组织都可以随意使用、传播、解剖源码或 PR 贡献,也接受来自任何方面的捐助。这些没什么需要多解释的。该有的,《授权协议》里都提到了,不够我再加几条:)

    项目开工后,中间曾停工 3 个多月。 2016 年我周围发生了几件悲伤的事,让人心碎,这几乎导致了项目的夭折。费了很大劲我才将自己振作起来,硬挺着把 WDTP 的第一个版本敲了出来。活干得如何,横竖不论,交给诸位评说。目前 Bugs 肯定一堆,代码急需规整,很多细节也亟待完善。我实在不好意思说自己是一个敲了整整 30 年代码的老一代苦逼程序员——面老色衰,人狗远之。大江东去,属于我们的时代过去了……滚出这个行业之前,尽力散发点余温吧。希望热情还在,理想还在,更希望能听到真实而有价值的反馈与意见,以及各位同行的 PR 提交、无私贡献。

    可能有人对大部分开源软件的维护更新感到不放心。我在此表个态吧:未来很长一段时间内,我可能每天都要用它,而且是重度使用。无论作为设计人、开发者、项目的第一责任人,还是作为用户之一,我肯定不愿意为了它而过分难堪或郁闷,更不会让它在七歪八扭、一团乱麻的失控状态下无果而终。

    关于 WDTP ,还有几个必须要感谢的人——期待未来会更多,以后有机会一定专门提及。

    That's it. 谢谢所有看了此贴的人,谢谢即将成为 WDTP 用户的每一个人,谢谢陈坪先生和那个高楼长贴,以及该贴中所有让我感到温馨的人。

    今日立春,使用愉快!

    SwingCoder 2017.02.03 于凯迪论坛

    本文已发布在凯迪论坛的猫眼看人版块: http://club.kdnet.net/dispbbs.asp?id=12102372&boardid=1


    欢迎大家下载试用并提出宝贵意见!

    谢谢!

    SwingCoder

    第 1 条附言  ·  2017-04-05 06:20:09 +08:00

    上述网址自WDTP第一个内测版发布后陆续做了修改,部分已失效。目前最新的有效网址是:

    欢迎下载试用并提出宝贵建议,欢迎反馈意见及BUG(包括网站BUG)。所有BUG一经确认,我将放下手头上一切事务,以最高优先级去解决。

    651 条回复    2018-08-02 10:59:34 +08:00
    1  2  3  4  5  6  7  
    SwingCoder
        601
    SwingCoder  
    OP
       2017-05-03 15:13:06 +08:00
    更新:系统默认的全局样式表
    SwingCoder
        602
    SwingCoder  
    OP
       2017-05-04 04:27:39 +08:00
    改进:弹出智能提示和自动补全菜单后,如插入项目内部的目录或文档,该链接的文本自动被书名号包裹( WDTP 界面语言如设置为中文),或者自动设置为斜体格式(英文 WDTP )。
    SwingCoder
        603
    SwingCoder  
    OP
       2017-05-04 05:37:21 +08:00
    修复:编辑模式下选择文本,某些中文输入法输入“~”(背景高亮的简化文本标记语法)之后无法自动包裹的问题。
    SwingCoder
        604
    SwingCoder  
    OP
       2017-05-04 05:52:18 +08:00
    修复:编辑模式下选择文本,某些中文输入法输入“*”后弹出“智库中没找到索引词”闪屏信息的问题。
    SwingCoder
        605
    SwingCoder  
    OP
       2017-05-04 21:15:10 +08:00
    完善:文档大纲提取和解析时忽略所有代码块中的标题标记。
    SwingCoder
        606
    SwingCoder  
    OP
       2017-05-05 00:19:30 +08:00
    新增:一个系统默认样式表:style-full.css。blog 和 book 两个内置主题分别新增一个新的模板文件:page-full.html。该模板可用于制作全幅宽屏网站。
    SwingCoder
        607
    SwingCoder  
    OP
       2017-05-05 00:28:57 +08:00
    更新:系统默认的样式表和所有主题的模板文件。此举将影响所有使用系统默认主题和默认样式表的用户。解决办法:下载新版本后,点击系统菜单下的修复 /重置系统主题,而后重新生成整站。
    SwingCoder
        608
    SwingCoder  
    OP
       2017-05-05 01:40:29 +08:00
    改进:静页生成时页面元素“上一篇”、“下一篇”的提取算法。
    SwingCoder
        609
    SwingCoder  
    OP
       2017-05-05 12:36:26 +08:00
    改进:表格与注释等文本标记的解析顺序,防止文档中多次使用无边框表格时某些内容被作为注释丢弃。
    SwingCoder
        610
    SwingCoder  
    OP
       2017-05-05 12:59:44 +08:00
    改进:macOS 平台下中文分句及双击自动选择的算法实现。
    SwingCoder
        611
    SwingCoder  
    OP
       2017-05-05 13:07:19 +08:00
    取消:Windows 平台下 32 位程序的编译及发布。依然使用 32 位 Windows 系统的用户请尽快升级操作系统。
    SwingCoder
        612
    SwingCoder  
    OP
       2017-05-05 14:15:56 +08:00
    使用新增的 style-full.css 样式表和 page-full 模板文件制作的全幅宽屏网页可参见 UnderwaySoft 官网首页和 WDTP 的项目主页(目前这两个页面只是简单的演示,尚需进一步完善修改)。

    官网首页: http://underwaysoft.com/index.html
    项目主页: http://underwaysoft.com/works/wdtp/index.html
    SwingCoder
        613
    SwingCoder  
    OP
       2017-05-05 15:47:23 +08:00
    周末愉快!

    WDTP (山湖录) 0.9.0505 公测版发布了:)
    SwingCoder
        614
    SwingCoder  
    OP
       2017-05-05 15:49:19 +08:00
    可在项目主页直接下载已编译好的二进制程序:)
    hing
        615
    hing  
       2017-05-05 18:26:09 +08:00
    主页大变样了,逢周五发版啊!
    SwingCoder
        616
    SwingCoder  
    OP
       2017-05-05 23:58:57 +08:00
    @hing 朋友,谢谢您的关注:)是的,最近这几个版本都是周末发布的:)

    网站目前还很简陋粗糙,下一步抽时间我会陆续完善一下。欢迎提出宝贵建议:)
    SwingCoder
        617
    SwingCoder  
    OP
       2017-05-06 05:12:11 +08:00
    改进:防止编辑模式下拖拽式移动或复制所选内容后弹出智能提示和自动补全菜单。
    SwingCoder
        618
    SwingCoder  
    OP
       2017-05-06 08:25:26 +08:00
    新增:编辑器右键菜单“格式”下添加三个菜单项:设置字体、字体大小、字体颜色。
    SwingCoder
        619
    SwingCoder  
    OP
       2017-05-06 09:59:35 +08:00
    新增:快捷键“ Ctrl + 1 ”弹出右键菜单。文本编辑和主题编辑这两种状态下均适用。
    SwingCoder
        620
    SwingCoder  
    OP
       2017-05-06 11:46:48 +08:00
    完善:系统菜单-修改当前主题(可分别修改两种全局样式表,普通和全屏)。
    SwingCoder
        621
    SwingCoder  
    OP
       2017-05-07 00:44:25 +08:00
    改进:弹出智能提示和自动补全菜单后,可使用左右光标键移动编辑器的插字符。
    SwingCoder
        622
    SwingCoder  
    OP
       2017-05-07 02:38:05 +08:00
    改进:解析模板标签“上一篇 /下一篇”的内部实现。
    SwingCoder
        623
    SwingCoder  
    OP
       2017-05-07 08:21:39 +08:00
    改进:项目文档与目录结构提取为智库条目时的内部算法。
    SwingCoder
        624
    SwingCoder  
    OP
       2017-05-07 08:42:50 +08:00
    改进:弹出智能提示和自动补全菜单后,使用左右光标键移动插字符的同时取消显示智能提示菜单。
    Sukizen
        625
    Sukizen  
       2017-05-07 12:13:53 +08:00
    为什么下载后全是乱码
    SwingCoder
        626
    SwingCoder  
    OP
       2017-05-07 23:28:05 +08:00
    @Sukizen 朋友,界面乱码最有可能的原因:系统中尚未安装“微软雅黑”中文字体,或者该字体损坏了。WDTP 默认使用雅黑字体,macOS 和 Windows 这两个平台下都是。
    Sukizen
        627
    Sukizen  
       2017-05-08 09:18:22 +08:00 via iPhone
    作为跨平台软件,应该默认用系统字体较好吧
    Jasmine2016
        628
    Jasmine2016  
       2017-05-08 09:38:34 +08:00   ❤️ 1
    辛勤的楼主,辛苦了。
    SwingCoder
        629
    SwingCoder  
    OP
       2017-05-08 09:57:57 +08:00
    谢谢 @Jasmine2016 朋友的鼓励:)
    SwingCoder
        630
    SwingCoder  
    OP
       2017-05-08 09:59:24 +08:00
    UnderwaySoft 网站小改版,增设了一个“音乐”栏目,放了几首我前些年原创或改编的一小部分音乐作品。欢迎试听:)

    http://underwaysoft.com
    SwingCoder
        631
    SwingCoder  
    OP
       2017-05-08 11:24:33 +08:00
    @Sukizen 朋友:任何现代计算机操作系统都没有“默认”字体这一说,在未来很长一段时间内也不会有。可能你所说的“系统默认字体”指的是 10.10 或 10.12 以上版本的简体中文版的 macOS 的“默认字体”。我个人认为它那个字体不适合 WDTP 的风格。

    目前来看,对简体中文用户来说,微软雅黑字体也不够完美。但综合来看,macOS、Windows、部分 Linux 桌面系统下,跨平台 GUI 程序的简体中文界面采用这个字体应该是比较折中和统一的方案。没有之一。
    SwingCoder
        632
    SwingCoder  
    OP
       2017-05-09 08:00:53 +08:00
    继续完善网站的“音乐”栏目,欢迎试听:)
    SwingCoder
        633
    SwingCoder  
    OP
       2017-05-09 20:18:29 +08:00
    有用户询问如何插入 WDTP 项目内部某个文档或目录的链接,有三种办法可完成:

    1. 文件树面板,鼠标右击要插入的文档或目录,点击菜单中的“获取路径”。回到正在编辑的文档,按快捷键 Ctrl + V,或者编辑器中鼠右菜单,点击“插入-粘贴内部链接”。

    2. 编辑时最后输入的两个字符如果是项目内某个目录或文档的标题内容,则自动弹出智能提示与自动补全菜单,菜单项即为对应的内部链接的地址(以“@”开头)。上下光标键选中而后回车即可。

    3. 手工直接输入,为便于数据迁移和 WDTP 内部的自动跳转与定位,链接路径建议使用相对地址。
    SwingCoder
        634
    SwingCoder  
    OP
       2017-05-10 02:37:08 +08:00
    改进:调整安静模式下的主界面宽度
    SwingCoder
        635
    SwingCoder  
    OP
       2017-05-10 19:51:12 +08:00
    改进:大量自定义模板文件后,确保修改当前主题时所加载的模板文件与菜单项严格对应。
    SwingCoder
        636
    SwingCoder  
    OP
       2017-05-11 04:28:32 +08:00
    更新:系统默认的样式表及全屏模板文件,使网页渲染结果更适合平板及手机等小屏幕设备(响应式布局)。
    SwingCoder
        637
    SwingCoder  
    OP
       2017-05-11 11:57:12 +08:00
    测试:WDTP 默认样式表和主题所生成的 html 静态网页在 Firefox 50.0 以上版本测试通过,渲染结果符合预期。
    SwingCoder
        638
    SwingCoder  
    OP
       2017-05-11 14:31:55 +08:00
    改进:部分文本标记和模板标签的解析,使之更符合 HTML 5 标准。
    SwingCoder
        639
    SwingCoder  
    OP
       2017-05-12 14:04:50 +08:00
    按前几个版本的惯例,今天是周末,应该发布一个新版本。但今天是 512 汶川大震、上百万国人死伤的祭日。这个日子比较沉重,我觉得不适合于发布新东西。

    新版本留待明日发布吧,请大家谅解。
    SwingCoder
        640
    SwingCoder  
    OP
       2017-05-12 14:07:48 +08:00
    抱歉,勘个误。

    512 汶川大震死伤人数是数十万,不是上百万。按民政部的统计,截至 2008 年 9 月 4 日,汶川地震确认 69226 人遇难,374643 人受伤,失踪 17923 人。
    SwingCoder
        641
    SwingCoder  
    OP
       2017-05-13 12:13:36 +08:00
    周六愉快:)

    WDTP 发布了 0.9.0513 版本,欢迎下载试用。
    http://underwaysoft.com/works/wdtp/index.html
    izgnod
        642
    izgnod  
       2017-05-14 17:24:43 +08:00
    (-) **关键词**
    [keywords]

    如上,生成的页面排版关键字索引在整个页面的最左端对齐。
    SwingCoder
        643
    SwingCoder  
    OP
       2017-05-14 20:47:24 +08:00
    @izgnod 朋友:如果没有使用自定义的样式表和模板,可点击系统菜单-重置 /修复系统主题,而后重新生成该页面即可解决这个问题。

    WDTP 每次升级,几乎都涉及到默认样式表的更新,如果已经使用老版本创建项目,则升级后需要重置 /修复。新建项目不受此影响。项目的简介里有关于此的说明:
    http://underwaysoft.com/works/wdtp/download.html#程序升级
    SwingCoder
        644
    SwingCoder  
    OP
       2017-05-15 12:16:06 +08:00
    更新:《快速上手》文档中给出了 WDTP 目前所支持的所有快捷键:
    http://underwaysoft.com/works/wdtp/gettingStarted.html
    Tokin
        645
    Tokin  
       2017-05-27 08:40:59 +08:00
    看了一下,感觉你们可能真的不缺程序员,但是缺个设计师。。。无论网页还是 App 的 UI 都很古板的样子。。。
    SwingCoder
        646
    SwingCoder  
    OP
       2017-06-25 02:42:04 +08:00
    更新:系统属性文件由 xml 文本格式改为不可直接阅读的二进制格式
    SwingCoder
        647
    SwingCoder  
    OP
       2017-06-25 02:44:18 +08:00
    修复:首次启动或启动后未自动加载任何项目时,右侧出现空白主题编辑器的 bug
    SwingCoder
        648
    SwingCoder  
    OP
       2017-06-26 05:39:34 +08:00
    WDTP 发布 1.0.0626 正式版。下载地址:

    http://underwaysoft.com/works/wdtp/index.html
    SwingCoder
        649
    SwingCoder  
    OP
       2017-06-26 05:47:40 +08:00
    感谢 V2EX 各位网友的关注与支持,终于撑到了 WDTP 1.0 正式版发布的这一天:)由于时间、精力有限,今后 WDTP 的更新完善将不再逐条发布于此。如有问题,欢迎访问 UnderwaySoft 网站: http://underwaysoft.com/ 或 Email 至: [email protected]

    再次感谢大家。
    hing
        650
    hing  
       2017-06-27 09:11:36 +08:00
    好久不更新突然正式版啦,
    关于注册不是很明白。
    保持关注!
    dwhzy
        651
    dwhzy  
       2018-08-02 10:59:34 +08:00
    很好的工具~
    1  2  3  4  5  6  7  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5582 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:05 · PVG 17:05 · LAX 01:05 · JFK 04:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.