From 448c460abc00154e0a9fd5ef6cef85b70ca336fb Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Fri, 11 May 2018 15:13:25 +0200 Subject: [PATCH] header and footer --- dist/main.js | 7 +++--- dist/main.js.map | 2 +- docroot/index.pag | 2 -- docroot/master.tmpl | 19 +++++++++++++-- docroot/pages/impressum.pag | 4 ++++ files/cropped-img_2723.jpg | Bin 0 -> 43619 bytes files/default.css | 45 ++++++++++++++++++++++++++++++++++-- src/main.ts | 8 +++---- 8 files changed, 72 insertions(+), 15 deletions(-) create mode 100644 docroot/pages/impressum.pag create mode 100644 files/cropped-img_2723.jpg diff --git a/dist/main.js b/dist/main.js index f05db75..77b2fd3 100644 --- a/dist/main.js +++ b/dist/main.js @@ -71,15 +71,14 @@ app.engine('pag', (filePath, options, callback) => { app.set('views', './docroot'); app.set('view engine', 'pag'); app.get('/index', (req, res) => { - logger.info(req.url); - logger.info(req.baseUrl); - logger.info(req.originalUrl); - // logger.info(JSON.stringify(req.headers)) res.render('index', { "base": req.headers['x-proxy-original-url'] || "/" }); }); app.get('/posts/:date', (req, res) => { res.render(`posts/${req.params.date}/article`, { "base": req.headers['x-proxy-original-url'] || "/" }); }); +app.get('/pages/:file', (req, res) => { + res.render(`pages/${req.params.file}`, { "base": req.headers['x-proxy-original-url'] || "/" }); +}); app.get('/', (req, res) => { res.send('Hello world!'); }); diff --git a/dist/main.js.map b/dist/main.js.map index 2241a26..419992f 100644 --- a/dist/main.js.map +++ b/dist/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docroot/index.pag b/docroot/index.pag index 365f8f8..436e66e 100644 --- a/docroot/index.pag +++ b/docroot/index.pag @@ -1,5 +1,3 @@

Index

-BlaBla -#bla# #toc# \ No newline at end of file diff --git a/docroot/master.tmpl b/docroot/master.tmpl index 276319f..085a036 100644 --- a/docroot/master.tmpl +++ b/docroot/master.tmpl @@ -8,8 +8,23 @@ -
- #maincontent# +
+

Projects - just for fun

+
+ +
+ Home + Impressum +
+ +
+
+ #maincontent# +
+
+ + diff --git a/docroot/pages/impressum.pag b/docroot/pages/impressum.pag new file mode 100644 index 0000000..91c28e0 --- /dev/null +++ b/docroot/pages/impressum.pag @@ -0,0 +1,4 @@ + +

Impressum

+ +Wolfgang Hottgenroth diff --git a/files/cropped-img_2723.jpg b/files/cropped-img_2723.jpg new file mode 100644 index 0000000000000000000000000000000000000000..07b0a5df1aeee76f3264cf3d24b868502f102a68 GIT binary patch literal 43619 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 ?pVS5{!W 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 ZDNK9$9dShzSOgK|;DCLoqKc~l|Jhl)pN;?k literal 0 HcmV?d00001 diff --git a/files/default.css b/files/default.css index ec96aa4..1fc7403 100644 --- a/files/default.css +++ b/files/default.css @@ -1,7 +1,48 @@ body { - background-color: white; font-family: "verdana", sans-serif; font-size: 16px; + margin: 0 5% 0 5%; + width: 1080px; } - \ No newline at end of file +.header { + background-image: url("cropped-img_2723.jpg"); + padding: 20px; + text-align: center; + height: 250px; +} + +.topnav { + overflow: hidden; + background-color: #333; +} + +.topnav a { + float: left; + display: block; + color: #f2f2f2; + text-align: center; + padding: 14px 16px; + text-decoration: none; +} + +.topnav a:hover { + background-color: #ddd; + color: black; +} + +.main { + padding: 15px; +} + +.row:after { + content: ""; + display: table; + clear: both; +} + +.footer { + padding: 15px; + font-size: 12px; + background-color: #f1f1f1 +} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 4be0b0e..ec8e777 100644 --- a/src/main.ts +++ b/src/main.ts @@ -89,10 +89,6 @@ app.set('views', './docroot') app.set('view engine', 'pag') app.get('/index', (req, res) => { - logger.info(req.url) - logger.info(req.baseUrl) - logger.info(req.originalUrl) - // logger.info(JSON.stringify(req.headers)) res.render('index', { "base": req.headers['x-proxy-original-url'] || "/"}) }) @@ -100,6 +96,10 @@ app.get('/posts/:date', (req, res) => { res.render(`posts/${req.params.date}/article`, { "base": req.headers['x-proxy-original-url'] || "/"}) }) +app.get('/pages/:file', (req, res) => { + res.render(`pages/${req.params.file}`, { "base": req.headers['x-proxy-original-url'] || "/"}) +}) + app.get('/', (req, res) => { res.send('Hello world!') })