diff --git a/package-lock.json b/package-lock.json index 10985ed..5183a40 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2154,6 +2154,21 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, "moment": { "version": "2.22.2", "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", diff --git a/package.json b/package.json index aa0e2ed..91b6c2e 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "ical-generator": "^1.0.4", "less-middleware": "~3.0.1", "markdown-it": "^8.4.2", + "mkdirp": "^0.5.1", "moment": "^2.22.2", "morgan": "~1.9.0", "mysql": "^2.16.0", diff --git a/prepare.js b/prepare.js index bfed69c..b49b8a4 100644 --- a/prepare.js +++ b/prepare.js @@ -1,11 +1,14 @@ let fs = require("fs"); let path = require("path"); +let mkdirp = require("mkdirp"); const staticDir = path.join(__dirname, "static"); module.exports = (app) => { function renderAndSave(file, template, options) { file = path.join(staticDir, file); + mkdirp.sync(path.join(file, "..")); + options.layout = "html"; app.render(template, options, (e, r) => { if (e) return fs.writeFile(file, "Something went wrong!

Something went wrong!

Could not render this page! Please contact the administrator!

", () => undefined); return fs.writeFile(file, r, () => undefined); @@ -18,8 +21,15 @@ module.exports = (app) => { ["index.htm", "linkList", { title: "Key Server of banananet.work", links: [ - {href: "/ssh", name: "All SSH Keys"}, + {href: "/ssh/", name: "Public SSH Keys"}, ], }], + ["ssh/index.htm", "linkList", { + title: "SSH Keys of banananet.work", + links: [ + {href: "/ssh/user", name: "Get all user keys"}, + {href: "/ssh/user/ca", name: "Get Certificate Authorities"} + ] + }], ].forEach(e => renderAndSave(e[0], e[1], e[2])); }; \ No newline at end of file