From fae7ae248c177b479a87ce6406fc2a78007f0343 Mon Sep 17 00:00:00 2001 From: Szymon Koscielniak Date: Wed, 18 Nov 2020 16:45:07 +0100 Subject: [PATCH] modified emptyOutputDir in a way that we can now avoid removing files listed in the settings. This is especially helpful when we share same repository and have nested websites / systems. --- app/back-end/modules/render-html/renderer.js | 12 ++++++++++++ app/src/components/Settings.vue | 20 +++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/app/back-end/modules/render-html/renderer.js b/app/back-end/modules/render-html/renderer.js index e5238dfd6..ff8589429 100644 --- a/app/back-end/modules/render-html/renderer.js +++ b/app/back-end/modules/render-html/renderer.js @@ -405,10 +405,22 @@ class Renderer { if (UtilsHelper.dirExists(this.outputDir)) { let files = fs.readdirSync(this.outputDir); + let storeExcludes = this.siteConfig.advanced.storeExcludesArray; + // console.log(storeExcludes) + + let storeExcludesArray = storeExcludes.split(","); + + filesIteration: for (let file of files) { if (file === '.' || file === '..' || file === 'media') { continue; } + + for (let excludeName of storeExcludesArray) { + if (file === excludeName.trim()) { + continue filesIteration + } + } fs.rmdirSync(path.join(this.outputDir, file), { recursive: true }); } diff --git a/app/src/components/Settings.vue b/app/src/components/Settings.vue index 2e4e0827f..a97071936 100644 --- a/app/src/components/Settings.vue +++ b/app/src/components/Settings.vue @@ -1506,6 +1506,23 @@ + +
+ + + + Type a comma-separated list of HTML files or catalogs to exclude from the list of files that will be re-generated on Syncing the output.
+ For example: ignoreme.html,ignoreme +
+
+
@@ -1602,7 +1619,8 @@ export default { 'GDPR', 'Website Speed', 'RSS/JSON Feed', - 'Posts Listing' + 'Posts Listing', + 'Sync Excludes' ]; }, seoOptions () {