Markdown 文字编辑器介绍

这次博文没啥技术干货,主要跟伙伴们推荐下 新一代 Markdown 文字编辑器,讲讲使用心得,已经对现有 HTML 编辑器发发牢骚。

前 (Lao) 言 (Sao)

就差不多前一周时候,我又重新开始写博文总结。那篇博文用的还是 CSDN 默认的 HTML 编辑器,HTML 语法我也不熟悉,所以只好老老实实去用工具栏组件。编辑的过程真痛苦,心中不知飘过多少遍 What The Fuck

那么小的编辑区域,顾着后面文章,又顾不着前面工具栏。每次想要编辑文章前部分内容的时候,滚下轮滑变成了整体页面上滚,搓。
文章经常需要贴写代码或脚本 ,每次要点工具栏的 “<>”。有时候点错了,编辑光标跑到前面去了,一帖代码,❌,贴错地方了。懊恼的准备 Ctrc+X 的时候,❌❌,尼玛被剪贴的地方会残留一空行(就像下面那样)。

准备前进删除的时候,❌❌❌,死活删不掉,而且还影响下面一行的格式,最后只能切到 HTML 源码页面,找到空行标签去删掉。

最可恨的地方还不止如此,当博文写完发表后,去查看最后效果的时候,NND 代码引用的地方,无缘无故的多出了一些 html 代码,重新编辑删掉发表后,再查看发现又在,真是 ❌❌❌❌。


推 (Xin) 荐 (De)

经过前一次心醉的编辑后,第二次开始写推荐 Lantern 的博文时候,无意中发现了 HTML 编辑器有一行小小的提示:

切换到 MarkDown 编辑器

切进去一看,博文编辑分成两栏,左边用于编辑,右边实时显示页面效果。文章所有的格式都有对应的编辑语法,编辑博文完全可以脱离工具栏。看起来挺复杂的,但是非常让人兴奋,新东西总是会带来很多乐趣。

于是就一边学习语法,一边编辑博文,加粗、标题、列表、超链接、引用、代码块 (Support Syntax Highlighting)、图片。 别说真是越用越舒服,有种找到第一次接触 shell 的感觉,爽到没话说。并且实时编辑,立马就看到效果,特别的舒畅。

博文编辑完后,真是太喜欢它了。于是 Google 搜索下 Markdown ,发现这东西已经非常有名,应用也非常广泛了,Github 已经完美支持 Markdown 语法,READ.me 和 Issue 完全可以用 Markdown 语法进行编写,并且 Stack Overflow 等大咖已经完美支持 Markdown 语法讨论回复。真是牛逼到不行,真不愧是 新一代 文字编辑器。顺便贴下 Markdown 对自己的描述:

Markdown is intended to be as easy-to-read and easy-to-write as is feasible.

Readability, however, is emphasized above all else. A Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. While Markdown’s syntax has been influenced by several existing text-to-HTML filters — including Setext, atx, Textile, reStructuredText, Grutatext, and EtText — the single biggest source of inspiration for Markdown’s syntax is the format of plain text email.

最后一句话说的真实在,Markdown 最大灵感来源就是纯文本电子邮件的格式。具体的语法我就在这里介绍了,但是给出一个传送门,直达官方的在线体验地址 dillinger.io


延 (Dao) 伸 (Gu)

真是实在太喜欢 Markdown 编辑器了,因此我想把它搞成 “本地” 的。这个 “本地” 并不是指真实的本地应用,而是我 工作 / 家里 有个路由,并且都搭建了一台 Apache 服务器,因此我想把 Markdown 安装到 Apache 服务器上,然后所有局域网的设备都可以访问。

伙伴是不是有点奇怪,官网提供的在线编辑器不就已经能满足我的需求吗?问的好,其实 TM 这个需求是在我找到国内没墙的 dillinger.io 之前想出来的(别问我为什么有了 Lantern,还怕墙 T_T)。虽然看起来是无用功,但是捣鼓过程中还是发现了一些有趣的东西。

Google 上找了一圈,发现了很种 Markdown 编辑器。开始找到些桌面编辑器,主要推荐 Haroopad (Ubuntu/Linux User) / MarkdownPad (Windows User) 。后面找到了一款非常符合我需求的 开源 在线编辑器 StackEdit,开源的让我很感兴趣。

