1
blaulan 2012-10-26 22:33:24 +08:00
1.不同版本的 markdown 似乎有细微的语法差异
2.不清楚 3.python 的一个 markdown 包好像支持 Latex 数学公式语法,不过具体忘了 4.pandoc 生成 pdf 需要 latex 支持 |
2
shiweifu 2012-10-26 22:45:37 +08:00
使用markdown 生成html
import markdown mark.markdown("#abc") 使用pygment 生成带语法配色的html a = get_lexer_by_name("python", full=True, stripall=True) formatter = HtmlFormatter(noclasses=True, linenos=False) print highlight(code, a, formatter) 不知道lz是不是这个意思⋯⋯更多用法可以参考liquidluck |
3
shiweifu 2012-10-26 22:46:17 +08:00
貌似markdown 还没个标准,所以实现的有点混乱。比如标题后面要不要空行什么的,也没个统一的说法
|
4
binux 2012-10-26 22:46:47 +08:00
markdown不存在编辑器的概念,只有转换器:markdown->html转换。只是有的编辑器自带转换器罢了。以上所有问题都是因为,生成的html不同。
|
5
Hualin OP @blaulan Sublime Text 2 的 MarkdownBuild 插件,我刚查看了一下源文件,它已经包含 python markdown了,它也有默认的 css 文件。自述文档说,可以指定自己的 css。现在就是这个问题:如何把 这个插件的 markdown python 指定成我在 python27 下安装的 markdown python?
|
7
Hualin OP @shiweifu 啊,我刚下了个 python 实现的 md,然后我发现我的 sublime 上有个叫 markdown build 的插件,我发现那个插件自己也带了个 python markdown。我想把这个插件的 build 命令的目标转到我装的。然后在里面加自己想要的插件。
能在里面简单嵌入点 latex 公式就行了。正经文章还是得用 latex 写。 |
8
timonwong 2012-10-26 23:30:01 +08:00 1
1. Markdown没有一个标准啊,原版一套,Pandoc两套,GitHub一套,SO又是一套,各种扩展就更多了,最近Coding Horror还有一篇文章讨论这个:http://www.codinghorror.com/blog/2012/10/the-future-of-markdown.html
2. Python有两个: 一个近似于Markdown.PL的实现, 叫markdown2。 一个是python-markdown, https://github.com/waylan/Python-Markdown,我个人比较喜欢这个实现…… 3. Sublime Build是不行的,倒是一个Markdown Preview的Folk可以,你可以看看: https://github.com/morlay/sublimetext-markdown-preview 4. 没有用过pandoc,暂时无法解答,抱歉 如果只使用原版的Markdown特性,又需要伪实时的预览,可以试试我写的OmniMarkdownPreviewer插件: https://github.com/timonwong/OmniMarkupPreviewer |
9
timonwong 2012-10-26 23:31:07 +08:00
EDIT&FIX:
OmniMarkdownPreviewer -> OmniMarkupPreviewer |
11
shiweifu 2012-10-27 08:22:36 +08:00 1
|
12
yetone 2012-10-27 08:51:13 +08:00
import misaka as m
m.html(content) |
13
timonwong 2012-10-27 23:20:04 +08:00
UPDATE:
我刚刚创建了OmniMarkupPreviewer的新分支feature-LaTex-mdown,可以支持LaTex了(使用MathJax),你可以看看这里:https://github.com/timonwong/OmniMarkupPreviewer/tree/feature-LaTex-mdown 例子(MathJax, 参考http://docs.mathjax.org/en/latest/start.html#tex-and-latex-input): When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$ Python-Markdown的扩展性很好,主要是靠这样实现的: 1. 输出格式化文本(codehilite最好装上pygments): # 注意,mathjax 是一个我修改过的 mathjax 扩展,同时支持 $..$, $$..$$ 和 \( ... \) 语法。 # 到这里获取 https://raw.github.com/timonwong/OmniMarkupPreviewer/feature-LaTex-mdown/OmniMarkupLib/Renderers/libs/markdown/extensions/mathjax.py # 文件就放到 markdown/extensions 下面 import markdown markdown.markdown(text, tab_length=2, output_format='html5', extensions=[ 'tables', # 表格 'mathjax', # Latex 'strikeout', # This ~~is a deleted text~~. 'fenced_code', # GitHub flavored markdown的代码片段格式 'codehilite', # 代码高亮 ] ) 2: 样式表,你可以直接拿OmniMarkupPreviewer里面的。 3: 还有就是HTML的模版,如果要加入MathJax的支持,把下面的代码加上: <script type="text/x-mathjax-config"> // MathJax的配置 MathJax.Hub.Config({ tex2jax: { // 默认mathjax只识别 $$ .. $$ inlineMath: [ ['$','$'], ["\\(","\\)"] ], processEscapes: true }, TeX: { equationNumbers: { autoNumber: 'AMS' } }, "HTML-CSS": { imageFont: null // 不使用imageFont可以删除mathjax/fonts/HTML-CSS/TeX/png 目录 } }); </script> <script type="text/javascript" src="/public/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> 希望(仍然)对你有用。 |