美文网首页
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 关键概念

    一、kramdown 元素 kramdown元素分为 Block-level Elements 和 Span-Le...

  • Jekyll markdown 设置语法高亮

    Jekyll 默认的 markdown 引擎是kramdown。Rouge提供markdown的语法高亮功能。 S...

  • 关键概念

    回归是什么 激活函数的作用 梯度下降是什么东西,类似的还有什么?

  • 关键概念

    1.激活函数 主要的激活函数(Activation Functions)包括: sigmoid tanh ReLU...

  • 关键概念

    维特根斯坦并不提供任何直接的哲学指导,他只是亲身示范了如何蹚过哲学的险途,坦诚地展露了他自己在此旅途中的种种抗拒、...

  • 关键概念

    维特根斯坦并不提供任何直接的哲学指导,他只是亲身示范了如何蹚过哲学的险途,坦诚地展露了他自己在此旅途中的种种抗拒、...

  • 三、关键概念

    1.Membership Service Provider (MSP):Hyperledger Fabric网络的...

  • bert关键概念

    原本在seq2seq里面是两个lstm中间的context是静态的 ; 每一个输出会生成一个新的context d...

  • InfluxDB关键概念

    仅供学习,转载请注明出处 InfluxDB前篇介绍 Centos7 下 InfluxDB 从安装开始到入门 前一篇...

  • Paddle关键概念

    Paddle关键概念 正文共:6452字0图 预计阅读时间:17分钟 本文讨论一下PaddlePaddle框架中几...

网友评论

      本文标题:Kramdown 关键概念

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