【发布时间】:2020-03-17 12:23:41
【问题描述】:
我工作的组织有一个用于我们网站的 HTML 模板。我在 R markdown 中将此模板用作自定义 HTML 模板:
---
title: "My report"
output:
html_document:
template: my-template.html
toc: true
---
以下是我们网站的 HTML 模板的 sn-p。与模板中的其他所有内容一样,目录遵循我所在组织的样式指南。目录的 HTML 代码是这样的:
<div class="panel-body">
<ul class="sidebar-items">
<li><a href="#">header 1</a></li>
<li><a href="#">Header 2</a></li>
<li><a href="#">Header 3</a></li>
</ul>
</div>
我需要通过插入 pandoc 变量来自定义这个模板,以便我可以在 Rmarkdown 中将它用作我的 html 模板。
我的问题是这样的:我怎样才能做到这一点并且仍然在<ul> 标签中保留class="sidebar-items" 属性?
我试过了:
<div class="panel-body">
<ul class="sidebar-items">
$toc$
</ul>
</div>
但结果当然是多了一对<ul>-tags:
<div class="panel-body">
<ul class="sidebar-items">
<ul>
<li><a href="#header-1">header 1</a></li>
<li><a href="#header-1">header 2</a></li>
<li><a href="#header-3">header 3</a></li>
</ul>
</ul>
</div>
如何防止这种情况,但仍包含class="sidebar-items" 属性?
我可以在 Rmarkdown 的输出 HTML 文件中手动更改它,但问题是我 需要创建许多 HTML 文件,我非常想避免这个额外的手册 工作。
非常感谢您的帮助!
【问题讨论】:
-
目前,pandoc 在其内部 AST 中不支持
OrderedList的属性。因此,将其直接添加到ul的唯一方法是对输出进行后处理,或者使用 pandoc-filter 注入一些RawBlock 'html'
标签: html r r-markdown pandoc