Как добавить атрибут класса к тегу `<ul>` в автоматическом оглавлении в Rmarkdown? - PullRequest
2 голосов
/ 17 марта 2020

В организации, в которой я работаю, есть шаблон HTML для нашего веб-сайта. Я использую этот шаблон как пользовательский шаблон HTML в уценке R:

---
title: "My report"
output:
  html_document:
    template: my-template.html
    toc: true
---

Ниже приведен фрагмент шаблона HTML для нашего веб-сайта. Как и все остальное в шаблоне, оглавление соответствует руководству по стилю моей организации. Код 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>

Мне нужно настроить этот шаблон, вставив переменные pando c, чтобы я мог использовать его в качестве шаблона html в Rmarkdown.

Моя проблема заключается в следующем: как я могу это сделать и при этом сохранить атрибут class="sidebar-items" в теге <ul>?

Я пробовал это:

    <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"?

Я мог бы просто измените его вручную в выходном файле HTML из Rmarkdown, но проблема в том, что мне нужно создать много файлов HTML, и я бы очень хотел избежать этой дополнительной ручной работы.

Спасибо много за вашу помощь!

1 Ответ

0 голосов
/ 18 марта 2020

Как отмечает @ mb21 в комментариях: в настоящее время нет (простого) пути к этому через pando c. Вы могли бы использовать пандо c фильтр для создания TO C самостоятельно, но это было бы немного усилий.

Я предлагаю либо

  • постобработка вывода HTML,
  • добавление фрагмента JavaScript для вставки нужных классов или
  • перезапись кода CSS / JS который зависит от класса sidebar-items для использования другого селектора.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...