Jekyll 블로그에서 태그를 지원하는 쉬운 방법
문제
블로그를 유지하기 위해 표준 Jekyll 설치를 사용하고 있습니다. 모든 것이 잘 진행되고 있습니다. 내 게시물을 정말로 태그하고 싶습니다.
나 ~할 수 있다 Yaml Front Matter를 사용하여 게시물을 태그하지만 태그의 모든 게시물을 나열 할 수있는 각 태그에 대한 페이지를 어떻게 생성합니까?
해결책
이 요점은 카테고리 당 페이지를 생성합니다. https://gist.github.com/524748
Jekyll Generator 플러그인과 페이지 서브 클래스를 사용합니다.
다른 팁
여기에 해결책이 있습니다 단일 페이지에 알파벳순으로 정렬 된 태그가 있습니다.
액체 만 사용하므로 GitHub 페이지에서 작동 함을 의미합니다.
{% 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 %}
당신은 그것을 실제로 볼 수 있습니다 여기.
편집하다:
플러그인없이 각 태그에 대해 별도의 페이지를 생성하는 방법도 있습니다. (Github 페이지에서 작동합니다).
내 블로그에 더 자세한 설명이 있습니다.
Jekyll (플러그인 없음)을 사용한 태그/카테고리 별 별도 페이지
먼저 새 레이아웃 파일이 필요합니다.
/_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
---
이 접근법의 유일한 단점 : 처음으로 새 태그를 사용할 때마다 새 2 라인 파일을 만들어야합니다.
루트 인덱스 파일을 생성합니다 (즉, 링크하는 태그 목록 /tags/jekyll/index.html
등.),이 답변 위에있는 것과 같은 유사한 솔루션을 사용할 수 있으며,이 답변은 알페 바이로 정렬 된 태그로 단일 페이지를 생성 할 수 있습니다.
{% 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>
이 솔루션은 빈 공백을 사용하여 태그를 분할하여 태그를 분할하기 때문에 태그에 공백이 포함되어있을 때 작동하지 않습니다. Yevgeniy Brikman의 의견 여기에도 적용됩니다.
살펴보십시오 Jekyll을 사용하는 사이트. 태깅 기능을 구현 한 몇 가지 커스텀 포크가 있습니다.
나는 같은 질문을했고 이것을 우연히 발견했다. http://gist.github.com/143571.
태그 목록을 생성하는 갈퀴 작업입니다. 약간 수정했고 내 버전은 다음과 같습니다.http://github.com/mattfoster/mattfoster.github.com/blob/master/rakefile.
이것은 태그 당 페이지를 제공하지 않지만 앵커를 사용할 수 있습니다.
나는 위대한 것을 사용합니다 Jekyll 태깅 태그 클라우드 및 태그 페이지를 자동으로 생성하는 플러그인. 설치 및 사용이 쉽습니다.
여기에 있습니다 "사진"태그의 페이지 내 블로그에서 (프랑스어), 바닥에 태그가 클라우드를 볼 수 있습니다.
위의 그리스도인의 대답을 바탕으로 나는 그가 묘사 한 바쉬 스크립트를 만들었습니다.
https://github.com/objectivetruth/objectivetruth.github.io/blob/master/rebuild_tags.sh
14 라인에 반드시 있어야합니다 VIM 스크립트 에서 /non_website_resources/
예배 규칙서
그리고
만들기 /_layouts/tagpage.html
위의 Christian의 답변에 표시되지만 이름을 바꾸십시오. /_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
각각
이렇게하면 새 태그가있는 경우 GitHub로 밀기 전에 페이지를 재건하기 위해 스크립트를 실행하십시오.
태그를 수행하는 멋진 간단한 비 플러그 인 방법
편집하다
다른 파일에 대한 종속성이 제거되었습니다. 하나의 스크립트 만 필요합니다!