Как я могу создать оглавление Asciidoc из внешних файлов?

Команда Asciidoc :toc: создает красиво отформатированное оглавление из заголовков в документе:

:toc:

= Part 1

= Part 2

= Part 3

введите здесь описание изображения

Но я хочу, чтобы мое оглавление ссылалось на другие документы, а не из самого документа:

link:part1.adoc[Part 1]

link:part2.adoc[Part 2]

link:part3.adoc[Part 3]

Есть ли способ создать оглавление из ссылок на другие файлы? Если нет, то какие стили/блоки/что-либо еще я могу использовать, чтобы максимально точно имитировать стиль TOC?


person Sasgorilla    schedule 09.11.2017    source источник
comment
github.com/asciidoctor/asciidoctor/issues/2776   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 11.05.2018


Ответы (1)


Да, однако, он может вести себя не так, как вы задумали.

= Document
:toc:

== link:part1.adoc[Part 1]

== link:part2.adoc[Part 2]

== link:part3.adoc[Part 3]

Это создает оглавление, но его ссылки указывают на заголовки в том же файле: для этого и нужен :toc:. Сами заголовки являются ссылками на другие документы.

Вы можете создать свой собственный список, но чтобы приблизиться к стилю оглавления на странице, вам нужно создать файл docinfo.html, содержащий CSS, который вы хотели бы использовать:

<style>
.mytoc ul {
  list-style-type: none;
  margin-left: 0;
  font-family: sans-serif;
}

.mytoc li {
  margin: 0;
  padding: 0;
}
</style>

и укажите, что вы хотите использовать файл docinfo:

= Document
:docinfo: shared

[.mytoc]
== Table of Contents

* link:part1.adoc[Part 1]

* link:part2.adoc[Part 2]

* link:part3.adoc[Part 3]

Обратите внимание, что стили, которые я включил, не являются исчерпывающим воссозданием стилей оглавления на странице, но, надеюсь, их достаточно, чтобы показать вам путь.

См. https://asciidoctor.org/docs/user-manual/#docinfo-file для получения дополнительной информации о docinfo файлах.

person eskwayrd    schedule 14.06.2019