jekyll-wikirefsJekyll-Wikilinks menambahkan wikilinking (kemampuan untuk merujuk dokumen lokal melalui sintaks braket persegi ganda-[[seperti ini]]) dukungan untuk Jekyll-dan banyak lagi.
Permata ini bekerja bersama dengan jekyll-graph .
Permata ini adalah bagian dari proyek Jekyll-Bonsai.
Ikuti instruksi untuk menginstal plugin Jekyll untuk jekyll-wikilinks .
Default terlihat seperti ini:
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 : Mengaktifkan atribut ON/OFF dan wikilink level blok. Jika mematikan data meta attributes tidak akan ditambahkan ke setiap dokumen dan level blok wikilinks tidak akan dihapus dari konten dokumen.
css_names : Nama kelas CSS yang dapat disesuaikan.
css.exclude : Menentukan daftar kelas CSS yang seharusnya tidak memiliki kelas wiki atau web CSS ditambahkan ke dalamnya.
web-link CSS ditambahkan ke dalamnya. Misalnya, kramdown menambahkan footnote dan reversefootnote kelas CSS ke a yang merupakan catatan kaki. Karena mereka adalah tautan internal ke situs, mereka tidak akan memiliki wiki-link S ditambahkan ke mereka, tetapi kemungkinan tidak diinginkan untuk memiliki web-link yang ditambahkan ke elemen-elemen ini. Ini membuat mereka kandidat yang baik untuk dikecualikan dari pemrosesan CSS plugin sama sekali dan menata kelas -kelas tersebut secara terpisah. enabled : Take untuk mematikan plugin atau mematikan.
exclude : Jenis Jekyll apa pun ( pages , posts , atau collections berdasarkan nama) dapat ditambahkan ke daftar dokumen yang dikecualikan untuk tidak diproses oleh plugin Jekyll-Wikilinks.
[[ filename ]] Tautan ini akan cocok dengan dokumen penurunan harga di mana saja di proyek Jekyll selama dinamai filename.md . Nama file harus unik, whitespace diperbolehkan, dan case diabaikan. Atribut frontmatter title file adalah apa yang diberikan teks bagian dalam a .
Hasil HTML:
< a class =" wiki-link " href =" url " > lower-cased frontmatter title attribute </ a >link_type:: [[ filename ]]Jenis tidak boleh mengandung whitespace. (Kabob-case direkomendasikan, tetapi snake_case dan camelcase juga akan berfungsi)
Wikilink ini diterapkan di tempat seperti wikilink yang tidak diketik. Mereka juga menambahkan kelas CSS typed , serta kelas CSS dengan nama jenis tautan yang diberikan.
Hasil HTML:
< a class =" wiki-link typed link_type " href =" url " > lower-cased frontmatter title attribute </ a > Juga disebut attributes dokumen, blok wikilinks diketik wikilinks yang merupakan satu -satunya teks pada satu baris:
link_type::[[filename]]
Some more text.
Daftar juga didukung dan dapat didefinisikan oleh pemisahan koma atau daftar penurunan harga (pastikan tipe peluru cocok untuk semua item; misalnya semua item menggunakan +'s, -'s atau *):
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]]
Wikilink ini dihapus dari file sepenuhnya dan URL dokumen yang sesuai dan tipe tautan disimpan dalam variabel frontMatter attributes dari dokumen saat ini dan variabel frontMatter attributed dari dokumen tertaut.
Penghapusan jenis wikilink ini berguna dalam skenario di mana membuat beberapa bentuk infobox yang terpisah dari konten utama file diinginkan.
Blokir wikilinks hanya bekerja pada level file dan tidak mendukung label atau embedding. Mereka mungkin ditimbulkan dalam konfigurasi dengan pengaturan:
wikilinks:
attributes:
enabled: false
[[ filename#header ]] Tautan ini akan mencari file bernama filename.md dan tautan ke # header jika ada. Jika tidak ada header seperti itu, a yang dihasilkan akan diterjemahkan dengan kelas CSS invalid-wiki-link .
Hasil HTML:
< a class =" wiki-link " href =" url#sluggified-header-id " > lower-cased frontmatter title > header </ a > [[ filename#^block_id ]]Hasil HTML:
< a class =" wiki-link " href =" url#block_id " > lower-cased title > ^block_id </ a >^block_id dalam dokumen target memiliki ruang sebelum caret ^ .^block_id s sendiri dibiarkan tidak tersentuh sehingga ada cara secara visual untuk mengidentifikasi blok sekali pada dokumen halaman.block_id ditambahkan sebagai fragmen URL (misalnya www.blog.com/wikilink/#block_id ). Dengan fragmen URL ini, gulir otomatis ke ID elemen HTML yang sesuai dapat diaktifkan. Anda harus secara manual membuat ID elment HTML sendiri untuk saat ini. [[ /directory/filename ]]Jalur file dapat ditambahkan ke tautan untuk menunjuk ke file dengan lebih banyak kekhususan.
/ .Jalur file hanya berfungsi untuk inline wikilinks.
Hasil HTML (ini akan terlihat identik dengan wikilinks tanpa jalur file):
< a class =" wiki-link " href =" url " > file's title </ a > [[ filename|label text ]] Saat menggunakan label, teks yang muncul setelah | akan diterjemahkan dalam teks bagian dalam a alih -alih frontmatter title dokumen.
Pelabelan berfungsi untuk semua level wikilink (file, header, blok).
Hasil HTML:
< a class =" wiki-link " href =" url " > label text </ a > ![ [ filename ]] Dengan prepending ! Sebelum wikilink, konten file akan tertanam dalam dokumen saat ini daripada memasukkan hanya tag a .
Embed hanya berfungsi untuk wikilink tingkat file (bukan header atau blok).
Hasil HTML:
< 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 ]] Seperti embed di atas, konten tautan akan diterjemahkan dalam badan dokumen, tetapi untuk gambar. Pastikan untuk menambahkan ekstensi file. Format yang didukung adalah .png , .jpg , .gif , .psd , .svg . Gambar wikilink tidak termasuk dalam metadata.
Hasil HTML:
< p >
< span class =" wiki-link-embed-image " >
< img class =" wiki-link-img " src =" img_relative_path " />
</ span >
</ p > Konten SVG akan dimasukkan langsung ke HTML, daripada ditautkan dalam tag img . Ini berguna jika Anda ingin secara terprogram mengubah SVG pasca-render:
Hasil HTML:
< p >
< span class =" wiki-link-embed-image " >
< svg >
// svg file content here
</ svg >
</ span >
</ p >Untuk lebih banyak sintaksis terkait catatan seperti == sorotan == dan ~~ Strikethroughs ~~:
Metadata berikut disimpan sebagai variabel frontmatter dan dapat diakses dalam templat cair:
attributed (blok backlink)attributes (blok forelinks)backlinks (diketik dan tidak diketik, file/header/blok, tautan belakang)forelinks (diketik dan tidak diketik, file/header/blok, tautan 'maju')missing (diketik dan tidak diketik, file/header/blok, foreelinks yang tidak sesuai dengan dokumen apa pun) attributes dan variabel frontMatter attributed , yang sesuai dengan blok wikilinks, adalah daftar objek dengan atribut type untuk jenis wikilink dan daftar urls yang merupakan string:
-
type : <str>
urls : [<url_str>]
-
...Contoh cairan:
<!-- 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 %} Variabel frontMatter forelinks dan backlinks , yang sesuai dengan inline wikilinks, adalah daftar objek dengan atribut type untuk jenis wikilink dan string url . (Wikilinks yang tidak diketik akan memiliki atribut kosong: type: "" ):
-
type : <str>
url : <url_str>
-
...Contoh cairan:
<!-- 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 hanyalah daftar nama file. Nama file untuk level blok dan level inline dikumpulkan:
- <filename_str>
- ... Ada dua jenis filter cair yang disediakan: satu untuk jenis dokumen Jekyll dan satu untuk jenis tautan (hubungan).
Katakanlah Anda ingin memfilter berdasarkan jenis dokumen Jekyll. Jika Anda ingin menampilkan backlink 'postingan' dan backlink 'note' secara terpisah, cukup filter backlink metadata seperti So:
<!-- 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 %}Katakanlah Anda ingin memfilter berdasarkan tautan (hubungan) tipe. Jika Anda memiliki penurunan harga seperti yang berikut:
author:: [[ gardener ]] Kemudian Anda bisa memfilter dengan tipe author seperti:
{% 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 %}