web-dev-qa-db-fra.com

Comment créer un lien vers une ancre nommée dans Multimarkdown?

Je suis tombé sur un certain nombre de mentions concernant le support de MultiMarkdown pour les liens internes/ancres nommées, mais je suis incapable 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 lier à elle identique à celle d’autres URL (en utilisant #foo au lieu de http://....)?

507
masukomi

Tiré du Guide de l'utilisateur Multimarkdown (merci à @MultiMarkdown sur Twitter pour l'avoir signalé)

[Some Text][]le lien vers un en-tête nommé "Some Text"
par exemple.

### Some Text ###

Une étiquette facultative de votre choix pour aider à lever les ambiguïtés lorsque 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 appelée Vue d'ensemble. Cela fonctionne avec des en-têtes de style atx ou settext.

Si vous avez déjà défini une ancre à l'aide du même identifiant que celui utilisé par un en-tête, l'ancre définie est prioritaire.

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ées pour les références croisées.

132
masukomi

Dans Markdown standard, placez une ancre <a name="abcd"></a> à laquelle vous souhaitez établir un lien et faites référence à celle-ci sur la même page par [link text](#abcd).

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

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

Cela fonctionne comme un rêve, à condition que vous maîtrisiez les textes source et cible. L'ancre peut même apparaître dans une rubrique, ainsi:

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

produit:

Un titre dans cette entrée SO!

et on peut même y faire un lien pour:

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

(Sur SO, le lien ne fonctionne pas car l'ancre est dépouillée.)

609
Steve Powell

Si vous avez des en-têtes dans les fichiers de démarques, vous pouvez les lier directement dans le fichier.

Markdown Header -

## The Header

cela générera un identifiant implicite #the-header (remplace les espaces internes par des traits d'union et rend les minuscules).

Pour accéder à cet identifiant, vous pouvez créer le lien comme suit:

[Link to Header](#the-header)

Ceci est équivalent à:

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

Veuillez noter que le nom de la référence est un minuscule #header.

362
SaurabhM

J'ai testé Github Flavored Markdown pendant un certain temps et je peux résumer avec quatre règles:

  1. les signes de ponctuation seront supprimés
  2. les principaux espaces blancs seront supprimés
  3. les majuscules seront converties en basses
  4. les espaces entre les lettres seront convertis en -

Par exemple, si votre section porte le nom suivant:

## 1.1 Hello World

Créez un lien vers celui-ci de cette façon:

[Link](#11-hello-world)
89
longkai

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-title si l'en-tête contient 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

---- APERÇU DE LA LISTE ------------------------

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 l'en-tête h1, h2, h3, etc., vous vous y référez toujours avec un seul #.
Toutes les références dans la liste des sections doivent être converties en texte en minuscule, comme indiqué dans l'exemple ci-dessus.

Le lien à la section devrait être en minuscule. Autrement, cela ne fonctionnera pas.
Cette technique fonctionne très bien pour toutes les variantes de Markdown, y compris MultiMarkdown.

Actuellement, j'utilise le Pandoc pour convertir le format des documents. C'est beaucoup mieux que MultiMarkdown.
Testez Pandoc ici

19
rafr3

Dans mdcharm c'est comme ça:

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

### Descripción {#descripcion}
### Funcionamiento {#funcionamiento}
### Instalación {#instalacion}
### Configuración {#configuracion}
6
Gonen09

Voici ma solution (dérivée de la réponse de SaraubhM )

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

Ce qui vous donne:

Aller à : Touches spéciales et marqueurs/Rayons/Route Wizard 2.0

Notez les modifications de et . en - ainsi que la perte du & dans les liens.

2
Peet