StackEdit 是托管在 Github 上的,一顿 git clone 下来后,就是开始 README.md 啪啪啪 “编译”。StackEdit 和 Lantern 一样也依赖了 Docker 容器技术,其次 StackEdit 的后端程序是用 Node.js 写的,用 package.jason 来描述好 Node.js 库的依赖关系,因此直接运行 $ npm install 就可以整理好后端程序 “编译” 需要的所有 Node.js 相关库。

这个下载过程对于墙内伙伴是非常痛苦的,因为很多库需要 VPN 才能访问,我当时只能跑到公司,用 VPN 专线搞定这个我问题(但是刚看到有人搭建了镜像的 NPM 资源库,具体文章链接《深入浅出Node.js》,希望真的有用)。

Node.js 依赖库安装完毕后,你会发现多了个 node_modules/ 目录,里面全是现在下来的 Node.js 库

(~/proj/stackedit/node_modules)$ ls 
bower            gulp         gulp-replace    request
bower-requirejs  gulp-bump    gulp-requirejs  run-sequence
compression      gulp-clean   gulp-uglify     serve-static
ejs              gulp-inject  gulp-util       ssh2
event-stream     gulp-jshint  knox
express          gulp-less    mime

其次 StackEdit 前端还是采用 Bootstrap 框架,用 bower.jason 来管理前端资源,因此通过 $ bower install 来完成前端依赖库的整理。到此为止所有的前后端资源已经准备完毕,我不熟悉 WEB 开发套件,但是看起来也非常有意思,有机会可以写个小网站玩玩。

由于 StackEdit 后端是基于 Node.js 的,已经也就没有真正意义上的编译,直接运行 server.js 脚本程序即可 :

(~/proj/stackedit/) $ export PORT=80 && sudo node server.js
HTTP server started: http://localhost:3000
HTTP server started: http://localhost:3000
HTTP server started: http://localhost:3000
HTTP server started: http://localhost:3000

很明显我们可以通过 Browser 中输入 http://localhost:3000 来对 StackEdit 进行访问,果不其然,来贴张靓照:
这里写图片描述

到这就基本完成了我最初的需求了,但是手动运行 node server.js 对于长期使用还是很奇怪的。因此 Ctrl+C 掉程序,准备接下来的研究。但是!但是!我发现 Browser 端的 StackEdit 居然还在运行!还可以新建文章,实时编写!刷新页面后还能使用!我了个草!
我第一怀疑是 node server.js 可能没有死干净,还有什么服务在跑。ps 查进程,也没看到相关的东西。由于 Browser 是访问 3000 端口,因此直接用 netstat -ap | grep 3000 查端口占用情况总行了吧。我❌,3000 端口也 TM 没在用,真是见鬼了。最后一想唯一有可能的就是 Browser 缓冲起来了,因此试试对 Browser 清除数据,啊哈,这次终于把 StackEdit 搞没了。网上一查,发现是 Markdown 使用浏览器离线存储将内容保存在本地,来支持离线编辑功能。哎呦,真心不错(有空也可以研究下这个离线存储,试试把普通的网站做成这种形式试试,应该会很好玩)。

等等!如果原生的 Markdown 支持离线编辑,那不就是说 CSDN 修改的 Markdown 不是也支持离线。我❌,把 Wifi 关掉,立马试试 write.blog.csdn.net/mdeditor ,果不其然可以用。哎哎,瞎捣腾了半天,最后居然有现成。话虽如此,但是倒腾的过程还是蛮有意思的,也了解了一些东西。

最后在本篇博文的过程中,引用了一些相关的文章,并且感觉值得推荐出来,所以链接给出如下:
< Markdown 语法说明 (简体中文版) >
< 10款流行的Markdown编辑器 >
< MarkDown——你会爱上的新一代文字书写方式 >
< 深入浅出Node.js : Node.js&NPM的安装与配置 >
< Node, Grunt, Bower and Yeoman – A Modern web dev’s Toolkit >
< Web开发利器:介绍一款快速开发套件 (Node, Grunt, Bower和Yeoman) >

好勒,这次也差不多结束了,良心推荐大家切到 Markdown 来,本地或者在线都行,确实是一个非常好用的编辑器,能够让我们更加专注于文字内容本身,有机会再见。


Thanks
- Yakir

这里写图片描述

猜你喜欢

转载自blog.csdn.net/yangkuanqaz85988/article/details/48886327