From 55e96d50df8e10c30e1e6ca8909f6f736f225d2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isabella=20Sko=C5=99epov=C3=A1?= <isabella@skorepova.info> Date: Wed, 6 Nov 2019 19:23:28 +0100 Subject: [PATCH] =?UTF-8?q?P=C5=99echylov=C3=A1n=C3=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/authors.json | 13 +++++++++++++ sitegin/parseHugo.js | 20 ++++++++++++++++++-- theme/templates/article.html.nunj | 4 ++-- theme/templates/partials/list.html.nunj | 2 +- 4 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 content/authors.json diff --git a/content/authors.json b/content/authors.json new file mode 100644 index 00000000..c689d3f9 --- /dev/null +++ b/content/authors.json @@ -0,0 +1,13 @@ +[ + { "name": "Martin VĂtek", "gender": "M" }, + { "name": "Isabella SkoĹ™epová", "gender": "F" }, + { "name": "Vláďa, OK1FIK", "gender": "M" }, + { "name": "Jirka, OK1UBO", "gender": "M" }, + { "name": "Michal, OK1WMR", "gender": "M" }, + { "name": "ZdenÄ›k, OK1ZES", "gender": "M" }, + { "name": "MĂra, OK7KM", "gender": "M" }, + { "name": "Administrator", "gender": "M" }, + { "name": "Vašek Král", "gender": "M" }, + { "name": "Petr, OK1WPN", "gender": "M" }, + { "name": "OK1GP, OK1UBO", "gender": "M" } +] diff --git a/sitegin/parseHugo.js b/sitegin/parseHugo.js index a7163744..ccb20cdf 100644 --- a/sitegin/parseHugo.js +++ b/sitegin/parseHugo.js @@ -1,8 +1,10 @@ const toml = require('toml') const moment = require('moment') const jsesc = require('jsesc') +const fs = require('fs') +const path = require('path') -const readPageWorker = (content_, obj) => { +const readPageWorker = (content_, obj, authors) => { let content = content_ if (content === undefined) throw new Error('content is undefined') const headLength = content.indexOf('\n') + 1 @@ -30,15 +32,29 @@ const readPageWorker = (content_, obj) => { // eslint-disable-next-line no-param-reassign obj.metadata.published = moment(obj.metadata.published) } + if (obj.metadata.author) { + const author = obj.metadata.author + // eslint-disable-next-line no-param-reassign + obj.metadata.author = authors.get(author) || { name: author } + } return obj } module.exports = obj => { console.log('Build step: ParseHugo') + const authors = new Map() + JSON.parse( + fs.readFileSync( + path.join(obj.config.options.contentdir, 'authors.json'), + 'utf8', + ), + ).forEach(author => { + authors.set(author.name, author) + }) return new Promise(resolve => { const pages = [] obj.pages.forEach(page => { - pages.push(readPageWorker(page.content, page)) + pages.push(readPageWorker(page.content, page, authors)) }) // eslint-disable-next-line no-param-reassign obj.pages = pages diff --git a/theme/templates/article.html.nunj b/theme/templates/article.html.nunj index 3a330ea7..892857c1 100644 --- a/theme/templates/article.html.nunj +++ b/theme/templates/article.html.nunj @@ -45,8 +45,8 @@ <a class="author" style="color: #a2a2a2; display: block" class="black-text" target="_blank" href="https://git.ok1kvk.cz/ok1kvk.cz/content/tree/master/articles/{{file | replace("clanek/","") | replace(r/\/$/, "")}}.md"> {% if metadata.published %} <span style="color: #626262">{{ metadata.published | date("D. M. YYYY") }}</span> - napsal - <span style="color: #626262">{{ metadata.author }}</span> + napsal{% if metadata.author.gender == "F" %}a{% endif %} + <span style="color: #626262">{{ metadata.author.name }}</span> {% else %} ÄŚlánek nebyl publikován {% endif %} diff --git a/theme/templates/partials/list.html.nunj b/theme/templates/partials/list.html.nunj index 87e2277d..bb1d6f22 100644 --- a/theme/templates/partials/list.html.nunj +++ b/theme/templates/partials/list.html.nunj @@ -39,7 +39,7 @@ </div> <div class="clear"></div> <div style="padding: 10px;" class="head-info"> - <span style="color: #a2a2a2; text-align: left;display: inline-block;width: 75%;">{{ page.metadata.published | date("D. M. YYYY") }} napsal {{ page.metadata.author }}</span><!-- + <span style="color: #a2a2a2; text-align: left;display: inline-block;width: 75%;">{{ page.metadata.published | date("D. M. YYYY") }} napsal{% if page.metadata.author.gender == "F" %}a{% endif %} {{ page.metadata.author.name }}</span><!-- --><a style="text-align: right;display: inline-block;width: 25%;" href="{{ config.baseurl }}/{{ page.file }}">ÄŚĂst dál</a> </div> </div> -- GitLab