如何在Pelican的Markdown文件中使用Bootstrap组件?

时间:2016-01-04 19:30:58

标签: twitter-bootstrap markdown pelican

在Markdown中使用Boostrap组件(例如labelsalerts)的最佳方法是什么? Pelican twitter_bootstrap_rst_directives似乎提供了正确的功能,但对于RST文件。

1 个答案:

答案 0 :(得分:1)

开箱即用,Markdown不提供此类功能。事实上,没有"指令"在Markdown。正如原Syntax Rules中所述:

  

Markdown的语法仅用于一个目的:用作网络写作的格式。

     

Markdown不是HTML的替代品,甚至不接近它。它的语法非常小,仅对应于HTML标签的一小部分。我们的想法不是创建一种语法,以便更容易插入HTML标记。在我看来,HTML标签已经很容易插入。 Markdown的想法是让阅读,编写和编辑散文变得容易。 HTML是一种发布格式; Markdown是一种写作形式。因此,Markdown的格式化语法仅解决可以用纯文本传达的问题。

     

对于Markdown语法未涵盖的任何标记,您只需使用HTML本身。没有必要为它添加前缀或分隔它以表明您正在从Markdown切换到HTML;你只需使用标签。

在这种情况下,您只需将Bootstrap所需的HTML直接插入到您的文档中即可。

  

唯一的限制是块级HTML元素 - 例如<div><table><pre><p>等 - 必须通过空行与周围内容分开,并且不应缩进块的开始和结束标记带有标签或空格。 Markdown非常聪明,不会在HTML块级标记周围添加额外的(不需要的)<p>标记。

也就是说,您可以开发自己的Markdown扩展并创建自己的&#34;指令。&#34;事实上,如果你使用Pelican,它依赖Python-Markdown进行Markdown解析,而Python-Markdown有Extension API,它允许你开发自己的扩展(参见tutorial here)。当然,您可能需要查看third-party extension列表,看看其他人是否已创建此类扩展程序。

如果没有,并且您决定创建自己的,我可以建议使用HTML注释作为指令的语法。这样,如果/当您的文档使用不支持自定义语法的Markdown解析器进行解析时,指令将不会破坏解析器并且不会受到影响。鉴于Pelican已经为Rst提供了此类功能的支持,该社区内现有兴趣。如果你问这个社区,可能会有一些兴趣/帮助来为指令开发合理的语法。