jekyll-wikirefsJekyll-wikilinks ajoute Wikiling (la possibilité de référencer des documents locaux via la syntaxe à double support carré - [[comme ceci]]) Prise en charge de Jekyll - et plus encore.
Ce joyau fonctionne en conjonction avec jekyll-graph .
Ce joyau fait partie du projet Jekyll-Bonsai.
Suivez les instructions pour installer un plugin Jekyll pour jekyll-wikilinks .
Les défauts ressemblent à ceci:
wikilinks :
attributes :
enabled : true
css :
exclude : []
name :
typed : ' typed '
wiki : ' wiki-link '
web : ' web-link '
invalid_wiki : ' invalid-wiki-link '
embed_container : ' embed-container '
embed_title : ' embed-title '
embed_content : ' embed-content '
embed_link : ' embed-wiki-link '
embed_image_container : ' embed-image-container '
embed_image : ' embed-image '
enabled : true
exclude : [] attributes : Bascule les attributs ON / OFF et les wikilinks de niveau de bloc. En cas de désactivation, les attributes ne seront pas ajoutées à chaque document et le niveau de bloc Wikilinks ne sera pas supprimé du contenu du document.
css_names : Noms de classe CSS personnalisés.
css.exclude : définit une liste des classes CSS qui ne devraient pas avoir les classes wiki ou web CSS.
web-link . Par exemple, kramdown ajoute footnote et les classes CSS de reversefootnote à a éléments qui sont des notes de bas de page. Puisqu'ils sont des liens internes au site, ils n'auront pas wiki-link ajoutée, mais il n'est probablement pas souhaitable d'avoir web-link ajoutée à ces éléments. Cela fait d'eux de bons candidats à exclure du traitement CSS du plugin et à styliser ces classes séparément. enabled : Basculez pour éteindre le plugin ou éteindre.
exclude : tout type Jekyll ( pages , posts ou collections par nom) peut être ajouté à une liste de documents exclus à ne pas être traités par le plugin Jekyll-WikiLinks.
[[ filename ]] Ce lien correspondra à un document Markdown n'importe où dans le projet Jekyll tant qu'il est nommé filename.md . Les noms de fichiers doivent être uniques, l'espace blanc est autorisé et le cas est ignoré. L'attribut Frontmatter title du fichier est ce qui est rendu un texte intérieur de la balise a
HTML résultant:
< a class =" wiki-link " href =" url " > lower-cased frontmatter title attribute </ a >link_type:: [[ filename ]]Les types ne doivent pas contenir d'espace. (Kabob-Case est recommandé, mais Snake_case et CamelCase fonctionneront aussi)
Ces Wikilinks ont rendu en place comme des Wikilinks non typés. Ils ajoutent également une classe CSS typed , ainsi qu'une classe CSS avec le nom du type de liaison donné.
HTML résultant:
< a class =" wiki-link typed link_type " href =" url " > lower-cased frontmatter title attribute </ a > Également appelés attributes d'un document, les wikilinks de bloc sont des wikilinks dactylographiques qui sont le seul texte sur une seule ligne:
link_type::[[filename]]
Some more text.
Les listes sont également prises en charge et peuvent être définies par des listes de séparation de virgules ou de bourse (assurez-vous que le type de balle correspond à tous les éléments; par exemple tous les éléments utilisent +, -'s ou * 's):
link_type::[[file-1]], [[file-2]], [[file-3]]
link_type::
- [[file-1]]
- [[file-2]]
- [[file-3]]
link_type::
+ [[file-1]]
+ [[file-2]]
+ [[file-3]]
link_type::
* [[file-1]]
* [[file-2]]
* [[file-3]]
Ces wikilinks sont entièrement supprimés du fichier et leurs URL de document correspondantes et les types de liens sont enregistrés dans la variable Frontmatter attributes du document actuel et de la variable Frontmatter attributed des documents liés.
La suppression de ces types de wikilink est utile dans le scénario où la création d'une forme d'infobox est distincte du contenu principal du fichier est souhaité.
Block Wikilinks ne fonctionne que sur le niveau du fichier et ne prend pas en charge les étiquettes ou l'incorporation. Ils peuvent être activés dans la configuration en définissant:
wikilinks:
attributes:
enabled: false
[[ filename#header ]] Ce lien recherchera un fichier nommé filename.md et lien vers son # header s'il en a un. Si aucun en-tête de ce type n'existe, la a résultant sera rendue avec la classe CSS invalid-wiki-link .
HTML résultant:
< a class =" wiki-link " href =" url#sluggified-header-id " > lower-cased frontmatter title > header </ a > [[ filename#^block_id ]]HTML résultant:
< a class =" wiki-link " href =" url#block_id " > lower-cased title > ^block_id </ a >^block_id dans le document cible a un espace avant le caret ^ .^block_id s eux-mêmes ne sont pas touchés, il y a donc un moyen visuellement d'identifier le bloc une fois sur le document de la page.block_id est ajouté comme un fragment d'URL (par exemple www.blog.com/wikilink/#block_id ). Avec ce fragment d'URL, le défilement automatique à l'ID d'élément HTML correspondant peut être activé. Vous devrez créer manuellement ces ID HTML Elment vous-même pour le moment. [[ /directory/filename ]]Des chemins de fichier peuvent être ajoutés à un lien pour pointer un fichier avec plus de spécificité.
/ .Les chemins de fichier ne fonctionnent que pour les wikilinks en ligne.
HTML résultant (cela semblera identique aux wikilinks sans chemins de fichier):
< a class =" wiki-link " href =" url " > file's title </ a > [[ filename|label text ]] Lorsque vous utilisez des étiquettes, le texte qui apparaît après le | sera rendu dans le texte intérieur de a balise au lieu du titre title du document.
L'étiquetage fonctionne pour tous les niveaux de wikilink (fichier, en-tête, bloc).
HTML résultant:
< a class =" wiki-link " href =" url " > label text </ a > ![ [ filename ]] En avant-garde ! Avant un wikilink, le contenu du fichier sera intégré dans le document actuel plutôt que d'insérer uniquement une balise a HTML.
Les intégres ne fonctionnent que pour les wikilinks au niveau du fichier (pas en tête ou bloc).
HTML résultant:
< div class =" wiki-link-embed " >
< div class =" wiki-link-embed-title " >
// doc title here
</ div >
< div class =" wiki-link-embed-content " >
// embed content here
</ div >
< a class =" wiki-link-embed-link " href =" url " > </ a >
</ div > ![ [ image.png ]] Comme les intégres ci-dessus, le contenu de liaison sera rendu dans le corps du document, mais pour les images. Assurez-vous simplement d'ajouter l'extension de fichier. Les formats pris en charge sont .png , .jpg , .gif , .psd , .svg . Les wikilinks d'image ne sont pas inclus dans les métadonnées.
HTML résultant:
< p >
< span class =" wiki-link-embed-image " >
< img class =" wiki-link-img " src =" img_relative_path " />
</ span >
</ p > Le contenu d'un SVG sera inséré directement dans le HTML, plutôt que d'être lié dans une balise img . Ceci est utile au cas où vous souhaitez modifier le post-SVG Post-Render:
HTML résultant:
< p >
< span class =" wiki-link-embed-image " >
< svg >
// svg file content here
</ svg >
</ span >
</ p >Pour plus de syntaxes liées à la prise de notes telles que == Highlights == et ~~ Strikethroughs ~~:
Les métadonnées suivantes sont stockées sous forme de variables avant et sont accessibles dans des modèles liquides:
attributed (Block Backlinks)attributes (bloquer les liens antérieurs)backlinks (dactylographié et non typé, fichier / en-tête / bloc, liens arrière)forelinks (dactylographié et non typlé, fichier / en-tête / bloc, liens 'Forward')missing (dactylographié et non typlé, fichier / en-tête / bloc, lilues des anciens qui ne correspondent à aucun document) Les attributes et les variables de front de première attributed , qui correspondent aux wikilinks de blocs, sont des listes d'objets avec un attribut type pour le type Wikilink et une liste d' urls qui sont des chaînes:
-
type : <str>
urls : [<url_str>]
-
...Exemple de liquide:
<!-- render as "link-type: title" -->
{% for attr in page.attributed %}
{{ attr.type }}:
{% for url in attr.urls %}
{% assign linked_doc = site.documents | where: "url", attr.url | first %}
< a class =" wiki-link " href =" {{ linked_doc.url }} " > {{ linked_doc.title }} </ a >
{% endfor %}
{% endfor %} Les variables Frontmatter forelinks et backlinks , qui correspondent à des wikilinks en ligne, est une liste d'objets avec un attribut type pour le type Wikilink et une chaîne url . (Les Wikilinks non typés auront un attribut vide: type: "" ):
-
type : <str>
url : <url_str>
-
...Exemple de liquide:
<!-- render as "link-type: title" -->
{% for backlink in page.backlinks %}
{% assign linked_doc = site.documents | where: "url", backlink.url | first %}
{{ backlink.type }}: < a class =" wiki-link " href =" {{ linked_doc.url }} " > {{ linked_doc.title }} </ a >
{% endfor %} missing est simplement une liste de noms de fichiers. Les noms de fichiers pour le niveau de bloc et le niveau de ligne de Wikilinks sont collectés:
- <filename_str>
- ... Il existe deux types de filtres liquides fournis: un pour les types de documents Jekyll et un pour les types de liaison (relation).
Dites que vous souhaitez filtrer par type de document Jekyll. Si vous souhaitez afficher séparément les backlinks «publier» et les backlinks «note», filtrez simplement les métadonnées des backlinks comme ainsi:
<!-- show post backlink titles -->
{% assign post_backlinks = page.backlinks | doc_type: "posts" %}
{% for backlink in post_backlinks %}
{% assign post = site.posts | where: "url", backlink | first %}
{{ post.title }}
{% endfor %}
<!-- show note backlink titles -->
{% assign note_backlinks = page.backlinks | doc_type: "notes" %}
{% for backlink in note_backlinks %}
{% assign note = site.notes | where: "url", backlink | first %}
{{ note.title }}
{% endfor %}Dites que vous souhaitez filtrer par des types de liaison (relation). Si vous avez Markdown comme les suivants:
author:: [[ gardener ]] Ensuite, vous pouvez filtrer par le type author comme tel:
{% assign author_links = page.links | link_type: "author" %}
{% for link in author_links %}
{% assign post = site.posts | where: "url", link.url | first %}
{{ post.title }}
{% endfor %}