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

2019-05-18 03:54:50 +08:00
 orcinusorca

开发背景

我最近想找一款可以在 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

5441 次点击
所在节点    分享创造
41 条回复
orcinusorca
2019-05-18 13:43:56 +08:00
@chinuno html 渲染部分是汇编代码,开源也不好看,如果要学习可以看浏览器里的实现,界面部分 directui 开源的就更多了
orcinusorca
2019-05-18 13:54:16 +08:00
@DAPTX4869
@ipwx
@yixiang
@JackieMe
@hljjhb
目前纯粹是做着玩的,也没想把它产品化,如果真有产品化的想法当然不会主打低版本 windows 兼容做卖点
springmarker
2019-05-18 13:58:13 +08:00
Windows10 平台倒是有个叫 “ Acrylic Markdown ”的
orcinusorca
2019-05-18 16:52:51 +08:00
@dobelee 字体是根据系统选择的,Win10 下是微软雅黑
xml123
2019-05-18 16:57:32 +08:00
@orcinusorca #24 支持自定义 css 吗
orcinusorca
2019-05-18 17:03:07 +08:00
@xml123 支持的,编辑模式和阅读模式都有 css
aheadlead
2019-05-18 17:44:49 +08:00
@szzhiyang 公平竞争有何不可。

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

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

PS: 可惜不开源
bakabie
2019-05-19 02:07:21 +08:00
支持支持,现在用纯 winapi 写程序的也只有木马了吧?不对木马也都不怎么用纯 api 了。大佬大佬.jpg
orcinusorca
2019-05-19 09:42:33 +08:00
@ldm0 谢谢支持,英文版我是故意的,因为以后想做成中文版免费,英文版注册+收费的形式。
orcinusorca
2019-05-19 09:43:45 +08:00
@bakabie 谢谢支持
Akkuman
2019-05-21 11:37:08 +08:00
感觉操作起来卡卡的感觉,滚动感觉十分不流畅,另外滚动太慢了。
我这边使用 win10,内存占用是 66M
orcinusorca
2019-05-21 12:53:26 +08:00
@Akkuman 滚动卡看看是不是滚轮的原因,在页面上目前滚轮是小步滚动页面,一次一行,在滚动条上是大步滚动页面,一次四行,当然这个设计值得商榷。
内存和开缓存有关,一开始开的缓存比较大,用得久了就增幅很小,这个当然也还是有优化的空间的,我一开始就说了,可优化的地方还不少。
谢谢您的反馈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/565246

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX