jekyll-wikirefsJekyll-Wikilinks添加了Wikilinking(通過雙方平方括號語法引用本地文檔的能力 - [[like this]])支持Jekyll的支持 - 等等。
該寶石與jekyll-graph一起工作。
該寶石是Jekyll-Bonsai項目的一部分。
請按照說明為jekyll-wikilinks安裝Jekyll插件的說明。
默認值如下:
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 :切換/關閉屬性和塊級別Wikilinks。如果關閉attributes ,則不會將元數據添加到每個文檔中,並且將不會從文檔的內容中刪除Wikilinks。
css_names :自定義CSS類名稱。
css.exclude :定義CSS類的列表,這些列表不應添加wiki或web CSS類。
web-link CSS類時,這很有用。例如, kramdown將footnote和reversefootnote CSS類添加到腳註的a中。由於它們是網站內部的鏈接,因此不會向其添加wiki-link s,但是將web-link添加到這些元素中可能是不希望的。這使他們成為了一個很好的候選人,可以將插件的CSS處理完全排除在外,並分別排除這些類別。 enabled :切換以關閉插件或關閉。
exclude :任何jekyll類型(按名稱按pages , posts或collections )可以添加到排除的文檔列表中,以免由Jekyll-Wikilinks插件處理。
[[ filename ]]只要命名為filename.md ,此鏈接將與jekyll項目中任何地方的降價文檔匹配。文件名必須是唯一的,允許空格,並且案件被忽略。該文件的title前模屬性是將a標籤的內部文本呈現的。
由此產生的html:
< a class =" wiki-link " href =" url " > lower-cased frontmatter title attribute </ a >link_type:: [[ filename ]]類型不應包含空格。 (建議使用kabob-case,但蛇殼和駱駝也可以工作)
這些Wikilinks像未經類似的Wikilinks一樣在就地渲染。他們還添加了一個typed CSS類,以及帶有給定鏈接類型名稱的CSS類。
由此產生的html:
< a class =" wiki-link typed link_type " href =" url " > lower-cased frontmatter title attribute </ a >也稱為文檔的attributes ,Wikilinks是鍵入的Wikilinks,是單行上唯一的文本:
link_type::[[filename]]
Some more text.
還支持列表,可以通過逗號分隔或降價列表來定義(確保所有項目的子彈類型匹配;例如所有項目使用 +'s,-'s or *'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]]
這些Wikilinks完全從文件中刪除,其相應的文檔URL和鏈接類型保存在當前文檔的attributes Frontmatter變量中,以及鏈接文檔的attributed前肌變量。
在需要創建與文件主內容分開的某種形式的Infobox的情況下,刪除這些Wikilink類型是有用的。
塊Wikilinks僅在文件級上工作,不支持標籤或嵌入。它們可以通過設置在配置中切換:
wikilinks:
attributes:
enabled: false
[[ filename#header ]]此鏈接將搜索一個名為filename.md的文件,並鏈接到其# header如果有一個)。如果不存在這樣的標題,則將使用invalid-wiki-link CSS類呈現a 。
由此產生的html:
< a class =" wiki-link " href =" url#sluggified-header-id " > lower-cased frontmatter title > header </ a > [[ filename#^block_id ]]由此產生的html:
< a class =" wiki-link " href =" url#block_id " > lower-cased title > ^block_id </ a >^block_id在art the Caret ^之前具有空間。^block_id s本身是未觸及的,因此有一種視覺方式可以在頁面文檔上識別一次塊。block_id作為URL片段(例如www.blog.com/wikilink/#block_id )。使用此URL片段,可以啟用對相應的HTML元素ID的自動滾動。您現在必須自己手動創建那些HTML Elment ID。 [[ /directory/filename ]]可以將文件路徑添加到鏈接中,以指向更特異性的文件。
/開始。文件路徑僅適用於內聯Wikilinks。
結果HTML(這看起來與沒有文件路徑的Wikilinks相同):
< a class =" wiki-link " href =" url " > file's title </ a > [[ filename|label text ]]使用標籤時,出現在|之後的文本將在a標籤的內部文本中渲染,而不是文檔的title前截面。
標籤適用於所有Wikilink級別(文件,標頭,塊)。
由此產生的html:
< a class =" wiki-link " href =" url " > label text </ a > ![ [ filename ]]通過準備!在Wikilink之前,文件的內容將嵌入到當前文檔中,而不是僅插入一個a標籤。
僅嵌入文件級Wikilinks(不是標題或塊)。
由此產生的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 ]]像上面的嵌入一樣,鏈接內容將在文檔主體中呈現,但用於圖像。只需確保添加文件擴展名即可。支持格式為.png , .jpg , .gif , .psd , .svg 。元數據中未包括圖像Wikilinks。
由此產生的html:
< p >
< span class =" wiki-link-embed-image " >
< img class =" wiki-link-img " src =" img_relative_path " />
</ span >
</ p > SVG的內容將直接插入HTML,而不是在img標籤中鏈接。如果您想編程更改SVG後渲染:這很有用:
由此產生的html:
< p >
< span class =" wiki-link-embed-image " >
< svg >
// svg file content here
</ svg >
</ span >
</ p >有關更多與記錄相關的語法,例如==亮點==和~~ StrikeThroughs ~~:
以下元數據存儲為前物變量,並且可以在液體模板中訪問:
attributed (塊反向鏈接)attributes (塊前鏈接)backlinks (鍵入和非類型,文件/標頭/塊,背面鏈接)forelinks (鍵入和非類型,文件/標頭/塊,“向前”鏈接)missing (鍵入和未型,文件/標頭/塊,不對應於任何文檔的前肢)對應於Wikilinks的attributes和attributed前肌變量是具有Wikilink類型的type屬性的對象列表,並且是字符串的urls列表:
-
type : <str>
urls : [<url_str>]
-
...示例液體:
<!-- 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 %}對應於內聯Wikilinks的forelinks和backlinks前變量是具有Wikilink類型type屬性和url字符串的對象的列表。 (未經類型的Wikilinks將具有一個空屬性: type: "" ):
-
type : <str>
url : <url_str>
-
...示例液體:
<!-- 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只是文件名列表。收集了塊級和內聯級的文件名Wikilinks:
- <filename_str>
- ... 提供了兩種類型的液體過濾器:一種用於Jekyll文檔類型,一種用於鏈接(關係)類型。
說您想通過jekyll文檔類型過濾。如果要分別顯示“發布”反向鏈接和“ Note”反向鏈接,只需像這樣過濾反向鏈接元數據:
<!-- 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 %}說您想通過鏈接(關係)類型過濾。如果您像以下內容一樣降級:
author:: [[ gardener ]]然後,您可以按照author類型進行過濾:
{% 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 %}