【问题标题】:Kramdown extension克拉姆当扩展
【发布时间】:2016-11-25 12:23:52
【问题描述】:

Kramdown 使用

生成了这个很酷的目录
{: .toc}

这会生成一个不错的目录,例如在 html 中的顺序/无序列表中:

<ul id="markdown-toc">
   <li></li>
   ...
</ul>

但有时我想对其进行更多控制,例如使用 Bootstrap List Group 甚至使用 &lt;div&gt; 标记,然后使用 &lt;ul&gt;&lt;li&gt;&lt;/li&gt;&lt;/ul&gt;

有没有办法继承/覆盖这个toc 模块来生成我自己的标记?

注意:我在 jekyll 中使用了 github 页面。

【问题讨论】:

    标签: javascript jquery html jekyll kramdown


    【解决方案1】:

    不幸的是,{: toc} 语法不接受除toc_levels 之外的任何修改(允许您指定toc 深度;有关详细信息,请参阅the options documentation)。本质上,您可以指定whether you'd like the list to be unordered or ordered,具体取决于您是否使用

    * Table of contents
    {: toc}
    

    1. Table of contents
    {: toc}
    

    您还可以使用{: .no_toc} 选项排除标头(至少在您使用auto-ids 时,因为只添加带有ID 的标头,如果您不使用该选项,您也可以不提供id):

    # Header
    {: .no_toc}
    

    与 CSS、Javascript 或后处理有关的任何其他事情。但是,这通常相对简单,因为您可以根据需要将整个 toc 包装在 &lt;div&gt; 中,或者将您想要的任何类添加到包含 toc&lt;ul&gt;/&lt;ol&gt;。如果您无法在div 中生成toc,请确保您允许block level parsing 全局使用parse_block_html 或目录本身的markdown="block" 选项。例如,

    # Header
    
    <div markdown="block" id="xyzzy">
    * TOC
    {: toc .class}
    </div>
    

    应该生成

    <h1 id="header">Header</h1>
    
    <div id="xyzzy">
    <ul class="class" id="markdown-toc">
      <li><a href="#header" id="markdown-toc-header">Header</a></li>
    </ul>
    
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多