Можно ли использовать `: toc: left` с JBake? - PullRequest
0 голосов
/ 27 января 2019

Я бы хотел рендерить asciidoc-страницы с помощью JBake с плавающим оглавлением в левом фрейме.Тем не менее, JBake, похоже, поддерживает только размещение оглавления в верхней части файла.

Если я «запекаю» свой сайт со страницами, имеющими следующий синтаксис заголовка документа, то ток будет сверху.

= Software Engineer
John Doe
2019-01-01
:toc: left
:jbake-type: page
:jbake-tags: documentation, manual
:jbake-status: published
...

Однако, если я преобразую тот же файл, используя asciidoctor cli, ток отображается слева, как и ожидалось.Это ограничение JBake, или я что-то не так делаю?

1 Ответ

0 голосов
/ 27 марта 2019

:toc: left не является допустимым параметром для встроенного asciidoc.Подробности см. В [1].

Однако все еще есть надежда, потому что вы можете изменить свою таблицу стилей.Сначала измените ваши шаблоны, чтобы добавить классы "toc2 toc-left" в тег body.Это освобождает место для токена с левой стороны.

Затем скопируйте toc2 -типы из исходной таблицы стилей aciidoctor в toc -стиль, скопировав и вставив его в заголовок:

      <style>
      @media only screen and (min-width:768px){
          #toctitle{font-size:1.375em}
          #toc.toc{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto; padding-top: 60px;}
          #toc.toc #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
          #toc.toc>ul{font-size:.9em;margin-bottom:0}
          #toc.toc ul ul{margin-left:0;padding-left:1em}
          #toc.toc ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
      }
      @media only screen and (min-width:1280px){
          body.toc2{padding-left:20em;padding-right:0}
          #toc.toc{width:20em; padding-top: 60px;}
          #toc.toc #toctitle{font-size:1.375em}
          #toc.toc>ul{font-size:.95em}
          #toc.toc ul ul{padding-left:1.25em}
      }
      </style>

это должно решить вашу проблему.

[1] https://asciidoctor.org/docs/user-manual/#using-a-toc-with-embeddable-html

...