jekyll-wikirefsJekyll-wikilinks добавляет Wikiling (возможность ссылаться на местные документы через синтаксис двойного квадратного кронштейна-[[как это]]) поддержка Jekyll-и многое другое.
Этот драгоценный камень работает в сочетании с jekyll-graph .
Этот драгоценный камень является частью проекта Jekyll-Bonsai.
Следуйте инструкциям для установки плагина Jekyll для jekyll-wikilinks .
По умолчанию выглядят так:
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 Block не будут удалены из содержания документа.
css_names : Настраиваемые имена классов CSS.
css.exclude : определяет список классов CSS, которые не должны добавлять классы wiki или web -CSS.
web-link . Например, kramdown добавляет footnote и классы CSS reversefootnote в a , которые являются сносками. Поскольку они являются внутренними для сайта, у них не будет добавлено wiki-link , но, вероятно, нежелательно добавлять web-link в эти элементы. Это делает их хорошими кандидатами, чтобы исключить из обработки CSS плагина вообще и стилела эти классы отдельно. enabled : переключить, чтобы выключить плагин или выключить.
exclude : Любой тип Jekyll ( pages , posts или collections по имени) может быть добавлен в список исключенных документов, которые не обрабатываются плагином Jekyll-Wikilinks.
[[ filename ]] Эта ссылка будет соответствовать документу Markdown в любом месте проекта Jekyll, если она называется filename.md . Имена файлов должны быть уникальными, допускается пробел, а случай игнорируется. title «Фронтмейт» файла - это то, что делает внутренний текст a Tag.
В результате HTML:
< a class =" wiki-link " href =" url " > lower-cased frontmatter title attribute </ a >link_type:: [[ filename ]]Типы не должны содержать пробелы. (Кабобс рекомендуется, но Snake_case и Camelcase тоже будут работать) тоже будут работать)
Эти Wikilinks оказались на месте, как невыполненные Wikilinks. Они также добавляют typed класс CSS, а также класс CSS с именем данного типа ссылки.
В результате HTML:
< a class =" wiki-link typed link_type " href =" url " > lower-cased frontmatter title attribute </ a > Также называют attributes документа, блокируют викилинк, напечатаны викилинк, которые являются единственным текстом на одной строке:
link_type::[[filename]]
Some more text.
Списки также поддерживаются и могут быть определены списками с запятой или размещением (убедитесь, что тип пули для всех элементов; например, все элементы используют +'s, -''с или *' 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 текущего документа и attributed переменной передней части связанных документов.
Удаление этих типов Wikilink полезно в сценарии, где желательно создавать некоторую форму инфобокса, отделенная от основного контента файла.
Блок Wikilinks работает только на уровне файлов и не поддерживает этикетки или встраивание. Они могут быть переключены в конфигурации путем настройки:
wikilinks:
attributes:
enabled: false
[[ filename#header ]] Эта ссылка будет искать файл с именем filename.md и ссылку на его # header , если он имеет один. Если такого заголовка не существует, в результате a будет отображаться с классом CSS invalid-wiki-link .
В результате 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 в целевом документе имеет место перед оцепенением ^ .^block_id S сами остается нетронутым, поэтому есть способ визуально идентифицировать блок один раз на документе страницы.block_id добавляется как фрагмент URL (например, www.blog.com/wikilink/#block_id ). С этим фрагментом URL, автоматическая прокрутка до соответствующего идентификатора элемента HTML может быть включена. Вам придется вручную создавать эти идентификаторы HTML Elment на данный момент. [[ /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 ]] Приготовление ! Перед викилинкой содержимое файла будет встроено в текущий документ, а не вставлен только a HTML -тег.
Встроены только для 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 . Изображение викилинк не включено в метаданные.
В результате 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 >Для получения дополнительных синтаксисов, связанных с примечанием, таких как == Hights == и ~~ Strikethroughs ~~:
Следующие метаданные хранятся в виде переменных переднего мельницы и доступны в жидких шаблонах:
attributed (блок обратных ссылок)attributes (блокируемые передынки)backlinks (напечатанные и невыполненные, файл/заголовок/блок, задние ссылки)forelinks (напечатана и нетипедная, файл/заголовок/блок, «Первоначально» ссылки)missing (напечатано и нетипированная, файл/заголовок/блок, передние мышцы, которые не соответствуют ни одному документу) attributes и attributed переменных переднего мельницы, которые соответствуют блокам викилинк, являются списками объектов с атрибутом type для типа Wikilink и списком 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 %} Передние переменные forelinks и backlinks , которые соответствуют встроенным Wikilinks, представляют собой список объектов с атрибутом type для типа Wikilink и строки url . (Untyped 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 просто список имен файлов. Имена файлов как для уровня блока, так и для уровня встроенного уровня собираются:
- <filename_str>
- ... Существуют два типа жидких фильтров: один для типов документов Jekyll и один для типов ссылок (отношения).
Скажем, вы хотите отфильтровать по типу документа Jekyll. Если вы хотите отобразить «Post» обратные ссылки и обратные ссылки «Примечание» отдельно, просто отфильтруйте метаданные обратные ссылки, как 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 %}Скажем, вы хотите отфильтровать по типам ссылок (отношения). Если у вас есть отметка, как следующее:
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 %}