Add tags listing
1 file changed, 21 insertions(+), 1 deletion(-)
changed files
M src/responders.js → 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 @@ layout: templateReader("layout.html"), home: templateReader("home.html", baseIndentLevel), post: templateReader("post.html", baseIndentLevel), list: templateReader("list.html", baseIndentLevel), + tags: templateReader("tags.html", baseIndentLevel), feed: templateReader("feed.xml") };@@ -131,6 +134,23 @@ config, Case.title(listName), hyperfast(templates.list, { ".h-entry": posts.map(renderPost(ctx)) + }) + ); + }, + + 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) + } + })) }) ); },