diff --git a/index.js b/index.js index 97320a6..c35b6b9 100644 --- a/index.js +++ b/index.js @@ -1,10 +1,12 @@ -const nunjucks = require('nunjucks'); -const express = require('express'); -const viewModel = require('./viewModels'); -const app = express(); -const port = process.env.port || 3000; +const nunjucks = require('nunjucks'); +const express = require('express'); +const nunjuckFilters = require('./lib/nunjuck-filters'); +const viewModel = require('./viewModels'); +const app = express(); +const port = process.env.port || 3000; app.set('nunjucksEnv', nunjucks.configure('views', { express: app })); +nunjuckFilters(app); app.use((req, res, next) => { req.app.settings.nunjucksEnv diff --git a/lib/nunjuck-filters.js b/lib/nunjuck-filters.js new file mode 100644 index 0000000..797dbd7 --- /dev/null +++ b/lib/nunjuck-filters.js @@ -0,0 +1,9 @@ +const humanize = require('humanize'); + +const filters = { + bandwidth: node => `${humanize.filesize(node.advertised_bandwidth)}/s` +}; + +module.exports = app => Object.keys(filters).forEach(filter => { + app.settings.nunjucksEnv.addFilter(filter, filters[filter]) +}); diff --git a/package.json b/package.json index 5bb0a2a..a2bbdc0 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "main": "index.js", "dependencies": { "express": "^4.14.0", + "humanize": "0.0.9", "nunjucks": "^2.4.2", "onionoo": "^0.3.1" }, diff --git a/views/listing.html b/views/listing.html index c7a7c1b..c77bde2 100644 --- a/views/listing.html +++ b/views/listing.html @@ -16,7 +16,7 @@ {% for node in nodes %}