Remove our categorization hack, and add category view pages instead.
This commit is contained in:
parent
6c9765d3d5
commit
e3ca9952b8
|
@ -21,3 +21,11 @@ timezone: America/New_York
|
||||||
|
|
||||||
# Build settings
|
# Build settings
|
||||||
markdown: kramdown
|
markdown: kramdown
|
||||||
|
|
||||||
|
|
||||||
|
# Category settings
|
||||||
|
category_titles:
|
||||||
|
-
|
||||||
|
technology: "Anna the Technologist"
|
||||||
|
media: "Anna the Player of Games"
|
||||||
|
religion: "Anna the Mystic"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<h1 class="page-heading">{{ include.category | capitalize }}</h1>
|
<h1 class="page-heading">{{ include.category | capitalize }}</h1>
|
||||||
|
|
||||||
<ul class="post-list">
|
<ul class="post-list">
|
||||||
{% for post in site.categories[include.category] limit:5 %}
|
{% for post in site.categories[include.category] limit:include.limit %}
|
||||||
<li>
|
<li>
|
||||||
<span class="post-meta">{{ post.date | date: "%Y-%m-%d" }}</span>
|
<span class="post-meta">{{ post.date | date: "%Y-%m-%d" }}</span>
|
||||||
<h2>
|
<h2>
|
||||||
|
|
14
_layouts/category_index.html
Normal file
14
_layouts/category_index.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
layout: default
|
||||||
|
---
|
||||||
|
<article class="post">
|
||||||
|
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title">{{ page.title }}</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="post-content">
|
||||||
|
{% include category_list.html category=page.data['category'] limit=0 %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</article>
|
|
@ -1,9 +0,0 @@
|
||||||
# Very simple plugin that adds a subdirectory under _posts as a category
|
|
||||||
|
|
||||||
def get_category_from_subdir(path)
|
|
||||||
path.sub(/^.*_posts\/(.*?)\/.*$/, "\\1")
|
|
||||||
end
|
|
||||||
|
|
||||||
Jekyll::Hooks.register :posts, :pre_render do |post, payload|
|
|
||||||
post.data['categories'] << get_category_from_subdir(post.path)
|
|
||||||
end
|
|
30
_plugins/category_page.rb
Normal file
30
_plugins/category_page.rb
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
class CategoryPage < Jekyll::Page
|
||||||
|
def initialize(site, base, dir, category)
|
||||||
|
@site = site
|
||||||
|
@base = base
|
||||||
|
@dir = dir
|
||||||
|
@name = 'index.html'
|
||||||
|
|
||||||
|
self.process(@name)
|
||||||
|
self.read_yaml(File.join(base, '_layouts'), 'category_index.html')
|
||||||
|
self.data['category'] = category
|
||||||
|
|
||||||
|
category_title = site.config['category_titles'][category] || category.capitalize
|
||||||
|
self.data['title'] = "#{category_title}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class CategoryPageGenerator < Jekyll::Generator
|
||||||
|
safe true
|
||||||
|
|
||||||
|
def generate(site)
|
||||||
|
if !site.layouts.key? 'category_index'
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
site.categories.each_key do |category|
|
||||||
|
site.pages << CategoryPage.new(site, site.source, category, category)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
25
_sass/_columns.scss
Normal file
25
_sass/_columns.scss
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/* For dynamically determined columnar formatting.
|
||||||
|
Currently supports equal-width, 1-4 column layouts.
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.column {
|
||||||
|
float: left;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col-1 {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.col-2 {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
.col-3 {
|
||||||
|
width: 33%;
|
||||||
|
}
|
||||||
|
.col-4 {
|
||||||
|
width: 25%;
|
||||||
|
}
|
|
@ -5,7 +5,7 @@ layout: default
|
||||||
{% for category in site.categories %}
|
{% for category in site.categories %}
|
||||||
{% if category.first == "meta" %} {% continue %} {% endif %}
|
{% if category.first == "meta" %} {% continue %} {% endif %}
|
||||||
<div class="column col-{{site.categories.size | minus: 1}}">
|
<div class="column col-{{site.categories.size | minus: 1}}">
|
||||||
{% include category_list.html category=category.first %}
|
{% include category_list.html category=category.first limit=5 %}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user