Skip to content
Snippets Groups Projects
Commit cf234faa authored by Lehtinen Teemu's avatar Lehtinen Teemu
Browse files

Refactor common templates to content type

parent 7e8efcea
No related branches found
No related tags found
No related merge requests found
/* global module, require, __dirname, console */
/* global module, require, console */
/* jshint globalstrict: true */
'use strict';
let nj = require('nunjucks');
let Package = function () {};
let baseDir = __dirname;
let content = require('./content');
Package.meta = {
......@@ -29,25 +27,9 @@ Package.register = function (handlers, app, conf) {
};
Package.initialize = function (req, params, handlers, cb) {
let templateDir = baseDir + '/templates/';
nj.configure(templateDir, { autoescape: false });
let config = content[params.name];
config.abFlag = params.abFlag;
if (config.template) {
config.html = nj.render(config.template, config);
}
let templateParam = {
id: 'acos-webdev-inspector-' + params.name,
config: JSON.stringify(config),
script: typeof(config.script) == 'function' ? config.script.toString() : undefined,
points: typeof(config.points) == 'function' ? config.points.toString() : undefined
};
params.headContent += nj.render('head.html', templateParam);
params.bodyContent += nj.render('body.html', templateParam);
cb();
config.resetButton = true;
cb(config);
};
module.exports = Package;
<div id="{{ id }}" class="acos-webdev-exercise acos-webdev-inspector">
<div class="guide-column">
<p class="instructions"></p>
<div class="state">
<div class="points"></div>
</div>
<div class="toolbar">
<button class="reset-button">Reset</button>
</div>
</div>
<div class="exercise"></div>
</div>
<script>
$(document).ready(function () {
new ACOSWebdev(
$('#{{ id }}'),
{{ config }},
{% if points %}{{ points }}{% else %}undefined{% endif %}
);
});
{% if script %}{{ script }}{% endif %}
</script>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment