J'essaie de comprendre comment référencer une autre zone d'une page avec Markdown. Je peux le faire fonctionner si j'ajoute un
<div id="mylink" />
et pour le lien faire:
[My link](#mylink)
Mais je suppose qu'il existe un autre moyen de créer un lien sur la page dans Markdown qui n'implique pas la div
balise directe .
Des idées?
<div/>
peut perturber le formateur pour le reste de la page. Utilisez<a id="ident"/>
. Voyez ma réponse.[anchor][]
syntaxe pour ce faire. github.com/fletcher/MultiMarkdown/wiki/…Réponses:
Voyez cette réponse .
En résumé faites une destination avec
inséré n'importe où dans votre balisage de démarque (par exemple dans un en-tête:
et un lien vers celui-ci en utilisant le lien markdown:
ou
Ne pas utiliser
<div>
- cela gâcherait la mise en page de nombreux moteurs de rendu.(J'ai changé
id=
pourname=
ci-dessus. Voir cette réponse pour l'explication fastidieuse.)la source
<a name="..." />
est obsolète mais conforme aux spécifications HTML ultérieures. Si cela<div>
peut être rendu comme un bloc perturbateur (peut-être si, pour des raisons non divulguées, le CSS donne une taille) peut-être<span>
(un élément en ligne) pourrait-il faire l'affaire?Je suppose que cela dépend de ce que vous utilisez pour générer du HTML à partir de votre markdown. J'ai remarqué que jekyll (il est utilisé par défaut par les pages gihub.io) ajoute automatiquement l'attribut id = "" aux titres du html qu'il génère.
Par exemple, si votre démarque est
Le HTML résultant ressemblera à ceci:
Vous pouvez donc créer un lien vers celui-ci simplement en
[My link](#my-header)
la source
Avec la version PHP de Markdown , vous pouvez également lier des en-têtes à des identificateurs de fragment dans la page en utilisant une syntaxe comme l'une des suivantes, comme documenté ici
puis
Malheureusement, cette syntaxe n'est actuellement prise en charge que pour les en-têtes, mais au moins elle pourrait être utile pour construire une table des matières.
la source
L'ancre de destination pour un lien dans une page HTML peut être n'importe quel élément avec un
id
attribut. Voir Liens sur le site du W3C. Voici une citation de la section pertinente:Markdown traite le HTML comme du HTML (voir HTML en ligne ), vous pouvez donc créer vos identificateurs de fragment à partir de n'importe quel élément de votre choix. Si, par exemple, vous souhaitez créer un lien vers un paragraphe, enveloppez simplement le paragraphe dans une balise de paragraphe et ajoutez un identifiant:
Utilisez ensuite votre Markdown standard
[My link](#mylink)
pour créer un lien vers l'ancre de fragment. Cela aidera à garder votre HTML propre, car aucun balisage supplémentaire n'est nécessaire.la source
<p>
balise dans Markdown peut supprimer le CSS d'un paragraphe normal. Je dirais à utiliser avec prudence, je suis nouveau sur Markdown mais il a quelques bizarreries.<p>
balise dans Markdown peut dépouiller le CSS d'un paragraphe normal". Markdown enveloppe les paragraphes dans les<p>
balises et ignore ceux qui ont déjà des<p>
balises. Je ne peux pas voir comment cela affecterait CSS ...Pour quiconque utilise Visual Studio Team Foundation Server (TFS) 2015, il n'aime vraiment pas incorporé
<a>
ou<div>
éléments, du moins dans les en-têtes. Il n'aime pas non plus les emoji dans les en-têtes:Obtient traduit en:
Et donc les liens doivent soit utiliser cela
id
(ce qui rompt ceci et d'autres extensions d'aperçu dans Visual Studio), soit supprimer l'emoji:Où cette dernière version fonctionne à la fois en ligne dans TFS et dans l'aperçu de démarque de Visual Studio.
la source