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

写了一个 Windows API 版的 markdown 编辑器,希望有人喜欢

  •  
  •   orcinusorca · 2019-05-18 03:54:50 +08:00 · 5630 次点击
    这是一个创建于 2019 天前的主题,其中的信息可能已经有所发展或是发生改变。

    开发背景

    我最近想找一款可以在 Windows XP 下运行的 markdown 编辑器未果。因为工作需要,在虚拟机内用 XP 系统做开发的情况很多,想要记录一点东西常常要切换到外机,非常不方便。同时发现 markdown 已经火了很多年了,居然还没有直接用 Windows API 编写的产品出现,正好我手头有些同类产品的资源,所以就写了一个试试。

    软件特色

    先说缺点,最主要的缺点是现在还是个宝宝,对 markdown 语法还达不到 100%的支持,可优化的地方还有很多。 另一个就是移植困难,不像 electron 是跨平台的,Windows 的 API 移植到 X11 系统非常麻烦,所以暂时也就没有 linux 和 mac 版了,但据我所知 linux 和 mac 下都有各自原生 API 的 markdown 编辑器。 下面再说优点,如果您不要求一定要跨平台,接受 Windows 和 linux 下用不同的编辑器(反正文件格式是一样的,都是GitHub Flavored Markdown) ,那么希望您体验一下这个。具体优点有:

    1. 软件小巧,非常小巧。整个只有 3M 多,和 notepad++一个量级。
    2. 因为是原生 API 开发的,所以对系统(仅指 Windows 系统)的依赖小。不要安装什么运行库,运行环境,整个软件是在_WIN32_WINNT=0x400 条件下编译的,也就是说,理论上最低支持到上个世纪的 Windows NT 4 系统。因为我找不到那么老的系统了,没测试过不确定,但 Windows 2000 中测试过,是没有问题的。
    3. CPU 占用极低,运行流畅。

    反正就是和其它原生 vs 中间件开发的优缺点对比差不多。

    支持的语法

    下面具体说一下目前支持的 markdown 语法。

    标题

    支持一级至六级标题。 标题

    文本

    支持普通文本,加粗,斜体,删除。 文本

    图片、链接、横线

    支持 jpg,png,bmp,gif 等常见图片格式,支持 URL 链接,本地文件链接,锚点。 图片

    引用、列表

    支持无序列表,有序列表,多级列表,列表中嵌入图片。 列表

    表格

    支持表格中嵌入图片,靠左,居中,靠右对齐方式。 表格

    代码

    支持 c,c++,java,javascript,python,ruby 等多种语法高亮。 代码

    下载链接

    链接: https://pan.baidu.com/s/1cMKYl7vNK_OSWA9bSW1dIQ 提取码: v8jb

    第 1 条附言  ·  2019-05-18 17:33:13 +08:00
    更新一下下载链接,现在编辑模式是博客《编程人生》的样式,阅读模式是博客《情人节》的样式。
    链接: https://pan.baidu.com/s/1WyVk11i2LclQiBXZhdZOaQ 提取码: q1ec
    第 2 条附言  ·  2019-05-23 03:08:04 +08:00

    找到一个引起卡顿的问题,这个版本不建议下载,下个版本增加新功能后一起解决卡顿问题,sorry啦

    第 3 条附言  ·  2019-07-04 16:22:42 +08:00

    新版链接在: https://share.weiyun.com/5uhtrk8 内存占用更小了,也更加流畅了,增加了对Word文档的支持,可用markdown编辑Word文档了,希望继续支持。

    第 4 条附言  ·  2019-07-17 21:58:53 +08:00
    最新版本下载链接:
    https://share.weiyun.com/5ht0bAE
    41 条回复    2019-05-21 13:12:02 +08:00
    CallMeReznov
        1
    CallMeReznov  
       2019-05-18 04:14:54 +08:00   ❤️ 1
    大佬,大佬.jpg
    win10 上跑了一下,布局拖动好像有问题.
    右边的阅读框向左拉会覆盖编辑框,左边的归档与其他框向右拉又会覆于最右侧只上.
    就如同这样的情况:



    另外不知道为什么操作起来特别卡....
    rawidn
        2
    rawidn  
       2019-05-18 07:52:28 +08:00 via iPhone   ❤️ 2
    可以上架 ms store 吗,看着很轻量~
    geelaw
        3
    geelaw  
       2019-05-18 08:20:07 +08:00 via iPhone   ❤️ 1
    可以用 COM 的形式提供编译服务吗
    jamesxu
        4
    jamesxu  
       2019-05-18 09:26:31 +08:00 via iPhone   ❤️ 1
    好丑,UI 可以改进一下
    ningfeng
        5
    ningfeng  
       2019-05-18 09:34:11 +08:00   ❤️ 1
    别用楷体
    whileFalse
        6
    whileFalse  
       2019-05-18 09:48:02 +08:00 via iPhone   ❤️ 1
    哈哈哈哈这个界面真是…有一种粗旷美
    DAPTX4869
        7
    DAPTX4869  
       2019-05-18 09:51:59 +08:00   ❤️ 1
    额....windows 有 typora 了...最强的 md 编辑器
    现在用 XP 搞开发的...应该很少吧
    ipwx
        8
    ipwx  
       2019-05-18 10:22:51 +08:00   ❤️ 1
    1、好丑 + 1.
    2、心疼楼主,纯 Windows API 写这东西可不容易。然而我看不到必要性。。。但凡能够用钱解决的都不是问题,楼主这个场景,买台二奶笔记本不就解决了……
    yixiang
        9
    yixiang  
       2019-05-18 10:29:56 +08:00   ❤️ 2
    666,但是,是否用低版本 .net 也能搞定,或者 gtk ?
    JackieMe
        10
    JackieMe  
       2019-05-18 10:53:08 +08:00 via Android   ❤️ 1
    Typora 在 XP 用不了?如果能用这就是跨平台的,唯一缺少的是同步功能
    tankb52
        11
    tankb52  
       2019-05-18 11:03:01 +08:00   ❤️ 2
    很棒,因为他轻量啊。
    maggch
        12
    maggch  
       2019-05-18 11:30:07 +08:00 via Android   ❤️ 1
    使用场景有限
    chinuno
        13
    chinuno  
       2019-05-18 12:17:32 +08:00 via Android   ❤️ 1
    不開源嗎?想學習一下
    shell314
        14
    shell314  
       2019-05-18 12:19:27 +08:00 via Android   ❤️ 1
    这个可以
    szzhiyang
        15
    szzhiyang  
       2019-05-18 12:29:59 +08:00   ❤️ 1
    @JackieMe
    @DAPTX4869

    在他人的作品发布帖下吹竞品是一种非常欠妥的行为。
    DAPTX4869
        16
    DAPTX4869  
       2019-05-18 12:59:24 +08:00   ❤️ 1
    @szzhiyang #15 typora 不需要吹...用过都知道爽
    hljjhb
        17
    hljjhb  
       2019-05-18 13:02:20 +08:00 via Android   ❤️ 2
    很棒 居然还测试了 Windows 2000 有条件可以发布在 Microsoft Store
    dobelee
        18
    dobelee  
       2019-05-18 13:34:37 +08:00 via Android   ❤️ 1
    这个楷体果然够 xp。。
    orcinusorca
        19
    orcinusorca  
    OP
       2019-05-18 13:36:10 +08:00
    谢谢,刚起来,先统一回复一下,确实并不打算,也不可能满足每个人的喜好,有需要的人喜欢就行了
    orcinusorca
        20
    orcinusorca  
    OP
       2019-05-18 13:37:26 +08:00
    @CallMeReznov 谢谢反馈,我看看
    orcinusorca
        21
    orcinusorca  
    OP
       2019-05-18 13:43:56 +08:00
    @chinuno html 渲染部分是汇编代码,开源也不好看,如果要学习可以看浏览器里的实现,界面部分 directui 开源的就更多了
    orcinusorca
        22
    orcinusorca  
    OP
       2019-05-18 13:54:16 +08:00
    @DAPTX4869
    @ipwx
    @yixiang
    @JackieMe
    @hljjhb
    目前纯粹是做着玩的,也没想把它产品化,如果真有产品化的想法当然不会主打低版本 windows 兼容做卖点
    springmarker
        23
    springmarker  
       2019-05-18 13:58:13 +08:00   ❤️ 1
    Windows10 平台倒是有个叫 “ Acrylic Markdown ”的
    orcinusorca
        24
    orcinusorca  
    OP
       2019-05-18 16:52:51 +08:00
    @dobelee 字体是根据系统选择的,Win10 下是微软雅黑
    xml123
        25
    xml123  
       2019-05-18 16:57:32 +08:00   ❤️ 1
    @orcinusorca #24 支持自定义 css 吗
    orcinusorca
        26
    orcinusorca  
    OP
       2019-05-18 17:03:07 +08:00
    @xml123 支持的,编辑模式和阅读模式都有 css
    aheadlead
        27
    aheadlead  
       2019-05-18 17:44:49 +08:00 via iPhone   ❤️ 3
    @szzhiyang 公平竞争有何不可。

    你的作品虽然不错,但是宣传给人感觉就很不好。
    liquor233
        28
    liquor233  
       2019-05-18 18:23:40 +08:00   ❤️ 1
    我觉得 vscode 就蛮好用的了,以前也用马克飞象,感觉也不错的,感觉市面上这种东西已经很多了,纯 windowsAPI 竞争也不是很大
    cmheia
        29
    cmheia  
       2019-05-18 20:19:06 +08:00   ❤️ 1
    滚轮一次一行( HiDPI 150%),蓝瘦
    orcinusorca
        30
    orcinusorca  
    OP
       2019-05-18 21:08:03 +08:00
    @cmheia 滚动当时设计的页面上是小步,一次一行,滚动条上是大步,一次四行。
    orcinusorca
        31
    orcinusorca  
    OP
       2019-05-18 21:12:31 +08:00
    @cmheia 滚轮,打快了,在滚动条上的滚轮是大步,页面上的滚轮是小步
    ysc3839
        32
    ysc3839  
       2019-05-18 21:31:33 +08:00 via Android   ❤️ 1
    > 居然还没有直接用 Windows API 编写的产品出现

    现代软件开发都是追求简单快速,Win32 API 因为开发起来过于复杂,大家都喜欢使用封装过的库来开发了,从多年前 MFC 就开始了。
    May725
        33
    May725  
       2019-05-18 22:25:41 +08:00   ❤️ 1
    佩服,还有汇编代码, 大佬大佬, 个人觉得比 electron 棒多了
    orcinusorca
        34
    orcinusorca  
    OP
       2019-05-18 22:32:47 +08:00   ❤️ 1
    @ysc3839 当然,我平时也要用 MFC 或者 python。但快速开发后的产品,火到一定程度时也就有人做底层开发,毕竟很多人还是喜欢轻量的。别说现在磁盘越来越大了,cpu 越来越快了,内存也越来越大了,但是现在软件也越来越多了,数据也越来越多了,所以软件小巧点还是有益处的。
    您如果看了我的软件里的介绍就能猜到,我主要的目的还是在非程序员中推广,推广 markdown,推广 git,让非程序员装一个 vscode 不太现实吧。
    ldm0
        35
    ldm0  
       2019-05-19 01:59:22 +08:00   ❤️ 1
    Cool,就产品来说不完美(我这边英文版 win10 打开是乱码和空白),但是好久没看见这么硬核的能够跑起来的原生程序了,楼主下一步是不是要写浏览器了。XD

    PS: 可惜不开源
    bakabie
        36
    bakabie  
       2019-05-19 02:07:21 +08:00 via Android   ❤️ 1
    支持支持,现在用纯 winapi 写程序的也只有木马了吧?不对木马也都不怎么用纯 api 了。大佬大佬.jpg
    orcinusorca
        37
    orcinusorca  
    OP
       2019-05-19 09:42:33 +08:00
    @ldm0 谢谢支持,英文版我是故意的,因为以后想做成中文版免费,英文版注册+收费的形式。
    orcinusorca
        38
    orcinusorca  
    OP
       2019-05-19 09:43:45 +08:00
    @bakabie 谢谢支持
    Akkuman
        39
    Akkuman  
       2019-05-21 11:37:08 +08:00   ❤️ 1
    感觉操作起来卡卡的感觉,滚动感觉十分不流畅,另外滚动太慢了。
    我这边使用 win10,内存占用是 66M
    orcinusorca
        40
    orcinusorca  
    OP
       2019-05-21 12:53:26 +08:00
    @Akkuman 滚动卡看看是不是滚轮的原因,在页面上目前滚轮是小步滚动页面,一次一行,在滚动条上是大步滚动页面,一次四行,当然这个设计值得商榷。
    内存和开缓存有关,一开始开的缓存比较大,用得久了就增幅很小,这个当然也还是有优化的空间的,我一开始就说了,可优化的地方还不少。
    谢谢您的反馈。
    orcinusorca
        41
    orcinusorca  
    OP
       2019-05-21 13:12:02 +08:00
    @Akkuman 确实像您说的,我刚才自己又试了一下,可能我后来编译的时候又改了一点地方。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5200 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:51 · PVG 11:51 · LAX 19:51 · JFK 22:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.