From 0dde930d6495267e8c3bdf6307e9b0fd0c69df25 Mon Sep 17 00:00:00 2001 From: Tom Raithel Date: Sun, 22 Jan 2017 22:29:02 +0100 Subject: [PATCH] Add simple templating with pug --- package.json | 1 + .../languages-and-frameworks/react.md | 14 -------------- .../languages-and-frameworks/react.md | 17 +---------------- scripts/radar.js | 15 +++++++-------- scripts/template.js | 6 ++++++ templates/item.pug | 19 +++++++++++++++++++ templates/layout.pug | 7 +++++++ 7 files changed, 41 insertions(+), 38 deletions(-) create mode 100644 scripts/template.js create mode 100644 templates/item.pug create mode 100644 templates/layout.pug diff --git a/package.json b/package.json index f01b098..c682e50 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "front-matter": "2.1.1", "fs-extra": "2.0.0", "marked": "0.3.6", + "pug": "2.0.0-beta6", "walk": "2.3.9" } } diff --git a/radar/2016-02-01/languages-and-frameworks/react.md b/radar/2016-02-01/languages-and-frameworks/react.md index 08aad1e..44777a0 100644 --- a/radar/2016-02-01/languages-and-frameworks/react.md +++ b/radar/2016-02-01/languages-and-frameworks/react.md @@ -10,17 +10,3 @@ Hier noch ein [link](http://www.google.de) zu google Hier steht der Rest! - -History -------- - -{% include - history-entry.html - ring="trial" - date="2017-12-10" - content="This is a history entry - - - Foo - - Bar - " -%} diff --git a/radar/2016-02-02/languages-and-frameworks/react.md b/radar/2016-02-02/languages-and-frameworks/react.md index 00f2914..e23b98d 100644 --- a/radar/2016-02-02/languages-and-frameworks/react.md +++ b/radar/2016-02-02/languages-and-frameworks/react.md @@ -3,24 +3,9 @@ title: "React" ring: trial --- -Hier steht eine Einleitung über *React* - super "cool" +React blablab *React* - super "cool" -Hier noch ein [link](http://www.google.de) zu google Hier steht der Rest! - -History -------- - -{% include - history-entry.html - ring="trial" - date="2017-12-10" - content="This is a history entry - - - Foo - - Bar - " -%} diff --git a/scripts/radar.js b/scripts/radar.js index 129f19d..a273c5b 100644 --- a/scripts/radar.js +++ b/scripts/radar.js @@ -4,6 +4,7 @@ import path from 'path'; import frontmatter from 'front-matter'; import marked from 'marked'; import { srcPath, distPath } from './file'; +import { item as itemTemplate } from './template'; export const createRadar = async (tree) => { const fileNames = await getAllMarkdownFiles(); @@ -52,7 +53,7 @@ const createRevisionsFromFiles = (fileNames) => ( ...itemInfoFromFilename(fileName), fileName, attributes: fm.attributes, - body: fm.body, + body: marked(fm.body), }); } }); @@ -98,6 +99,7 @@ const addRevisionToItem = (item = { ...rest, } = revision; return { + quadrant, attributes: { ...item.attributes, ...revision.attributes, @@ -111,20 +113,17 @@ export const outputRadar = (radar) => { return Promise.all( Object.entries(radar).map(([quadrantName, quadrant]) => ( Object.entries(quadrant).map(([itemName, item]) => ( - new Promise((resolve, reject) => ( - outputFile(distPath(quadrantName, `${itemName}.html`), getItemHtml(item), (err, data) => { + new Promise((resolve, reject) => { + console.log(JSON.stringify(item, null, 2)); + outputFile(distPath(quadrantName, `${itemName}.html`), itemTemplate(item), (err, data) => { if (err) { reject(err); } else { resolve(data); } }) - )) + }) )) )) ); }; - -const getItemHtml = (item) => (` -

${item.attributes.title}

-`) diff --git a/scripts/template.js b/scripts/template.js new file mode 100644 index 0000000..4f7a3ae --- /dev/null +++ b/scripts/template.js @@ -0,0 +1,6 @@ +import pug from 'pug'; +import { relativePath } from './file'; + +const templateFolder = 'templates'; + +export const item = pug.compileFile(relativePath(templateFolder, 'item.pug')); diff --git a/templates/item.pug b/templates/item.pug new file mode 100644 index 0000000..a47a270 --- /dev/null +++ b/templates/item.pug @@ -0,0 +1,19 @@ +extends layout.pug + +block content + a(href='/' + quadrant + '.html') #{quadrant} + h1 #{attributes.title} + = ' ' + small #{attributes.ring} + + hr + section + != revisions[0].body + hr + + ul + each revision, index in revisions + if index > 0 + li + = revision.version + != revision.body diff --git a/templates/layout.pug b/templates/layout.pug new file mode 100644 index 0000000..9d37ae1 --- /dev/null +++ b/templates/layout.pug @@ -0,0 +1,7 @@ +html + head + title #{attributes.title} - AOE Tech Radar + block scripts + script(src='/jquery.js') + body + block content