-
-
Save alexyoung/143571 to your computer and use it in GitHub Desktop.
A way to do this jekyll only (without ruby), works on github, for example:
---
layout: default
title: Fastr Blog
---
<h2>Categories:</h2>
<ul>
{% for category in site.categories %}
<li><a href="#{{ category | first }}">{{ category | first }}</a></li>
{% endfor %}
</ul>
<h2>Articles by Category:</h2>
<ul>
{% for category in site.categories %}
<li><a name="{{ category | first }}">{{ category | first }}</a>
<ul>
{% for posts in category %}
{% for post in posts %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
{% for post in site.categories.quickstart %}
<!-- h2><a href=".{{ post.url }}">{{ post.title }}</a></h2 -->
<!-- {{ post.content }} -->
{% endfor %}
Page generated: {{ site.time | date_to_string }}
I posted to the jekyll mailing list to find out how to get the name of category
so that I don't have to hackishly treat it as an array, but no answer yet.
@coolja86 - That's fantastic! I had something similar working before I upgraded to Jekyll 0.6.2, but something in one of the intervening versions messed up the site.tags
hash. Your hackish array treatment works almost perfectly.
One question… have you figured out a way to sort the tags? I used to be able to use for tags in site.tags|sort
and that was it, but it doesn't work anymore. Have you had any luck?
Thanks!
I tried a few things, but I couldn't get it to work. Any progress?
After trying to make some Liquid filters, I finally got it to work using a patch to the Jekyll core. If you add elstudio's patch (http://github.com/mojombo/jekyll/issuesearch?state=open&q=sort+#issue/58), it sorts the tags hash using RBTree (you'll have to install that gem). Your tags should be sorted without any modification to your code.
^_^