diff --git a/resources/misuse.js b/resources/misuse.js
new file mode 100644
index 0000000..e69de29
diff --git a/resources/misuses.txt b/resources/misuses.txt
new file mode 100644
index 0000000..e69de29
diff --git a/resources/template.html b/resources/template.html
index fad3326..7ddd409 100644
--- a/resources/template.html
+++ b/resources/template.html
@@ -1,6 +1,7 @@
+ %MISUSE%
NoteHub — %TITLE%
diff --git a/server.js b/server.js
index 2030997..51b29ae 100644
--- a/server.js
+++ b/server.js
@@ -147,7 +147,7 @@ app.get(/\/([a-z0-9]+)/, function(req, res) {
var sendResponse = (res, code, message) => {
log("sending response", code, message);
- res.status(code).send(view.renderPage(message, "" + message + "
", ""));
+ res.status(code).send(view.renderPage(null, message, "" + message + "
", ""));
}
var notFound = res => sendResponse(res, 404, "Not found");
diff --git a/src/view.js b/src/view.js
index df81a65..625f468 100644
--- a/src/view.js
+++ b/src/view.js
@@ -4,19 +4,22 @@ var fs = require("fs");
var pageTemplate = fs.readFileSync("resources/template.html", "utf-8");
var footerTemplate = fs.readFileSync("resources/footer.html", "utf-8");
var editTemplate = fs.readFileSync("resources/edit.html", "utf-8");
+var misuseScript = fs.readFileSync("resources/misuse.js", "utf-8");
+var misuses = new Set(fs.readFileSync("resources/misuses.txt", "utf-8").split(/\s+/));
var deriveTitle = text => text
.split(/[\n\r]/)[0].slice(0,25)
.replace(/[^a-zA-Z0-9\s]/g, "");
-var renderPage = (title, content, footer) => pageTemplate
+var renderPage = (id, title, content, footer) => pageTemplate
+ .replace("%MISUSE%", misuses.has(id) ? misuseScript : "")
.replace("%TITLE%", title)
.replace("%CONTENT%", content)
.replace("%FOOTER%", footer);
module.exports.renderPage = renderPage;
-module.exports.renderStats = note => renderPage(deriveTitle(note.text),
+module.exports.renderStats = note => renderPage(note.id, deriveTitle(note.text),
`Statistics
| Published | ${note.published} |
@@ -25,7 +28,7 @@ module.exports.renderStats = note => renderPage(deriveTitle(note.text),
`,
"");
-module.exports.renderNote = note => renderPage(deriveTitle(note.text),
+module.exports.renderNote = note => renderPage(note.id, deriveTitle(note.text),
marked(note.text),
footerTemplate.replace(/%LINK%/g, note.id));