summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/publishtag.js16
-rw-r--r--modules/removesm.js9
-rw-r--r--modules/removesubsm.js9
-rw-r--r--modules/uniqueid.js12
4 files changed, 45 insertions, 1 deletions
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