From 3a04cb197f152f171fba679663a91a9bb61d710e Mon Sep 17 00:00:00 2001 From: Minteck Date: Fri, 21 Jan 2022 14:39:46 +0100 Subject: Add config management --- modules/publishtag.js | 16 ++++++++++++++++ modules/removesm.js | 9 +++++++++ modules/removesubsm.js | 9 +++++++++ modules/uniqueid.js | 12 +++++++++++- 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 modules/publishtag.js create mode 100644 modules/removesm.js create mode 100644 modules/removesubsm.js (limited to 'modules') diff --git a/modules/publishtag.js b/modules/publishtag.js new file mode 100644 index 0000000..9828443 --- /dev/null +++ b/modules/publishtag.js @@ -0,0 +1,16 @@ +const fs = require('fs'); + +module.exports = (file) => { + file = fs.readFileSync(file).toString(); + try { + frontmatter = file.split("---")[1].trim() + lines = frontmatter.replaceAll("\r\n", "\n").split("\n"); + if (lines.map(i => i.trim()).includes("publish: true") || lines.map(i => i.trim()).includes("publish : true") || lines.map(i => i.trim()).includes("publish :true")) { + return true; + } else { + return false; + } + } catch (e) { + return false; + } +} \ No newline at end of file diff --git a/modules/removesm.js b/modules/removesm.js new file mode 100644 index 0000000..1f83c02 --- /dev/null +++ b/modules/removesm.js @@ -0,0 +1,9 @@ +module.exports = (id) => { + lines = sitemap.split("\n"); + for (let index in lines) { + if (lines[index].includes(id)) { + delete lines[index]; + } + } + global.sitemap = lines.filter(i => i).join("\n"); +} \ No newline at end of file diff --git a/modules/removesubsm.js b/modules/removesubsm.js new file mode 100644 index 0000000..0fd7eef --- /dev/null +++ b/modules/removesubsm.js @@ -0,0 +1,9 @@ +module.exports = (rid, sid) => { + lines = sitemaps[sid].split("\n"); + for (let index in lines) { + if (lines[index].includes(id)) { + delete lines[index]; + } + } + global.sitemaps[sid] = lines.filter(i => i).join("\n"); +} \ No newline at end of file diff --git a/modules/uniqueid.js b/modules/uniqueid.js index cbf4965..f0494e9 100644 --- a/modules/uniqueid.js +++ b/modules/uniqueid.js @@ -6,6 +6,16 @@ module.exports = function DocCMSUniqueID(file) { } else { salt = crypto.randomBytes(64).toString("hex"); } + + switch (config.pages_id_generator) { + case "snowflake": + default: + return parseInt(crypto.createHash("sha512").update(salt, "utf-8").digest("hex").substring(0, 16), 16).toString().substring(0, 18); + + case "md5": + return crypto.createHash("md5").update(salt, "utf-8").digest("hex"); - return parseInt(crypto.createHash("sha512").update(salt, "utf-8").digest("hex").substring(0, 16), 16).toString().substring(0, 18); + case "sha256": + return crypto.createHash("sha256").update(salt, "utf-8").digest("hex"); + } } \ No newline at end of file -- cgit