all repos — archive/homestead @ ab3c5ffb57980359a186936aa6fc2894f58eb625

My future indieweb platform

feat(taxon): Show taxonomy term in title

Alan Pearce
commit

ab3c5ffb57980359a186936aa6fc2894f58eb625

parent

e4e26ceca7bfe60185082748c54f7ccd30746350

6 files changed, 20 insertions(+), 12 deletions(-)

changed files
M package.jsonpackage.json
@@ -44,6 +44,7 @@ "standard": "^10.0.2",
"supertest": "^3.0.0" }, "dependencies": { + "case": "^1.5.2", "configly": "^4.1.0", "gray-matter": "^2.1.1", "hyperfast": "^2.1.0",
M src/actions.jssrc/actions.js
@@ -26,7 +26,7 @@ ctx.assert(items.has(ctx.params.value), 404, `${term} ${value} not found`);
const taxonItems = items.get(value); - responders.taxon(ctx, config, taxonItems); + responders.taxon(ctx, config, term, value, taxonItems); }; }
M src/responders.jssrc/responders.js
@@ -1,6 +1,7 @@
"use strict"; const fs = require("fs"); +const Case = require("case"); const hyperfast = require("hyperfast"); const indent = require("indent-string");
@@ -86,12 +87,12 @@ })
); }, - taxon(ctx, config, taxonItems) { + taxon(ctx, config, term, value, taxonItems) { ctx.type = "html"; ctx.body = layout( config, - null, + Case.title(value), hyperfast(templates.taxon, { ".post": taxonItems.map(renderPostListItem(ctx)) })
M src/templates/taxon.htmlsrc/templates/taxon.html
@@ -1,7 +1,5 @@
-<main class="taxon"> - <ul class="posts"> - <li class="post"> - <a href="/">Test post please ignore</a> - </li> - </ul> -</main> +<ul class="posts"> + <li class="post"> + <a href="/">Test post please ignore</a> + </li> +</ul>
M test/app.test.jstest/app.test.js
@@ -89,8 +89,12 @@ test("tags", t => {
return request(app.listen()) .get("/tag/a") .expect(200) - .expect(/This is a test/) - .then(() => t.pass()); + .expect(/^<!DOCTYPE html>/) + .then(parseResponse) + .then($ => { + t.is($("head > title").text(), "A · John Doe"); + t.is($(".post a").text(), "This is a test"); + }); }); test("tags not found", t =>
M yarn.lockyarn.lock
@@ -793,6 +793,10 @@ dependencies:
ansicolors "~0.2.1" redeyed "~1.0.0" +case@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/case/-/case-1.5.2.tgz#28e8dbdd1312c5d55f344d44240689b92e0da168" + caseless@~0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"