diff --git a/content/authors.json b/content/authors.json new file mode 100644 index 0000000000000000000000000000000000000000..c689d3f92f7a533dc937bbb6a2be050ce5bd44fb --- /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 a716374422f4dd087c7c9b385543732a1633895e..ccb20cdf1732ba6075cb83c7c40d41306c5b4dcc 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 3a330ea7f3518b706c5aad006f532e1e0007261b..892857c12c9bbbb2f684136a14fbc06f06a3519b 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 87e2277d7bdc30875af48938d385e5e4a181df11..bb1d6f22b553f02a2c5dccc5fa2912d58141d473 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>