Если у меня есть страница/сообщение в Jekyll с заголовками, можно ли автоматически генерировать таблицу содержимого/схему для навигации? Что-то похожее на верхнюю часть статьи в Википедии.Как создать оглавление в блоге Jekyll?
ответ
Это задача парсера разметки.
В случае Markdown одного из расширений синтаксиса определяет Automatic generation of the table of contents:
* This will become a table of contents (this text will be scraped).
{:toc}
Я предполагаю, что вы имеете в виду список всех элементов H1, H2 и т. Д. В самом содержимом? Я не думаю, что у Джекила есть что-то встроенное, чтобы справиться с этим. Я подозреваю, что самый простой способ - дать Javascript сгенерировать его для вас, как только страница отобразится, используя что-то вроде this jQuery plugin или один из доступных many other plugins/snippets.
вы можете использовать этот code перед тем, как ваше содержание.
<link rel="stylesheet" href="http://yandex.st/highlightjs/6.2/styles/googlecode.min.css">
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="http://yandex.st/highlightjs/6.2/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script type="text/javascript">
$(document).ready(function(){
$("h2,h3,h4,h5,h6").each(function(i,item){
var tag = $(item).get(0).localName;
$(item).attr("id","wow"+i);
$("#category").append('<a class="new'+tag+'" href="#wow'+i+'">'+$(this).text()+'</a></br>');
$(".newh2").css("margin-left",0);
$(".newh3").css("margin-left",20);
$(".newh4").css("margin-left",40);
$(".newh5").css("margin-left",60);
$(".newh6").css("margin-left",80);
});
});
</script>
<div id="category"></div>
У меня есть ТОС для Джекилл блог, который похож на Википедию ТОС
Так что все мои Джекиллы постов имеют оглавление раздела. Это можно сделать только с помощью kramdown.
Используйте этот код в ваш пост, где вы хотите TOC появляться
* Do not remove this line (it will not be displayed)
{:toc}
И использовать этот CSS стиль его, как Wikipedia ТОС
// Adding 'Contents' headline to the TOC
#markdown-toc::before {
content: "Contents";
font-weight: bold;
}
// Using numbers instead of bullets for listing
#markdown-toc ul {
list-style: decimal;
}
#markdown-toc {
border: 1px solid #aaa;
padding: 1.5em;
list-style: decimal;
display: inline-block;
}
Используйте подходящие цвета, которые подходят для вашего блога.
Это все!
TOC также может быть выполнен с помощью jekyll-table-of-contents, если в любом случае вышеуказанный метод не работает. В этом используется JQuery и файл js.
Вот подробное руководство о том, как я это сделал: Jekyll TOC
Я попытался сделать подсветку синтаксиса, но могу заставить его работать. У меня есть pygments install with 'pip'. – Gilbert
- 1. Поиск в блоге Jekyll
- 2. Jekyll: сообщение в блоге игнорируется - как отлаживать?
- 3. Скрыть запись от TOC (оглавление) в Jekyll
- 4. Как создать оглавление в XSL?
- 5. Сообщения в блоге не отображаются в Jekyll?
- 6. jekyll "back" кнопка из сообщения в блоге
- 7. XSL-FO - как создать оглавление?
- 8. Как создать оглавление с креветкой?
- 9. CSS/изображения не загружаются в блоге Jekyll
- 10. Jekyll: Поместите крамад оглавление в _include для хеш-навигации
- 11. Код для размещения на блоге Jekyll?
- 12. Как использовать jekyll в существующем блоге, созданный с помощью рельсов
- 13. Как иметь сообщения в блоге Jekyll, не показывающие дату?
- 14. Как создать оглавление с помощью dompdf?
- 15. Создать меню в Jekyll
- 16. Добавить страницу проекта на сайт.posts в блоге Jekyll
- 17. Две версии каждого сообщения в блоге в Jekyll
- 18. Создать оглавление от Markdown в php
- 19. Jekyll Markup как HTML href = "# myElementId"?
- 20. Как добавить оглавление
- 21. Запись в блоге Jekyll ссылается только на одно сообщение
- 22. Редактировать YAML frontmatter в блоге org-mode, предназначенном для Jekyll
- 23. Изменение favicon в блоге Jekyll, размещенном на страницах Github?
- 24. Угловые в блоге Jekyll/Github - blog post routing
- 25. Комментарии на Facebook не работают в блоге jekyll на github
- 26. Как создать галерею Instagram в личном блоге?
- 27. Как создать список сообщений в блоге?
- 28. Как автоматически сгенерировать оглавление
- 29. Как создать столбик по месяцам в Jekyll без плагинов?
- 30. Создать категории в Jekyll _data?
На самом деле, это не похоже на работу в Maruku, или не больше ... – jjmerelo
ОК, он работает, но только если есть заголовок H1 в файле уценки, в соответствии с этим: http://webiva.lighthouseapp.com/projects/38599/tickets/5-maruku-table-of-contents-not-generating-without-extra-h1-tag – jjmerelo
Интересное ограничение, @jjmerelo. Я никогда не ударил его. Спасибо за информацию. – manatwork