Add support for Jekyll Archives plugin
- Option to select GitHub Pages compatible tag/category page archive or plugin generated archives
This commit is contained in:
parent
1ccd5f6bf0
commit
3aa50cc5a5
9 changed files with 97 additions and 42 deletions
1
Gemfile
1
Gemfile
|
@ -1,4 +1,5 @@
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "github-pages"
|
gem "github-pages"
|
||||||
|
# gem "jekyll-archives"
|
||||||
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
31
_config.yml
31
_config.yml
|
@ -47,7 +47,7 @@ google_ad_client :
|
||||||
google_ad_slot :
|
google_ad_slot :
|
||||||
|
|
||||||
# For specifying social profiles.
|
# For specifying social profiles.
|
||||||
# https://developers.google.com/structured-data/customize/social-profiles
|
# - https://developers.google.com/structured-data/customize/social-profiles
|
||||||
social:
|
social:
|
||||||
type : # Person or Organization (defaults to Person)
|
type : # Person or Organization (defaults to Person)
|
||||||
name : # If the user or organization name differs from the site's name
|
name : # If the user or organization name differs from the site's name
|
||||||
|
@ -170,6 +170,7 @@ gems:
|
||||||
- jekyll-sitemap
|
- jekyll-sitemap
|
||||||
- jekyll-gist
|
- jekyll-gist
|
||||||
- jekyll-feed
|
- jekyll-feed
|
||||||
|
# - jekyll-archives
|
||||||
|
|
||||||
# Outputting
|
# Outputting
|
||||||
permalink: /:categories/:title/
|
permalink: /:categories/:title/
|
||||||
|
@ -177,12 +178,32 @@ paginate: 5 # amount of posts to show
|
||||||
paginate_path: /page:num/
|
paginate_path: /page:num/
|
||||||
timezone: America/New_York # http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
timezone: America/New_York # http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
|
|
||||||
# Archive Page Filenames (example: <base_path>/archive-filename/ ~> "archive-filename")
|
# Archives
|
||||||
tags_archive_filename : "tag-archive"
|
# Type
|
||||||
categories_archive_filename : "category-archive"
|
# - GitHub Pages compatible archive pages built with Liquid ~> type: liquid (default)
|
||||||
|
# - Jekyll Archives plugin archive pages ~> type: jekyll-archives
|
||||||
|
# Path
|
||||||
|
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
|
||||||
|
categories:
|
||||||
|
type: liquid
|
||||||
|
path: /categories/
|
||||||
|
tags:
|
||||||
|
type: liquid
|
||||||
|
path: /tags/
|
||||||
|
# https://github.com/jekyll/jekyll-archives
|
||||||
|
# jekyll-archives:
|
||||||
|
# enabled:
|
||||||
|
# - categories
|
||||||
|
# - tags
|
||||||
|
# layouts:
|
||||||
|
# category: archive-taxonomy
|
||||||
|
# tag: archive-taxonomy
|
||||||
|
# permalinks:
|
||||||
|
# category: /categories/:name/
|
||||||
|
# tag: /tags/:name/
|
||||||
|
|
||||||
# HTML Compression
|
# HTML Compression
|
||||||
# http://jch.penibelst.de/
|
# - http://jch.penibelst.de/
|
||||||
compress_html:
|
compress_html:
|
||||||
clippings: all
|
clippings: all
|
||||||
ignore:
|
ignore:
|
||||||
|
|
|
@ -7,10 +7,10 @@
|
||||||
url: /year-archive/
|
url: /year-archive/
|
||||||
|
|
||||||
- title: "Categories"
|
- title: "Categories"
|
||||||
url: /category-archive/
|
url: /categories/
|
||||||
|
|
||||||
- title: "Tags"
|
- title: "Tags"
|
||||||
url: /tag-archive/
|
url: /tags/
|
||||||
|
|
||||||
- title: "Pages"
|
- title: "Pages"
|
||||||
url: /page-archive/
|
url: /page-archive/
|
||||||
|
|
26
_includes/category-list.html
Normal file
26
_includes/category-list.html
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{% include base_path %}
|
||||||
|
|
||||||
|
{% case site.categories.type %}
|
||||||
|
{% when "liquid" %}
|
||||||
|
{% assign path_type = "#" %}
|
||||||
|
{% when "jekyll-archives" %}
|
||||||
|
{% assign path_type = nil %}
|
||||||
|
{% endcase %}
|
||||||
|
|
||||||
|
{% if site.categories.path %}
|
||||||
|
{% comment %}
|
||||||
|
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
|
||||||
|
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
||||||
|
{% endcomment %}
|
||||||
|
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}#{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
||||||
|
{% assign category_hashes = (page_categories | split: ',' | sort:0) %}
|
||||||
|
|
||||||
|
<p class="page__taxonomy"><strong>{{ site.data.ui-text[site.locale].categories_label }}</strong> <span itemprop="keywords">
|
||||||
|
{% for hash in category_hashes %}
|
||||||
|
{% assign keyValue = hash | split: '#' %}
|
||||||
|
{% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
||||||
|
<a href="{{ base_path }}{{ category_word | slugify | prepend: path_type | prepend: site.categories.path }}" class="page__taxonomy-item" rel="tag">{{ category_word }}</a>{% unless forloop.last %}, {% endunless %}
|
||||||
|
{% endfor %}
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
|
@ -1,38 +1,7 @@
|
||||||
{% include base_path %}
|
|
||||||
|
|
||||||
{% comment %}
|
|
||||||
<!-- Sort page.tags alphabetically regardless of case e.g. a B c d E -->
|
|
||||||
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
|
||||||
{% endcomment %}
|
|
||||||
|
|
||||||
{% if page.tags[0] %}
|
{% if page.tags[0] %}
|
||||||
{% if site.tags_archive_filename %}
|
{% include tag-list.html %}
|
||||||
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
|
||||||
{% assign tag_hashes = (page_tags | split: ',' | sort:0) %}
|
|
||||||
|
|
||||||
<p class="page__taxonomy"><strong>{{ site.data.ui-text[site.locale].tags_label }}</strong> <span itemprop="keywords">
|
|
||||||
{% for hash in tag_hashes %}
|
|
||||||
{% assign keyValue = hash | split: '#' %}
|
|
||||||
{% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
|
||||||
<a href="{{ base_path }}{{ tag_word | slugify | prepend: '/#' | prepend: site.tags_archive_filename | prepend: "/" }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}, {% endunless %}
|
|
||||||
{% endfor %}
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if page.categories[0] %}
|
{% if page.categories[0] %}
|
||||||
{% if site.categories_archive_filename %}
|
{% include category-list.html %}
|
||||||
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}#{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
|
||||||
{% assign category_hashes = (page_categories | split: ',' | sort:0) %}
|
|
||||||
|
|
||||||
<p class="page__taxonomy"><strong>{{ site.data.ui-text[site.locale].categories_label }}</strong> <span itemprop="keywords">
|
|
||||||
{% for hash in category_hashes %}
|
|
||||||
{% assign keyValue = hash | split: '#' %}
|
|
||||||
{% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
|
||||||
<a href="{{ base_path }}{{ category_word | slugify | prepend: '/#' | prepend: site.categories_archive_filename | prepend: "/" }}" class="page__taxonomy-item" rel="tag">{{ category_word }}</a>{% unless forloop.last %}, {% endunless %}
|
|
||||||
{% endfor %}
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
26
_includes/tag-list.html
Normal file
26
_includes/tag-list.html
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{% include base_path %}
|
||||||
|
|
||||||
|
{% case site.tags.type %}
|
||||||
|
{% when "liquid" %}
|
||||||
|
{% assign path_type = "#" %}
|
||||||
|
{% when "jekyll-archives" %}
|
||||||
|
{% assign path_type = nil %}
|
||||||
|
{% endcase %}
|
||||||
|
|
||||||
|
{% if site.tags.path %}
|
||||||
|
{% comment %}
|
||||||
|
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
|
||||||
|
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
||||||
|
{% endcomment %}
|
||||||
|
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
||||||
|
{% assign tag_hashes = (page_tags | split: ',' | sort:0) %}
|
||||||
|
|
||||||
|
<p class="page__taxonomy"><strong>{{ site.data.ui-text[site.locale].tags_label }}</strong> <span itemprop="keywords">
|
||||||
|
{% for hash in tag_hashes %}
|
||||||
|
{% assign keyValue = hash | split: '#' %}
|
||||||
|
{% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
||||||
|
<a href="{{ base_path }}{{ tag_word | slugify | prepend: path_type | prepend: site.tags.path }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}, {% endunless %}
|
||||||
|
{% endfor %}
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
12
_layouts/archive-taxonomy.html
Normal file
12
_layouts/archive-taxonomy.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
layout: default
|
||||||
|
author_profile: false
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="archive">
|
||||||
|
<h1 class="page__title">{{ page.title }}</h1>
|
||||||
|
{% include base_path %}
|
||||||
|
{% for post in page.posts %}
|
||||||
|
{% include archive-list-single.html %}
|
||||||
|
{% endfor %}
|
||||||
|
</div><!-- /.archive -->
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
layout: archive
|
layout: archive
|
||||||
permalink: /category-archive/
|
permalink: /categories/
|
||||||
title: "Posts by Category"
|
title: "Posts by Category"
|
||||||
author_profile: false
|
author_profile: false
|
||||||
---
|
---
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
layout: archive
|
layout: archive
|
||||||
permalink: /tag-archive/
|
permalink: /tags/
|
||||||
title: "Posts by Tags"
|
title: "Posts by Tags"
|
||||||
author_profile: false
|
author_profile: false
|
||||||
---
|
---
|
||||||
|
|
Loading…
Reference in a new issue