jekyll-wikirefsに移動しましたJekyll-Wikilinksは、ジキルへのサポートをサポートするウィキリンク(ダブルスクエアブラケット構文を介してローカルドキュメントを参照する機能)などを追加します。
この宝石は、 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 :オン/オフ属性とブロックレベルのウィキリンクを切り替えます。 attributesをオフにした場合、メタデータは各ドキュメントに追加されず、ブロックレベルのウィキリンクはドキュメントのコンテンツから削除されません。
css_names :カスタマイズテーブルCSSクラス名。
css.exclude : wikiまたはweb CSSクラスを追加してはならないCSSクラスのリストを定義します。
web-link CSSクラスを追加してはならない他の内部リンクがある場合に役立ちます。たとえば、 kramdown footnoteとreversefootnote CSSクラスを脚注のaに追加します。それらはサイトの内部リンクであるため、 wiki-linkが追加されることはありませんが、これらの要素にweb-linkを追加することは望ましくない可能性があります。これにより、プラグインのCSS処理から完全に除外し、それらのクラスを個別にスタイリングするのに適した候補者になります。 enabled :トグルプラグインをオフにするか、オフにします。
exclude :Jekyllタイプ(名前ごとのpages 、 posts 、またはcollections )は、Jekyll-Wikilinksプラグインによって処理されないように、除外されたドキュメントのリストに追加できます。
[[ filename ]]このリンクは、 filename.mdという名前である限り、Jekyllプロジェクトのどこでもマークダウンドキュメントと一致します。ファイル名は一意でなければならず、白人は許可され、ケースは無視されます。ファイルのtitle FrontMatter属性は、 aタグの内側のテキストにレンダリングされるものです。
結果としてHTML:
< a class =" wiki-link " href =" url " > lower-cased frontmatter title attribute </ a >link_type:: [[ filename ]]タイプには、空白を含めるべきではありません。 (Kabob-Caseをお勧めしますが、snake_caseとcamelcaseも動作します)
これらのウィキリンクは、Untyped 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を使用します)。
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]]
これらのウィキリンクはファイルから完全に削除され、それらの対応するドキュメントURLとリンクタイプは、現在のドキュメントのFrontMatter変数とattributedたドキュメントのattributes FrontMatter変数に保存されます。
これらのWikilinkタイプの削除は、ファイルのメインコンテンツとは別の何らかの形の情報ボックスを作成するシナリオに役立ちます。
ブロックウィキリンクは、ファイルレベルでのみ動作し、ラベルや埋め込みをサポートしません。設定により、構成で切り替えることができます。
wikilinks:
attributes:
enabled: false
[[ filename#header ]]このリンクは、 filename.mdという名前のファイルを検索し、#ヘッダーがある場合は# headerにリンクします。そのようなヘッダーが存在しない場合、結果のaはinvalid-wiki-link CSSクラスでレンダリングされます。
結果として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には、CARETの前にスペースがあることを確認してください^ 。^block_id自体は触れられないままであるため、ページのドキュメントで1回ブロックを識別する方法があります。block_id URLフラグメントとして追加されます(例: www.blog.com/wikilink/#block_idなど)。このURLフラグメントを使用すると、対応するHTML要素IDへの自動スクロールを有効にできます。今のところ、これらのhtml elment idsを手動で作成する必要があります。 [[ /directory/filename ]]ファイルパスをリンクに追加して、より特異性を持つファイルをポイントする場合があります。
/で開始する必要があります。ファイルパスは、インラインWikilinksでのみ機能します。
結果として生じるHTML(これは、ファイルパスなしでウィキリンクと同じように見えます):
< a class =" wiki-link " href =" url " > file's title </ a > [[ filename|label text ]]ラベルを使用する場合、後に表示されるテキスト|ドキュメントのtitle FrontMatterの代わりに、 aタグの内側のテキストでレンダリングされます。
ラベル付けは、すべてのウィキリンクレベル(ファイル、ヘッダー、ブロック)で機能します。
結果としてHTML:
< a class =" wiki-link " href =" url " > label text </ a > ![ [ filename ]]準備することによって! Wikilinkの前に、ファイルのコンテンツは、 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のコンテンツは、 imgタグにリンクされるのではなく、HTMLに直接挿入されます。これは、SVG後のレンダーをプログラム的に変更する場合に役立ちます。
結果としてHTML:
< p >
< span class =" wiki-link-embed-image " >
< svg >
// svg file content here
</ svg >
</ span >
</ p >== highlights ==や~~ strikethroughsなどのメモに関連する構文の詳細~~:
次のメタデータは、FrontMatter変数として保存され、液体テンプレートでアクセス可能です。
attributed (ブロックバックリンク)attributes (Block Forelinks)backlinks (タイプ化されていないものと無型、ファイル/ヘッダー/ブロック、バックリンク)forelinks (タイプ化されていない、無型、ファイル/ヘッダー/ブロック、「フォワード」リンク)missing (タイプおよび非タイプ、ファイル/ヘッダー/ブロック、ドキュメントに対応しないフォアリンク)ブロックWikilinksに対応するattributesとattributed FrontMatter変数は、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 FrontMatter変数は、Wikilinkタイプとurl文字列のtype属性を持つオブジェクトのリストです。 (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>
- ... 提供される液体フィルターには2つのタイプがあります。1つはJekyllドキュメントタイプ用、もう1つはリンク(関係)タイプです。
Jekyllドキュメントタイプでフィルタリングしたいとします。 「投稿」バックリンクと「メモ」バックリンクを個別に表示する場合は、次のようにバックリンクメタデータをフィルタリングするだけです。
<!-- 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 %}