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 linketiqueta. linkfunciona 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 linketiqueta. 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_urletiqueta 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_idsfunción. Lo habilitas en _config.yml:
kramdown:
auto_ids: true
Con esto habilitado, cada encabezado obtiene una idreferencia 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_urlfiltro para asegurarse de que tiene el prefijo de la URL base del sitio.
El enlace permanente de una página depende de la permalinkconfiguración en su archivo de configuración y la permalinkclave 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: