Jekyll utilise des liens au format Markdown, mais comment puis-je créer un lien vers du contenu interne?
[[link]]
Vous pouvez maintenant publier des liens internes en utilisant les éléments suivants:
[Some Link]({% post_url 2010-07-21-name-of-post %})
Ceci est également référencé dans le Documentation Jekyll .
Il est maintenant possible de créer des liens vers des pages autres que des publications en utilisant la balise link
. link
fonctionne pour les articles, les pages, les documents d'une collection et les fichiers.
{{ site.baseurl }}{% link _collection/name-of-document.md %}
{{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %}
{{ site.baseurl }}{% link news/index.html %}
{{ site.baseurl }}{% link /assets/files/doc.pdf %}
N'oubliez pas d'inclure l'extension de fichier lorsque vous utilisez la balise link
. Pour l'utiliser pour créer un lien:
[Link to a document]({{ site.baseurl }}{% link _collection/name-of-document.md %})
[Link to a post]({{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %})
[Link to a page]({{ site.baseurl }}{% link news/index.html %})
[Link to a file]({{ site.baseurl }}{% link /assets/files/doc.pdf %})
Voir Documentation Jekyll .
Pour les pages, ils ont décidé de ne pas ajouter de page_url
tag car il faudrait de toute façon connaître le chemin de la page. Il suffit donc d’y accéder manuellement:
[My page](/path/to/page.html)
Ou vous pouvez faire quelque chose de grand et de laid comme celui-ci si vous voulez obtenir le titre de la page par programmation:
{% for page in site.pages %}
{% if page.url == '/path/to/page.html' %}
[{{ page.title }}]({{ page.url }})
{% endif %}
{% endfor %}
Il existe plusieurs façons de créer des liens dans Jekyll, dont certaines sont maintenant obsolètes.
La méthode recommandée pour créer des liens vers des fichiers internes est la suivante:
[Link]({{ site.baseurl }}{% link path/to/file.md %})
Notez que cela provoquera une erreur si le fichier est déplacé ou est supprimé.
Pour créer un lien vers une page sans provoquer d'erreurs (liens rompus):
[Link]({{ '/path/to/page/' | relative_url }})
Notez que vous devez ici connaître le permalien de la page et le passer par le relative_url
filtre pour s'assurer qu'il est préfixé avec l'URL de base du site.
Le permalien d’une page dépend du paramètre permalink
de votre fichier de configuration et de la touche permalink
de l’avant du fichier.
Si vous voulez utiliser des chemins relatifs (et que les liens fonctionnent dans la vue markdown de GitHub), vous devez utiliser jekyll-relative-links
. Cela vous permet d'écrire des liens comme:
[Link](./path/to/file.md)
[Link to file in parent folder](../file.md)
Si le contenu interne se trouve sur la même page, il est possible de s'y connecter en utilisant le auto_ids
fonctionnalité. Vous activez ceci dans _config.yml
:
kramdown:
auto_ids: true
Lorsque cette option est activée, chaque en-tête obtient un id
ref basé sur le texte de l’en-tête. Par exemple
### My Funky Heading
va devenir
<h3 id="my-funky-heading">My Funky Heading</h3>
Vous pouvez créer un lien vers cela depuis le même document en procédant comme suit:
The funky text is [described below](#my-funky-heading)
Vous pouvez attribuer un identifiant explicite si vous préférez:
### My Funky Heading
{: #funky }
et un lien vers celui-ci
The funky text is [described below](#funky)