鼓捣一个好用的markdown编辑器

之前写算法文档一直用 word,但是 word + git 真是特别不方便使用, 所以打算用 markdown 来写。虽然博客文章都是用 markdown 写的,但计算机本地一直没有找到一个好用的 markdown 文本编辑器,今天总算让我鼓捣出来一个。我使用的编辑器是 notepad++,在此基础上增加了 markdown 的语法高亮,并安装了提供预览功能的插件。步骤如下:

安装 notepad ++

我安装的是 Notepad++ Installer 32-bit x86 版本,因为:

Note that the most of plugins (including Plugin Manager) are not yet available in x64 !

设置 markdown 语法高亮

配置方法参考此文 ,我使用了 Edditoria 制作的 markdown_npp_zenburn 配色,看起来挺不错的。

设置预览

为了实现 markdown 的预览,我尝试了多个插件,包括 NppMarkdown, MarkdownViewer++,但因为它们可定制性比较差,主要体现在对 R 语言语法高亮展示不太好,最终我选择了 Preview HTML,配置方法参考此文
需要注意的是,在配置插件-设置过滤器那一步,需要将 template=tpl.html5 修改为 tpl.html5 在你电脑中的绝对目录,否则在启用插件预览的时候会报错:

pandoc: Could not find data file templatestpl.html5

当然了,改路径之前需要确保你的电脑中有 tpl.html5 这个文件,它为 HTML 预览指定样式。我没有使用这篇博客中给出的 HTML 代码做为我的样式(因为它不好看),我上网找了一个,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<!DOCTYPE html>
<html$if(lang)$ lang="$lang$"$endif$>
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
$for(author-meta)$
<meta name="author" content="$author-meta$">
$endfor$
$if(date-meta)$
<meta name="dcterms.date" content="$date-meta$">
$endif$
<title>$if(title-prefix)$$title-prefix$ - $endif$$pagetitle$</title>
<style type="text/css">code{white-space: pre;}</style>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
$if(quotes)$
<style type="text/css">q { quotes: "“" "”" "‘" "’"; }</style>
$endif$
$if(highlighting-css)$
<style type="text/css">
$highlighting-css$
</style>
$endif$
$for(css)$
<link rel="stylesheet" href="$css$">
$endfor$
$if(math)$
$math$
$endif$
$for(header-includes)$
$header-includes$
$endfor$
</head>
<body>
$for(include-before)$
$include-before$
$endfor$
$if(title)$
<header>
<h1 class="title">$title$
$if(subtitle)$
<br>
<small class="subtitle">$subtitle$</small>
$endif$
</h1>
$for(author)$
<h2 class="author">$author$</h2>
$endfor$
$if(date)$
<h3 class="date">$date$</h3>
$endif$
</header>
$endif$
<div class="pure-g">
$if(toc)$
<nav class="toc pure-u-md-1-4 pure-u-1">
$toc$
</nav>
$endif$
<div class="content pure-u-md-3-4 pure-u-1">
$body$
</div>
</div>
$for(include-after)$
$include-after$
$endfor$
</body>
</html>

完成上面几步,你就可以在本地编辑并预览 markdown 文档啦