Ссылки на разделы той же страницы в Asciidoc - PullRequest
0 голосов
/ 23 октября 2019

Я пишу некоторый текст, который будет преобразован в HTML, в виде длинной одной страницы.

Не могу понять, как сделать ссылки на разделы, как в HTML, используя #some-id, так чтопользователь, щелкнув по нему, перейдет вверх или вниз по веб-странице до

<h2 id="some-id">Section A</h2>
<p>Lot's of lines</p>
<a href="#some-id">Go to section</a>

Ответы [ 2 ]

1 голос
/ 28 октября 2019

Другой вариант - использовать макрос link:. Вот пример из одного из моих документов Asciidoctor:

link:#_explore_the_public_directory[17.4. Explore the `public` directory]

Информация об этом находится в https://asciidoctor.org/docs/user-manual/#url. Вот выдержка из соответствующей части:

Когда URLне начинается с одной из распространенных схем или URL-адрес не окружен границами слов, необходимо использовать макрос ссылок.

1 голос
/ 23 октября 2019

То, на что вы ссылаетесь, называется «внутренней перекрестной ссылкой».

Разметка для внутренней перекрестной ссылки:

<<id,caption>>

, где id - элемент настраница с идентификатором, обычно заголовком, и caption - необязательный текст, который должен отображаться в ссылке.

Вы можете ссылаться на заголовки, которые имеют автоматически сгенерированные идентификаторы, но формирование идентификаторов можетварьируются в зависимости от атрибутов idprefix и (для Asciidoctor) idseparator. По умолчанию текст заголовка должен быть в нижнем регистре, префикс с подчеркиванием, а пробелы и другие знаки пунктуации заменяются на подчеркивания. Идентификатор для заголовка "Давайте создадим игру!"будет _lets_make_a_game.

Часто лучше указать свой собственный идентификатор, который останется стабильным, даже если вы отредактируете текст заголовка. Вы можете сделать это с помощью:

[[id,label]]

, где id - идентификатор, который вы хотите указать, а label - необязательная метка по умолчанию, которая может использоваться для перекрестной ссылки (если перекрестная ссылкасама по себе не указывает caption).

Если элемент, на который указывает ваша перекрестная ссылка, является заголовком, вы можете опустить заголовок и метку, и ссылка будет использовать текст заголовка в качестве собственногоtext.

Для Asciidoc см .: http://asciidoc.org/userguide.html#_internal_cross_references

Для Asciidoctor см .: https://asciidoctor.org/docs/user-manual/#internal-cross-references

...