jekyll-wikirefsO Jekyll-Wikilinks adiciona Wikiling (a capacidade de fazer referência a documentos locais através da sintaxe do suporte quadrado duplo-[[como este]]) apoiar a Jekyll-e muito mais.
Esta jóia funciona em conjunto com jekyll-graph .
Esta jóia faz parte do projeto Jekyll-Bonsai.
Siga as instruções para instalar um plugin Jekyll para jekyll-wikilinks .
Os padrões são assim:
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 : atribui atributos de ativação/desativação e bloqueio Wikilinks. Se desativado, os meta -dados attributes não serão adicionados a cada documento e bloqueio do Wikilinks não serão removidos do conteúdo do documento.
css_names : Nomes de classe CSS CSSS personalizáveis.
css.exclude : define uma lista de classes CSS que não devem ter as classes wiki ou web CSS adicionadas a ele.
web-link adicionada a ela. Por exemplo, kramdown adiciona footnote e reversefootnote CSS Classes a a elementos que são notas de rodapé. Como eles são links internos ao site, eles não terão wiki-link adicionados a eles, mas é provável que seja indesejável ter web-link adicionado a esses elementos. Isso os torna bons candidatos a excluir do processamento CSS do plug -in e estilizar essas classes separadamente. enabled : alterne para desativar o plug -in ou desativar.
exclude : Qualquer tipo Jekyll ( pages , posts ou collections por nome) pode ser adicionado a uma lista de documentos excluídos a serem processados pelo plug-in Jekyll-Wikilinks.
[[ filename ]] Este link corresponderá a um documento de marcação em qualquer lugar do projeto Jekyll, desde que seja chamado filename.md . Os nomes de arquivos devem ser únicos, o espaço em branco é permitido e o caso é ignorado. O atributo de título title do arquivo é o que é renderizado o texto interno da tag a
HTML resultante:
< a class =" wiki-link " href =" url " > lower-cased frontmatter title attribute </ a >link_type:: [[ filename ]]Os tipos não devem conter o espaço em branco. (Case Kabob é recomendado, mas Snake_Case e CamelCase também funcionarão)
Esses Wikilinks renderizados no local como Wikilinks não titulares. Eles também adicionam uma classe CSS typed , bem como uma classe CSS com o nome do tipo de link fornecido.
HTML resultante:
< a class =" wiki-link typed link_type " href =" url " > lower-cased frontmatter title attribute </ a > Também chamado de attributes de um documento, os Wikilinks de bloco são wikilinks digitados que são o único texto em uma única linha:
link_type::[[filename]]
Some more text.
As listas também são suportadas e podem ser definidas por listas de separação de vírgulas ou marcação (verifique se o tipo de bala corresponde a todos os itens; por exemplo, todos os itens usam +'s, -'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]]
Esses Wikilinks são removidos do arquivo completamente e seus URLs e tipos de link correspondentes de documentos são salvos na variável FrontMatter dos attributes do documento atual e da variável frontMatter attributed dos documentos vinculados.
A remoção desses tipos de Wikilink é útil no cenário em que a criação de alguma forma de InfoBox separada do conteúdo principal do arquivo é desejada.
O Block Wikilinks funciona apenas no nível do arquivo e não suporta rótulos ou incorporação. Eles podem ser eliminados na configuração por configuração:
wikilinks:
attributes:
enabled: false
[[ filename#header ]] Este link procurará um arquivo chamado filename.md e link para o seu # header , se houver um. Se não existir esse cabeçalho, a a resultante será renderizada com a classe CSS invalid-wiki-link .
HTML resultante:
< a class =" wiki-link " href =" url#sluggified-header-id " > lower-cased frontmatter title > header </ a > [[ filename#^block_id ]]HTML resultante:
< a class =" wiki-link " href =" url#block_id " > lower-cased title > ^block_id </ a >^block_id no documento de destino tem um espaço antes do caret ^ .^block_id S são deixados intocados, de modo que existe um caminho visualmente para identificar o bloco uma vez no documento da página.block_id é anexado como um fragmento de URL (por exemplo, www.blog.com/wikilink/#block_id ). Com este fragmento de URL, a rolagem automática para o ID do elemento HTML correspondente pode ser ativado. Você terá que criar manualmente esses IDs HTML por enquanto. [[ /directory/filename ]]Os caminhos de arquivo podem ser adicionados a um link para apontar para um arquivo com mais especificidade.
/ .Os caminhos de arquivo funcionam apenas para Wikilinks embutidos.
HTML resultante (isso será idêntico aos Wikilinks sem caminhos de arquivo):
< a class =" wiki-link " href =" url " > file's title </ a > [[ filename|label text ]] Ao usar rótulos, o texto que aparece após o | será renderizado no texto interno da tag a em vez do title do documento FrontMatter.
A rotulagem funciona para todos os níveis do Wikilink (arquivo, cabeçalho, bloco).
HTML resultante:
< a class =" wiki-link " href =" url " > label text </ a > ![ [ filename ]] Prevendo ! Antes de um Wikilink, o conteúdo do arquivo será incorporado no documento atual, em vez de inserir apenas uma tag a HTML.
As incorporações funcionam apenas para Wikilinks no nível do arquivo (não cabeçalho ou bloco).
HTML resultante:
< 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 ]] Como as incorporações acima, o conteúdo do link será renderizado no corpo do documento, mas para imagens. Apenas certifique -se de adicionar a extensão do arquivo. Os formatos suportados são .png , .jpg , .gif , .psd , .svg . Os wikilinks de imagem não estão incluídos nos metadados.
HTML resultante:
< p >
< span class =" wiki-link-embed-image " >
< img class =" wiki-link-img " src =" img_relative_path " />
</ span >
</ p > O conteúdo de um SVG será inserido diretamente no HTML, em vez de ser vinculado em uma tag img . Isso é útil, caso você queira alterar programaticamente o SVG Pós-Render:
HTML resultante:
< p >
< span class =" wiki-link-embed-image " >
< svg >
// svg file content here
</ svg >
</ span >
</ p >Para mais sintaxes relacionadas a anotações, como == destaques == e ~~ Strikethoughs ~~:
Os seguintes metadados são armazenados como variáveis frontmatter e são acessíveis em modelos líquidos:
attributed (backlinks de bloco)attributes (bloco Forelinks)backlinks (digitado e não vinculado, arquivo/cabeçalho/bloco, links traseiros)forelinks (digitados e não vinculados, links de arquivo/cabeçalho/bloco, 'Forward')missing (digitada e sem topo, arquivo/cabeçalho/bloco, forelinks que não correspondem a nenhum documento) Os attributes e as variáveis de frontmatter attributed , que correspondem a bloquear Wikilinks, são listas de objetos com um atributo type para o tipo Wikilink e uma lista de urls que são seqüências:
-
type : <str>
urls : [<url_str>]
-
...Exemplo líquido:
<!-- 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 %} As variáveis forelinks , que correspondem a Wikilinks backlinks , são uma lista de objetos com um atributo type para o tipo Wikilink e uma string url . (Wikilinks não titados terão um atributo vazio: type: "" ):
-
type : <str>
url : <url_str>
-
...Exemplo líquido:
<!-- 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 é simplesmente uma lista de nomes de arquivos. Os nomes de arquivos para o nível de bloco e os wikilinks de nível embutido são coletados:
- <filename_str>
- ... Existem dois tipos de filtros líquidos fornecidos: um para tipos de documentos Jekyll e outro para tipos de link (relacionamento).
Digamos que você deseja filtrar o tipo de documento Jekyll. Se você deseja exibir backlinks 'post' e backlinks 'nota' separadamente, basta filtrar os metadados dos backlinks como assim:
<!-- 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 %}Digamos que você deseja filtrar os tipos de link (relacionamento). Se você tem markdown como o seguinte:
author:: [[ gardener ]] Então você pode filtrar pelo tipo author como assim:
{% 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 %}