Comment se connecter à une ancre nommée dans Multimarkdown?

je suis tombé sur un certain nombre de mentions du soutien de MultiMarkdown pour les liens internes / ancres nommées, mais je ne suis pas en mesure de trouver un seul exemple de la façon de le faire.

alors, quelle est la syntaxe pour désigner l'ancre nommée, et quelle est la syntaxe pour y faire référence de la même façon que pour tout autre URL (en utilisant seulement #foo au lieu de http://.... )?

426
demandé sur Jacek Laskowski 2011-07-14 19:06:14

7 réponses

dans le Markdown standard, placez une ancre <a name="abcd"></a> où vous voulez créer un lien et vous y référer sur la même page par [link text](#abcd) .

(cela utilise name= et non id= , pour les raisons expliquées dans cette réponse .)

les références à distance peuvent utiliser [link text](http://...#abcd) bien sûr.

cela fonctionne comme un rêve, à condition que vous ayez le contrôle sur les textes source et cible. L'ancre peut même apparaissent dans une rubrique, ainsi:

### <a name="head1234"></a>A Heading in this SO entry!

produit:

une rubrique dans cette entrée!

et nous pouvons même un lien vers ainsi:

and we can even [link](#head1234) to it so:

(sur ce, le lien ne fonctionne pas parce que l'ancre est démontée.)

531
répondu Steve Powell 2017-05-23 12:34:44

si vous avez des en-têtes dans les fichiers markdown, vous pouvez les lier directement dans le fichier.

Markdown En - Tête De La

## The Header

cela générera un id implicite #the-header (remplacer les espaces internes par des traits d'Union et faire des minuscules).

pour naviguer vers cette id, vous pouvez créer le lien suivant:

[Link to Header](#the-header)

cela équivaut à:

<a href="/current_url#the-header">Link to Header</a>

veuillez noter que le nom de la référence est une minuscule #header .

278
répondu SaurabhM 2016-07-30 12:13:01

tiré du Multimarkdown Users Guide (merci à @MultiMarkdown sur Twitter pour l'avoir souligné)

[Some Text][] sera lié à un en-tête nommé "Some Text"

par exemple

### Some Text ###

une étiquette facultative de votre choix pour aider à désambiguer les cas où plusieurs en-têtes ont le même titre:

### Overview [MultiMarkdownOverview] ##

Cela vous permet d'utiliser [MultiMarkdownOverview] pour faire référence à cette section en particulier, et non une autre section nommée Overview. Cela fonctionne avec des en - têtes de type atx ou settext.

si vous avez déjà défini une ancre en utilisant le même id que celui utilisé par un en-tête, alors l'ancre définie a priorité.

en plus des en-têtes dans le document, vous pouvez fournir des étiquettes pour les images et les tableaux qui peuvent ensuite être utilisés pour les références croisées aussi bien.

117
répondu masukomi 2012-04-22 14:56:32

j'ai testé Github Flavored Markdown pendant un certain temps et peut résumer avec quatre règles:

  1. les marques de ponctuation seront supprimées
  2. les espaces blancs principaux seront abandonnés
  3. majuscules seront convertis en bas
  4. les espaces entre les lettres seront convertis en -

par exemple, si votre section est nommée ceci:

## 1.1 Hello World

créer un lien vers cette page:

[Link](#11-hello-world)
65
répondu longkai 2018-06-18 21:00:15

la meilleure façon de créer des liens internes (liés à des sections) est de créer une liste mais au lieu de lien, mettez #section ou #section-titre si l'en-tête inclut des espaces.

---- 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

---- LISTE D'APERÇU ------------------------

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>

peu importe que ce soit h1, h2, h3, etc. en-tête, vous vous y référez toujours en utilisant un seul # .

Toutes les références dans la liste de section doivent être converties en texte en minuscules comme indiqué dans l'exemple ci-dessus.

le lien à la section doit être en minuscules. sinon ça ne marchera pas.

Cette technique fonctionne très bien pour toutes les variantes de Markdown, aussi MultiMarkdown.

J'utilise actuellement le Pandoc pour convertir le format des documents. C'est bien mieux que MultiMarkdown.

test Pandoc ici

18
répondu rafr3 2016-03-22 09:46:53

voici ma solution (dérivée de SaraubhM 'S réponse)

**Jump To**: [Hotkeys & Markers](#hotkeys-markers) / [Radii](#radii) / [Route Wizard 2.0](#route-wizard-2-0)

qui vous donne:

Sauter : Les Raccourcis Clavier Et Les Marqueurs / Rayons / Route De L'Assistant 2.0

notez les changements de and . à - et aussi la perte du & dans les liens.

2
répondu Peet 2017-05-23 11:54:50

Dans mdcharm il est comme ceci:

* [Descripción](#descripcion)
* [Funcionamiento](#funcionamiento)
* [Instalación](#instalacion)
* [Configuración](#configuracion)

### Descripción {#descripcion}
### Funcionamiento {#funcionamiento}
### Instalación {#instalacion}
### Configuración {#configuracion}
2
répondu Gonen09 2018-08-03 04:11:59