weblorg
weblorg copied to clipboard
As blogger I want to be able to categorize my posts, so that my posts be organized.
There are a few things we need in order to get this working:
-
the code for generating the pages for each category. the snippet below will generate a directory for each category name with an
index.htmlfile within it:(weblorg-route :name "categories" :input-pattern "posts/*.org" :input-aggregate #'weblorg-input-aggregate-by-category ;; also look at weblorg-input-aggregate-by-category-desc :template "category.html" :output "blog/{{ name }}/index.html" :url "/blog/{{ name }}") ;; the template will link to the `posts` route with `url_for`. (weblorg-route :name "posts" :input-pattern "posts/*.org" :template "post.html" :output "blog/{{ slug }}.html" :url "/blog/{{ slug }}.html") -
The
category.htmltemplate present in thetemplatespath (we don't have any themes shipping this file yet 😢){% extends "layout.html" %} {% block body %} <div class="title"><h1>{{ category.name }}</h1></div> <div class="content"> <ul> {% for post in category.posts %} <li> <span class="pubdate">{{ post.date }}</span> <a href="{{ url_for("posts", slug=post.slug) }}">{{ post.title }}</a> </li> {% endfor %} </ul> </div> {% endblock %}