Как сделать ссылку на именованный якорь в Multimarkdown?
Я сталкивался с рядом упоминаний о поддержке MultiMarkdown внутренних ссылок / именованных якорей, но я не могу найти ни одного примера того, как на самом деле это сделать.
Итак, каков синтаксис для обозначения именованного якоря, и каков синтаксис для ссылки на него так же, как и для ссылки на любые другие URL (только с использованием #foo вместо http://....
)?
8 ответов
Взято из руководства пользователя Multimarkdown (спасибо @MultiMarkdown в Twitter за указание на это)
[Some Text][]
будет ссылаться на заголовок с именем "Some Text"
например
### Some Text ###
Дополнительная метка по вашему выбору, чтобы помочь устранить неоднозначность в случаях, когда несколько заголовков имеют одинаковый заголовок:
### Overview [MultiMarkdownOverview] ##
Это позволяет вам использовать [MultiMarkdownOverview], чтобы ссылаться именно на этот раздел, а не на другой раздел под названием Обзор. Это работает с заголовками в стиле atx или settext.
Если вы уже определили привязку, используя тот же идентификатор, который используется в заголовке, тогда определенная привязка имеет приоритет.
В дополнение к заголовкам в документе вы можете предоставить метки для изображений и таблиц, которые затем можно будет использовать и для перекрестных ссылок.
В стандартной уценке разместите якорь <a name="abcd"></a>
где вы хотите дать ссылку и ссылаться на него на той же странице [link text](#abcd)
,
(Это использует name=
и не id=
по причинам, изложенным в этом ответе.)
Удаленные ссылки могут использовать [link text](http://...#abcd)
конечно.
Это работает как сон, если у вас есть контроль над исходным и целевым текстом. Якорь может даже появиться в заголовке, таким образом:
### <a name="head1234"></a>A Heading in this SO entry!
производит:
Заголовок в этой записи!
и мы можем даже ссылку на него так:
and we can even [link](#head1234) to it so:
(На SO ссылка не работает, потому что привязка удалена.)
Если у вас есть заголовки в файлах уценки, вы можете напрямую связать их в файле.
Заголовок уценки -
## The Header
это сгенерирует неявный идентификатор #the-header
(заменить внутренние пробелы дефисами и сделать строчные буквы).
Чтобы перейти к этому идентификатору, вы можете создать ссылку следующим образом:
[Link to Header](#the-header)
Это эквивалентно:
<a href="/current_url#the-header">Link to Header</a>
Пожалуйста, обратите внимание, что имя ссылки в нижнем регистре #header
,
Я тестировал Github Flavored Markdown некоторое время и могу подвести итог по четырем правилам:
- знаки препинания будут сброшены
- ведущие пробелы будут отброшены
- верхний регистр будет преобразован в нижний
- пробелы между буквами будут преобразованы в
-
Например, если ваш раздел назван так:
## 1.1 Hello World
Создайте ссылку на него следующим образом:
[Link](#11-hello-world)
Лучший способ создать внутренние ссылки (связанные с разделами) - создать список, но вместо ссылки поместите #section или #section-title, если заголовок содержит пробелы.
---- MARKDOWN ------------------------
Go to section
* [Hello](#hello)
* [Hello World](#hello-world)
* [Another section](#new-section) <-- it's called 'Another section' in this list but refers to 'New section'
## Hello
### Hello World
## New section
---- ПРОСМОТР СПИСКА ------------------------
Go to section
Hello <-- [Hello](#hello) -- go to `Hello` section
Hello World <-- [Hello World](#hello world) -- go to `Hello World` section
Another section <-- [Another section](#new-section) -- go to `New section`
---- HTML ------------------------
<p>Go to section</p>
<ul>
<li><a href="#hello">Hello</a><br />
</li>
<li><a href="#hello-world">Hello World</a></li>
<li><a href="#new-section">Another section</a> <– it’s called ‘Another section’ in this list but refers to ‘New section’</li>
</ul>
<h2 id="hello">Hello</h2>
<h3 id="hello-world">Hello World</h3>
<h2 id="new-section">New section</h2>
Не имеет значения, является ли это заголовком h1, h2, h3 и т. Д., Вы всегда обращаетесь к нему, используя только один #
,
Все ссылки в списке разделов должны быть преобразованы в строчные буквы, как показано в примере выше.
Ссылка на раздел должна быть в нижнем регистре. В противном случае это не сработает.
Этот метод работает очень хорошо для всех вариантов Markdown, в том числе MultiMarkdown.
В настоящее время я использую Pandoc для преобразования формата документов. Это намного лучше, чем MultiMarkdown.
Тест Пандока здесь
В mdcharm это так:
* [Descripción](#descripcion)
* [Funcionamiento](#funcionamiento)
* [Instalación](#instalacion)
* [Configuración](#configuracion)
### Descripción {#descripcion}
### Funcionamiento {#funcionamiento}
### Instalación {#instalacion}
### Configuración {#configuracion}
Другой вариант (вы можете разместить все ссылки внизу файла):
Here is an [example label].
[example label]: #the-anchor-name-or-id
Вот мое решение (получено из SaraubhM
ответ)
**Jump To**: [Hotkeys & Markers](#hotkeys-markers) / [Radii](#radii) / [Route Wizard 2.0](#route-wizard-2-0)
Что дает вам:
Перейти к: горячие клавиши и маркеры / Radii / Route Wizard 2.0
Обратите внимание на изменения из а также
.
в -
а также потеря &
в ссылках.