Skip to content

Commit

Permalink
Merge dd6d6f0 into cfd1655
Browse files Browse the repository at this point in the history
  • Loading branch information
XhmikosR committed Apr 16, 2020
2 parents cfd1655 + dd6d6f0 commit fcd3881
Show file tree
Hide file tree
Showing 17 changed files with 75 additions and 85 deletions.
85 changes: 60 additions & 25 deletions lib/helpers.js
Expand Up @@ -28,31 +28,6 @@ function generateSri(file, fromString) {
return SRI_CACHE[file];
}

function selectedTheme(selected) {
if (typeof selected === 'undefined' || selected === '') {
return app.theme;
}

const theme = Number.parseInt(selected, 10);

return theme === 0 || theme ?
theme :
app.theme;
}

function getTheme(selected) {
const { themes } = files.bootswatch4;

selected = selectedTheme(selected);

return {
uri: files.bootswatch4.bootstrap
.replace('SWATCH_VERSION', files.bootswatch4.version)
.replace('SWATCH_NAME', themes[selected].name),
sri: themes[selected].sri
};
}

function generateDataJson() {
const data = {
timestamp: new Date().toISOString(),
Expand Down Expand Up @@ -106,7 +81,67 @@ function generateBodyClass(pathname) {
return `page-${pathname}`;
}

function selectedTheme(selected) {
if (typeof selected === 'undefined' || selected === '') {
return app.theme;
}

const theme = Number.parseInt(selected, 10);

return theme === 0 || theme ?
theme :
app.theme;
}

function getTheme(selected) {
const { themes } = files.bootswatch4;

selected = selectedTheme(selected);

return {
uri: files.bootswatch4.bootstrap
.replace('SWATCH_VERSION', files.bootswatch4.version)
.replace('SWATCH_NAME', themes[selected].name),
sri: themes[selected].sri
};
}

function getThemeQuery(req) {
const totalThemes = files.bootswatch4.themes.length;
const query = req.query.theme;

// Safety checks
if (Number.isNaN(query) || query < 0 || query >= totalThemes) {
return '';
}

return query;
}

function appendLocals(req, res) {
const siteUrl = getCurrentSiteurl(req);
const pageUrl = req.originalUrl;
// OK, hack-ish way...
const pathname = pageUrl.split('?')[0];
const canonicalUrl = new URL(pathname, app.siteurl);
const theme = getThemeQuery(req);
const bodyClass = generateBodyClass(pathname);

const locals = {
siteUrl,
canonicalUrl,
pageUrl,
theme,
bodyClass
};

res.locals = Object.assign(res.locals, locals);

return res;
}

module.exports = {
appendLocals,
capitalize,
generateDataJson,
theme: {
Expand Down
2 changes: 1 addition & 1 deletion routes/404.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/about.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
45 changes: 0 additions & 45 deletions routes/appendLocals.js

This file was deleted.

2 changes: 1 addition & 1 deletion routes/books.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/bootlint.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/bootswatch.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/bootswatch4.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/fontawesome.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/home.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/integrations.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/jobs.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/legacy.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/privacyPolicy.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/redirectToRoot.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/showcase.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion routes/themes.js
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const appendLocals = require('./appendLocals');
const { appendLocals } = require('../lib/helpers');

const router = express.Router();

Expand Down

0 comments on commit fcd3881

Please sign in to comment.