目前自己写一些东西,都用的是Markdown格式的编辑器。比如Typora和Ulysses,非常轻量级,界面也非常干净整洁。写起文字来,总是有一种如释重负之感,这种感觉,犹如初高中时候新买了一个非常漂亮的日记本。
客户端写的舒服,不免想要在发布博客的时候,与markdown无缝的对接。由于网页编辑器采用的是ckEditor,因此,发现它有一个markdown的插件,这个插件用了好一段时间。但有几次,感觉非常的不好用。主要原因是用户必须先点击“markdown”的按钮,输入markdown文本;然后在点击提交之前再次点击这个按钮,才能把输入的文本转化成html文本。否则,文本都将丢失。而且好几次,在输入代码模块的时候,html和markdown文本之间的转换会丢失信息。
因此,痛下决心,要改造这个网页编辑器。找来找去,找到了以下几个控件:
<script src="/mdeditor/js/markdown.js"></script>
<script src="/mdeditor/js/to-markdown.js"></script>
<script src="/mdeditor/js/bootstrap-markdown.js"></script>
实现了markdown编辑器的功能,仅需要一行语句:
<textarea id="txtContent" name="txtContent" type="text"
rows="30" class="form-control"
data-provide="markdown"
placeholder="内容*"> </textarea>
在网页渲染的时候,也很容易转化成html文本:
markdown.toHTML($("#textcontent").text()
此外,写技术博客最需要的代码的高亮显示和latex的公式编辑。前者的解决方法是调用highlight库,会自动的对code内的文本进行高亮,且还可自选主题。
<link rel="stylesheet" href="/highlight/styles/googlecode.css">
<script src="/highlight/highlight.pack.js"></script>
而后者,解决方案不少,但相对技术资料较少。方法一是调用某个能提供latex图片显示的网址,从该网址上获取转换后的图片。比如ckeditor就支持eqneditor的插件,可以把数学公司转化成图片,并集成进来。但这种方法的图片总是觉得模糊,且万一提供图片转化的服务器不可用了,则无法显示公式图片了。方法二呢,利用第三方的js库,直接生成非图片的数学公式。公示显示非常清晰,也不担心第三方服务器不可用的问题。找来找去,发现一个非常好用的库 mathjax(http://docs.mathjax.org/en/latest/index.html)。 仅需要导入这个库,即可把latex文本转化成公式。一个例子是
IDF(t,D) = log \frac{\left| D \right| + 1}{DF(t,D) + 1}
将被解析成:
$$ IDF(t,D) = log \frac{\left| D \right| + 1}{DF(t,D) + 1} $$
自动标签 : Markdown 编辑器 高亮 图片 文本 显示 网页编辑器 一个非常 公式 方法 输入 latex
更多 [ 技术 ] 文章