سؤال

أنا باستخدام معيار جيكل التثبيت للحفاظ على بلوق, كل شيء يسير على ما يرام.إلا أنني أود حقا أن الوسم مشاركاتي.

أنا يمكن الوسم وظيفة باستخدام YAML أمام هذه المسألة ، ولكن كيف يمكنني إنشاء صفحة لكل الوسم التي يمكن أن قائمة جميع المشاركات على الوسم?

هل كانت مفيدة؟

المحلول

هذا جوهر سيتم إنشاء صفحة لكل فئة لك: https://gist.github.com/524748

ويستخدم جيكل مولد المساعد ، بالإضافة إلى صفحة فرعية.

نصائح أخرى

هنا هو الحل مع مرتبة أبجديا الكلمات على صفحة واحدة.
ويستخدم السائل فقط, مما يعني أنه يعمل على جيثب الصفحات:

{% capture tags %}
  {% for tag in site.tags %}
    {{ tag[0] }}
  {% endfor %}
{% endcapture %}
{% assign sortedtags = tags | split:' ' | sort %}

{% for tag in sortedtags %}
  <h3 id="{{ tag }}">{{ tag }}</h3>
  <ul>
  {% for post in site.tags[tag] %}
    <li><a href="{{ post.url }}">{{ post.title }}</a></li>
  {% endfor %}
  </ul>
{% endfor %}

يمكنك أن ترى أنه في العمل هنا.


تحرير:

هناك أيضا طريقة إنشاء صفحة منفصلة لكل الوسم بدون الإضافات (والتي سوف تعمل على جيثب صفحات).

لدي شرح أكثر تفصيلا على بلدي بلوق:
صفحات منفصلة لكل بطاقة/الفئة مع جيكل (بدون الإضافات)

أولا, كنت بحاجة إلى تخطيط جديد الملف:

/_layouts/tagpage.html:

---
layout: default
---

<h1>{{ page.tag }}</h1>

<ul>
{% for post in site.tags[page.tag] %}
  <li>
    {{ post.date | date: "%B %d, %Y" }}: <a href="{{ post.url }}">{{ post.title }}</a>
  </li>
{% endfor %}
</ul>

مع هذا الملف التخطيط ، يمكنك إضافة علامة جديدة الصفحة عن طريق إضافة ملف جديد مع اثنين فقط من خطوط YAML الأمامي المسألة.

هنا مثال على jekyll العلامة:

/tags/jekyll/index.html:

---
layout: tagpage
tag: jekyll
---

العيب الوحيد في هذا النهج:في كل مرة كنت تستخدم علامة جديدة للمرة الأولى ، عليك أن تتذكر أن خلق جديد سطرين الملف لذلك.

لتوليد الجذر مؤشر الملف (أيقائمة العلامات التي تربط /tags/jekyll/index.html .... الخ), يمكنك استخدام حل مماثل مثل واحد على أعلى من هذا الجواب حيث تولد صفحة واحدة مع alphebetically فرز الكلمات:

{% capture tags %}
  {% for tag in site.tags %}
    {{ tag[0] }}
  {% endfor %}
{% endcapture %}
{% assign sortedtags = tags | split:' ' | sort %}
{% for tag in sortedtags %}
    <a href="/tags/{{ tag }}/">{{ tag }}</a><br>
{% endfor %}

هذا سوف إنشاء قائمة من الروابط مثل هذا:

<ul>
    <li><a href="/tags/.net/">.net</a></li>
    <li><a href="/tags/authentication/">authentication</a></li>
    <li><a href="/tags/backup/">backup</a></li>
</ul>

علما بأن هذا الحل يستخدم فارغة إلى تقسيم العلامات ، حتى أنها لا تعمل عند العلامات الخاصة بك تحتوي على الفراغات ، يفغيني Brikman تعليق ينطبق هنا أيضا.

كان لدي نفس السؤال و تعثرت على هذا: http://gist.github.com/143571.

إنه أشعل النار المهمة التي يولد الوسم قائمة.انا عدلت عليه قليلا و هو في:http://github.com/mattfoster/mattfoster.github.com/blob/master/Rakefile.

في حين أن هذا لا يعطيك صفحة في الوسم ، يمكنك استخدام المراسي ، الذي هو نصف الطريق إلى هناك!

وأنا استخدم جيكل توصيف المساعد الكبير الذي يولد تلقائيا سحابة العلامات وصفحات العلامة. سهلة التركيب والاستخدام.

وهنا href="http://nicolas-hoizey.com/tags/photo.html" صفحة لل"صور" العلامة على بلدي بلوق (في الفرنسية )، ويمكنك ان ترى سحابة العلامات في القاع.

استنادا إلى المسيحية الجواب أعلاه قمت باش السيناريو الذي يفعل ما وصفت.

https://github.com/ObjectiveTruth/objectivetruth.github.io/blob/master/rebuild_tags.sh

تأكد من أن يكون المصاحبة 14 خط همة النصي في /non_website_resources/ الدليل

و

جعل /_layouts/tagpage.html هو مبين في المسيحية الجواب أعلاه ولكن تسميته إلى /_layouts/tag_pages.html

بنية الملف يجب أن يكون مثل هذا:

.jekyll_website_root
├── _posts
├── _layout
│   ├── tag_pages.html
├── rebuild_tags.sh

تشغيل من الدليل الجذر ./rebuild_tags.sh

إذا كنت تحصل على إذن نفى الخطأ تأكد من تشغيل chmod 777 rebuild_tags.sh


إذا كنت تبحث في النصوص تعليقات لها بسيطة إلى حد ما:

  • يستخدم sed للعثور على جميع الكلمات في كل .md الملف في _post الدليل

  • يستخدم sed تدليك البيانات إلى تنسيق مناسب

  • يأخذ كل فئة فريدة من نوعها و يجعل دليل ، index.html لكل

بهذه الطريقة, إذا كان لديك أي علامات جديدة, فقط قم بتشغيل البرنامج النصي إلى إعادة بناء صفحات قبل دفع إلى جيثب

لطيفة بسيطة غير المساعد طريقة للقيام به


تحرير

إزالة الاعتماد على الملفات الأخرى.فقط في حاجة إلى نص واحد!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top