Sticky Posts in Octopress

Der Artikel beschreibt, wie man Beiträge in Octopress so markieren kann, dass sie in der Liste aller Beiträge immer oben erscheinen.

Das Problem

Octopress kann aktuell Beiträge einer Kategorie nur nach Datum sortiert auflisten. Die Beiträge der Kategorie Octopress ist über die Adresse blog/categories/octopress erreichbar. Nun gibt es vielleicht Beiträge die eine Einführung zum Thema bieten oder aus anderem Grunde ständig aktuell bleiben. Solche Beiträge würde ich gerne als sticky kennzeichnen, das heisst, sie sollen immer oben in der Liste erscheinen.

Die Idee

Am elegantesten ist es, ein eigenen Tag sticky zu definieren, der direkt im Markdown-Dokument des Posts Verwendung findet. Das würde für diese Seite so aussehen (Zeile 6):

---
layout: post
title: "Sticky Posts in Octopress"
date: 2014-01-28 12:08:08 +0100
comments: true
sticky: true
categories: 
- Octopress
---

[...]

Die Umsetzung

Auf den Tag kann direkt über post.sticky zugegriffen werden. Um diesen bei der Erstellung der Kategorieseiten zu berücksichtigen, müssen zwei Dateien verändert werden:

{% include_code lang:diff octopress/0001-Implemented-sticky-posts.patch %}

Da in den meisten Artikeln das sticky Tag wohl gar nicht definiert sein dürfte, darf post.sticky nur auf true aber nicht auf false überprüft werden.

Das Ergebnis

Verwendung findet das sticky Tag zum Beispiel auf dieser Webseite in der Kategorie VDR Fritz-Plugin (Update: Link entfernt, da meine Webseite mittlerweile nicht mehr mit Octopress generiert wird). Die Beiträge Beschreibung und Screenshot sind sticky und werden entsprechend zuoberst gelistet.