From 27393372b7c286096f54ccacb4e455bed0cf9a0d Mon Sep 17 00:00:00 2001 From: somrat sorkar Date: Mon, 29 May 2023 15:56:54 +0600 Subject: [PATCH] added remove-darkmode script --- package.json | 4 ++-- scripts/removeDarkmode.js | 48 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 scripts/removeDarkmode.js diff --git a/package.json b/package.json index 1dd2cde..11295c1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "hugoplate", "description": "hugo tailwindcss boilerplate", - "version": "1.0.1", + "version": "1.0.2", "license": "MIT", "author": "zeon.studio", "scripts": { @@ -16,7 +16,7 @@ "@tailwindcss/forms": "^0.5.3", "@tailwindcss/typography": "^0.5.9", "autoprefixer": "^10.4.14", - "postcss": "^8.4.23", + "postcss": "^8.4.24", "postcss-cli": "^10.1.0", "prettier": "^2.8.8", "prettier-plugin-go-template": "0.0.13", diff --git a/scripts/removeDarkmode.js b/scripts/removeDarkmode.js new file mode 100644 index 0000000..cfc1e08 --- /dev/null +++ b/scripts/removeDarkmode.js @@ -0,0 +1,48 @@ +const fs = require("fs"); +const path = require("path"); + +const rootDirs = ["assets/scss", "layouts"]; +const configFiles = [ + { + filePath: "exampleSite/tailwind.config.js", + patterns: ["darkmode:\\s*{[^}]*},", 'darkMode:\\s*"class",'], + }, + { + filePath: "exampleSite/config.toml", + patterns: ["\\S*\\.darkmode[^\\]]*\\]\\n*([\\s\\S]*?)(?=\\[|$)"], + }, +]; + +rootDirs.forEach(removeDarkModeFromPages); +configFiles.forEach(removeDarkMode); + +function removeDarkModeFromFiles(filePath, regexPatterns) { + const fileContent = fs.readFileSync(filePath, "utf8"); + let updatedContent = fileContent; + regexPatterns.forEach((pattern) => { + const regex = new RegExp(pattern, "g"); + updatedContent = updatedContent.replace(regex, ""); + }); + fs.writeFileSync(filePath, updatedContent, "utf8"); +} + +function removeDarkModeFromPages(directoryPath) { + const files = fs.readdirSync(directoryPath); + + files.forEach((file) => { + const filePath = path.join(directoryPath, file); + const stats = fs.statSync(filePath); + if (stats.isDirectory()) { + removeDarkModeFromPages(filePath); + } else if (stats.isFile()) { + removeDarkModeFromFiles(filePath, [ + '(?:(?!["])\\S)*dark:(?:(?![,;"])\\S)*', + ]); + } + }); +} + +function removeDarkMode(configFile) { + const { filePath, patterns } = configFile; + removeDarkModeFromFiles(filePath, patterns); +}