我正在寻找一个Markdown变体的Htmlize插件。Markdownize Emacs缓冲区
这个想法很简单:比如说,你想在GitHub上发布代码给GIST,或者任何支持Markdown的地方。您在Emacs中输入您的代码,执行M-x markdownize-buffer
,您会得到一个包含完整Markdown标记的新缓冲区。
有人知道这样的插件是否存在?
我正在寻找一个Markdown变体的Htmlize插件。Markdownize Emacs缓冲区
这个想法很简单:比如说,你想在GitHub上发布代码给GIST,或者任何支持Markdown的地方。您在Emacs中输入您的代码,执行M-x markdownize-buffer
,您会得到一个包含完整Markdown标记的新缓冲区。
有人知道这样的插件是否存在?
Markdown功能不足以生成跨度类。要做到这一点,你需要下载到纯粹的HTML。
Htmlize将根据您当前的Emacs主题设置生成代码的语法高亮版。看看生成的标记:它通过产生两个DOM元素和风格,以复制当前语法高亮做到这一点:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!-- Created by htmlize-1.36 in css mode. -->
<html>
<head>
<title>sha1test.rb</title>
<style type="text/css">
<!--
body {
color: #eeeeec;
background-color: #2e3434;
}
.comment {
/* font-lock-comment-face */
color: #888a85;
}
.comment-delimiter {
/* font-lock-comment-delimiter-face */
color: #888a85;
}
/* [...] */
-->
</style>
</head>
<body>
<pre>
require <span class="string">'digest/sha1'</span>
<span class="type">SLICE_SIZE</span> = 20
<span class="keyword">def</span> <span class="function-name">myhash</span>(input)
<span class="type">Digest</span>::<span class="type">SHA1</span>.hexdigest(input).slice(0,<span class="type">SLICE_SIZE</span>)
<span class="keyword">end</span>
hashmap = {}
inputs = 0
unique_inputs = 0
<span class="type">ARGF</span>.each <span class="keyword">do</span> |line, idx|
[...]
</body>
</html>
降价不能在这里复制的实物资料。这对于将语义纯文本翻译成语义标记是有利的(即,标题应该变成H1或H2,**text**
应该产生<strong>text</strong>
等等)。 Emacs缓冲区的哪些行是标题?应该翻译成<em>
标签?
我知道Htmlize的优点;多年来一直在愉快地使用它。事情是,我不知道Markdown无法做到这一点,甚至没有接近Htmlize。谢谢。 – dimitarvp 2011-06-24 10:00:01
如果您想在Gist中发布代码,则不要使用Markdown。您只需将代码复制到Gist中即可。 Gist中的Markdown用于文档,而不是代码。 – cjm 2011-06-17 18:25:38