Risposte:
È ora possibile pubblicare collegamenti interni utilizzando quanto segue:
[Some Link]({% post_url 2010-07-21-name-of-post %})
Questo è anche indicato nella documentazione Jekyll .
[Title of post](/correct/permalink)
con un solo comando? Potrei farlo solo con un filtro troppo dettagliato.
Ora è possibile collegarsi a pagine diverse dai post utilizzando il link
tag. link
funziona per post, pagine, documenti in una raccolta e file.
{{ 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 %}
Ricorda di includere l'estensione del file quando usi il link
tag. Per usarlo per creare un collegamento:
[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 %})
Vedi la documentazione Jekyll .
{{ site.baseurl }}
poiché raddoppia il valore baseurl nell'href generato. [Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
Per le pagine, hanno deciso di non aggiungere un page_url
tag perché dovresti comunque conoscere il percorso della pagina. Quindi devi solo collegarti ad esso manualmente:
[My page](/path/to/page.html)
Oppure puoi fare qualcosa di grosso e brutto come questo se vuoi ottenere programmaticamente il titolo della pagina:
{% for page in site.pages %}
{% if page.url == '/path/to/page.html' %}
[{{ page.title }}]({{ page.url }})
{% endif %}
{% endfor %}
Se il contenuto interno si trova sulla stessa pagina, è possibile collegarsi ad esso utilizzando la auto_ids
funzione. Lo abiliti in _config.yml
:
kramdown:
auto_ids: true
Con questa opzione abilitata, ogni intestazione ottiene un riferimento id
basato sul testo dell'intestazione. Per esempio
### My Funky Heading
diventerà
<h3 id="my-funky-heading">My Funky Heading</h3>
Puoi collegarti a questo all'interno dello stesso documento facendo qualcosa del genere:
The funky text is [described below](#my-funky-heading)
Puoi assegnare un ID esplicito se preferisci:
### My Funky Heading
{: #funky }
e link ad esso
The funky text is [described below](#funky)
Esistono diversi modi di collegamento in Jekyll, alcuni dei quali sono obsoleti.
Il modo consigliato per collegarsi ai file interni è
[Link]({{ site.baseurl }}{% link path/to/file.md %})
Si noti che ciò causerà un errore se il file si sposta o viene eliminato.
Per collegarsi a una pagina senza causare errori (collegamenti interrotti invece):
[Link]({{ '/path/to/page/' | relative_url }})
Nota che qui devi conoscere il permalink della pagina e passarlo attraverso il relative_url
filtro per assicurarti che abbia il prefisso con l'URL di base del sito.
Il permalink di una pagina dipende permalink
dall'impostazione nel file di configurazione e dalla permalink
chiave nella parte anteriore del file.
Se vuoi usare percorsi relativi (e vuoi che i collegamenti funzionino nella vista markdown di GitHub), dovresti usare jekyll-relative-links
. Ciò ti consente di scrivere collegamenti come:
[Link](./path/to/file.md)
[Link to file in parent folder](../file.md)
Immagina che questa sia la directory del tuo progetto:
Per collegare "index.md" a un file nella cartella "blog" chiamato "20190920-post1.md", procedi come segue:
Aggiungi quanto segue:
[qualsiasi testo] (./ percorso relativo)
Per esempio:
- [Sept 20th 2019 - Kikucare's Journey](./blog/20190920-post1.md)
Produzione: