jekyll-wikirefsيضيف Jekyll-Wikilinks (القدرة على الإشارة إلى المستندات المحلية عبر بناء جملة قوس مربع مزدوج-[[مثل هذا]]) إلى 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 من مستوى الحظر من محتوى المستند.
css_names : أسماء فئة CSS CustomizTable.
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 . يجب أن تكون أسماء الملفات فريدة من نوعها ، ويسمح بالمسافة البيضاء ، ويتم تجاهل الحالة. سمة FrontMatter title الملف هي ما يحصل على نص داخلي a .
الناتج عن HTML:
< a class =" wiki-link " href =" url " > lower-cased frontmatter title attribute </ a >link_type:: [[ filename ]]يجب ألا تحتوي الأنواع على مساحة بيضاء. (ينصح kabob-case ، لكن Snake_Case و Camelcase ستعمل أيضًا)
هذه wikilinks المقدمة في مكان مثل wikilinks غير نمط. كما أنها تضيف فئة CSS typed ، بالإضافة إلى فئة CSS مع اسم نوع الرابط المحدد.
الناتج عن HTML:
< a class =" wiki-link typed link_type " href =" url " > lower-cased frontmatter title attribute </ a > تسمى أيضًا attributes المستند ، يتم كتابة wikilinks الكتل التي هي النص الوحيد على سطر واحد:
link_type::[[filename]]
Some more text.
يتم دعم القوائم أيضًا وقد يتم تعريفها بواسطة قوائم الفصل بين الفاصلة أو تخفيضات (تأكد من تطابقات نوع الرصاص لجميع العناصر ؛ على سبيل المثال ، تستخدم جميع العناصر +'s أو'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 هذه مفيدة في السيناريو حيث يكون إنشاء شكل من أشكال Infobox منفصلة عن المحتوى الرئيسي للملف.
قم بحظر 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 في المستند الهدف يحتوي على مساحة قبل Caret ^ .^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 Frontmatter الخاص بالمستند.
يعمل وضع العلامات على جميع مستويات 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 Post-Render برمجيًا:
الناتج عن HTML:
< p >
< span class =" wiki-link-embed-image " >
< svg >
// svg file content here
</ svg >
</ span >
</ p >لمزيد من الجملة ذات الصلة بالمذكرات مثل == أبرز == و ~~ strikethroughs ~~:
يتم تخزين البيانات الوصفية التالية كمتغيرات Frontmatter ويمكن الوصول إليها في القوالب السائلة:
attributed (روابط خلفية كتلة)attributes (كتلة الحلقات)backlinks (المكتوبة وغير المقطوعة ، ملف/رأس/كتلة ، روابط خلفية)forelinks (مكتوبة وغير معدلة ، ملف/رأس/كتلة ، روابط "إلى الأمام")missing (مكتوبة وغير معدّة ، ملف/رأس/كتلة ، فورلينكات لا تتوافق مع أي مستند) attributes ومتغيرات Frontmatter attributed ، والتي تتوافق مع حظر wikilinks ، هي قوائم للكائنات مع سمة 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 Frontmatter ، والتي تتوافق مع Wikilinks المضمنة ، قائمة بالكائنات ذات سمة type لنوع Wikilink وسلسلة 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. إذا كنت ترغب في عرض الروابط الخلفية "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 %}