美文网首页
Kramdown 关键概念

Kramdown 关键概念

作者: lingnanlu | 来源:发表于2015-07-14 15:53 被阅读85次

    一、kramdown 元素

    kramdown元素分为 Block-level ElementsSpan-Level Elements

    Block-level Elements 包括

    • Paragraphs
    • Headers
    • Blockquotes
    • Code Blocks
    • Horizontal Rules
    • Lists
    • Definition Lists
    • Tables
    • 其它

    Span-Level Elements 包括

    • Emphasis
    • Links and Images
    • Inline Code
    • Footnotes
    • Abbreviations

    关于kramdown元素,不必记忆,现用现学,但学的时候要注意以下几点

    1. 元素的表示法

      如Blockquotes的表示是以>开头,后跟一个可选的空格,并且每一行的开头都为>

      而Code Blocks的表示又有两种,一种是 以4个空格 缩进,另一种不用缩进,但是使用 ~~~~ 标志

    二、Block-level 元素的结束

    当Block-level元素遇到以下时结束。

    1. 空行
    2. EOB字符,a ^ as first character on an otherwise empty line.
    3. 其它(参见官方文档)

    三、first character 和 first column

    当提交当前Block元素的 first characterfirst column 时,均是指相对于当前元素的嵌套等级来说的,而不是绝对于文档的最左边。

    四、缩进与嵌套

    即如何利用缩进来嵌套元素。

    Block元素中可以包含多个Block元素,这就是嵌套,当然,这种嵌套可以有多层。

    可以这样理解,把整个文档想像成一个大的Block元素,这个元素中包含着许许多多的Block元素,拿一个Blockquotes来说,其>必须在第一列上,然后是一个可选的空格,再接非空白字符。这样,一个Block元素就嵌套在文档这个最外层Block元素中了。

    此时,再空一行,就可以添加另一个Block元素,如无序列表,只要其*也在第一列上,即Blockquote和List的缩进是相同的,那么,这两个元素就都是外面文档的嵌套元素。

    然后就可以引申了,比如要在一个Blockquotes元素中嵌套元素,就可以利用上面的规则来实现。首先要找到Blockquotes元素的第一列是哪一列,然后,其所有要被嵌套的元素都与第一列对齐即可,如嵌套最一个Blockquotes和List, 因为Blockquotes的第一列为其非空白字符所在的那一列,所以只需要将嵌套的Blockquote的>与List的*与该列对齐,两者之间使用空行隔开,就行了。具体的两个更复杂的例子如下:


    This is a quote

    This is another para.

    This is a nested quote.

    1. This is Item 1

    2. This is Item 2.

      This is a code block
      

    1. This is a item 1

    2. This is a item 2

      This is a quoteblock

      another paragraph

      another code block
      

    关键点:

    找到其直接外层元素的第一列的位置(不同Block元素的第一列位置也不同,可参见文档),然后对齐该位置。

    相关文章

      网友评论

          本文标题:Kramdown 关键概念

          本文链接:https://www.haomeiwen.com/subject/jmwuqttx.html