Можно ли использовать `:toc: left` с JBake?
Я хотел бы визуализировать asciidoc-страницы с помощью JBake с плавающим оглавлением в левом фрейме. Тем не менее, JBake, похоже, поддерживает только размещение оглавления в верхней части файла.
Если я "запекаю" свой сайт со страницами, которые имеют следующий синтаксис заголовка документа, то toc находится сверху.
= Software Engineer
John Doe
2019-01-01
:toc: left
:jbake-type: page
:jbake-tags: documentation, manual
:jbake-status: published
...
Однако, если я преобразую тот же файл, используя asciidoctor
cli, ток отображается слева, как и ожидалось. Это ограничение JBake, или я делаю что-то не так?
0 ответов
:toc: left
не является допустимым параметром для встроенного asciidoc. Смотрите [1] для деталей.
Тем не менее, есть надежда, потому что вы можете изменить свою таблицу стилей. Во-первых, измените ваши шаблоны, чтобы добавить классы "toc2 toc-left"
к тегу тела. Это освобождает место для ток с левой стороны.
Затем скопируйте 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>
это должно решить вашу проблему.