Jekyll utiliza enlaces con formato Markdown, pero ¿cómo puedo vincularme a contenido interno?
[[link]]
Jekyll utiliza enlaces con formato Markdown, pero ¿cómo puedo vincularme a contenido interno?
[[link]]
Respuestas:
Ahora puede publicar enlaces internos utilizando lo siguiente:
[Some Link]({% post_url 2010-07-21-name-of-post %})
Esto también se menciona en la documentación de Jekyll .
[Title of post](/correct/permalink)
con un solo comando? Solo pude hacerlo con un filtro que es demasiado detallado.
Ahora es posible vincular a páginas que no sean publicaciones usando la link
etiqueta. link
funciona para publicaciones, páginas, documentos en una colección y archivos.
{{ 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 %}
Recuerde incluir la extensión del archivo cuando use la link
etiqueta. Para usarlo para crear un enlace:
[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 %})
Ver la documentación de Jekyll .
{{ site.baseurl }}
ya que duplica el valor baseurl en el href generado. [Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
Para las páginas, decidieron no agregar una page_url
etiqueta porque de todos modos tendrías que conocer la ruta de la página. Entonces solo tienes que vincularlo manualmente:
[My page](/path/to/page.html)
O puede hacer algo grande y feo como este si desea obtener programáticamente el título de la página:
{% for page in site.pages %}
{% if page.url == '/path/to/page.html' %}
[{{ page.title }}]({{ page.url }})
{% endif %}
{% endfor %}
Si el contenido interno está en la misma página, entonces es posible vincularlo usando la auto_ids
función. Lo habilitas en _config.yml
:
kramdown:
auto_ids: true
Con esto habilitado, cada encabezado obtiene una id
referencia basada en el texto del encabezado. Por ejemplo
### My Funky Heading
se convertirá
<h3 id="my-funky-heading">My Funky Heading</h3>
Puede vincular esto desde el mismo documento haciendo algo como esto:
The funky text is [described below](#my-funky-heading)
Puede asignar una identificación explícita si lo prefiere:
### My Funky Heading
{: #funky }
y enlace a ella
The funky text is [described below](#funky)
Hay múltiples formas de vinculación en Jekyll, algunas de las cuales ahora están desactualizadas.
La forma recomendada de vincular a archivos internos es
[Link]({{ site.baseurl }}{% link path/to/file.md %})
Tenga en cuenta que esto provocará un error si el archivo se mueve o se elimina.
Para vincular a una página sin causar errores (en su lugar, enlaces rotos):
[Link]({{ '/path/to/page/' | relative_url }})
Tenga en cuenta que aquí debe conocer el enlace permanente de la página y pasarlo por el relative_url
filtro para asegurarse de que tiene el prefijo de la URL base del sitio.
El enlace permanente de una página depende de la permalink
configuración en su archivo de configuración y la permalink
clave en la parte delantera del archivo.
Si desea usar rutas relativas (y desea que los enlaces funcionen en la vista de rebajas de GitHub), debe usar jekyll-relative-links
. Esto le permite escribir enlaces como:
[Link](./path/to/file.md)
[Link to file in parent folder](../file.md)
Imagina que este es el directorio de tu proyecto:
Para vincular "index.md" a un archivo dentro de la carpeta "blog" llamado "20190920-post1.md", haga lo siguiente:
Agregue lo siguiente:
[cualquier texto] (./ ruta relativa)
Por ejemplo:
- [Sept 20th 2019 - Kikucare's Journey](./blog/20190920-post1.md)
Salida: