Как сделать ссылку на именованный якорь в 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. знаки препинания будут сброшены
  2. ведущие пробелы будут отброшены
  3. верхний регистр будет преобразован в нижний
  4. пробелы между буквами будут преобразованы в -

Например, если ваш раздел назван так:

## 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> &lt;– 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

Обратите внимание на изменения из а также . в - а также потеря & в ссылках.

Другие вопросы по тегам