From 529946dc5bdccc2153c97e2040953047319480f4 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Tue, 3 Oct 2017 17:28:29 +0200 Subject: Add tags listing --- src/responders.js | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/responders.js') diff --git a/src/responders.js b/src/responders.js index f4ea0a6..8260734 100644 --- a/src/responders.js +++ b/src/responders.js @@ -27,7 +27,9 @@ const postIndentLevel = baseIndentLevel + getTemplateIndent(findPostContent, "post.html"); function indentForTemplate(text, indentLevel = 0) { - return indent(text, indentLevel).slice(indentLevel).replace(/\n+$/, ""); + return indent(text, indentLevel) + .slice(indentLevel) + .replace(/\n+$/, ""); } function templateReader(template, indentLevel) { @@ -39,6 +41,7 @@ const templates = { home: templateReader("home.html", baseIndentLevel), post: templateReader("post.html", baseIndentLevel), list: templateReader("list.html", baseIndentLevel), + tags: templateReader("tags.html", baseIndentLevel), feed: templateReader("feed.xml") }; @@ -135,6 +138,23 @@ module.exports = { ); }, + tags(ctx, config, { tags }) { + ctx.type = "html"; + + ctx.body = layout( + config, + "Tags", + hyperfast(templates.tags, { + ".tag": Array.from(tags).map(tag => ({ + ".u-url": { + href: ctx.getURL("tag", tag), + _text: Case.title(tag) + } + })) + }) + ); + }, + post(ctx, config, { post }) { ctx.type = "html"; -- cgit 1.4.1