From 8e1a01e444dd0869b0726628d414ba00ea6a9b07 Mon Sep 17 00:00:00 2001 From: lutinglt Date: Sat, 22 Feb 2025 10:18:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=96=E8=AF=91=E6=B5=81?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.js | 9 +++++++-- build.ts | 9 +++++++-- src/styles.scss | 3 --- src/styles/styles.scss | 3 +++ src/themes/dark.scss | 1 - 5 files changed, 17 insertions(+), 8 deletions(-) delete mode 100644 src/styles.scss create mode 100644 src/styles/styles.scss diff --git a/build.js b/build.js index 4afe030..e2b3def 100644 --- a/build.js +++ b/build.js @@ -3,6 +3,10 @@ import * as fs from "node:fs"; import * as sass from "sass"; import * as yaml from "js-yaml"; +async function compile(inputFile) { + return (await sass.compileAsync(inputFile, { sourceMap: false, style: "compressed" })).css; +} + async function generateTheme(themePath) { try { const fileContent = fs.readFileSync(themePath); @@ -10,11 +14,12 @@ async function generateTheme(themePath) { console.log(data.gitea.version); fs.mkdirSync("dist", { recursive: true }); + const styles = await compile("src/styles/styles.scss"); for (const theme of data.gitea.themes) { const inputFile = `src/themes/${theme}.scss`; const outputFile = `dist/theme-github-${theme}.css`; - const result = await sass.compileAsync(inputFile, { sourceMap: false, style: "compressed" }); - fs.writeFileSync(outputFile, result.css); + const result = await compile(inputFile); + fs.writeFileSync(outputFile, `${styles}${result}`); } } catch (error) { let e = error; diff --git a/build.ts b/build.ts index 2d8f1a8..209af18 100755 --- a/build.ts +++ b/build.ts @@ -12,6 +12,10 @@ interface ThemeInfo { gitea: Gitea; } +async function compile(inputFile: string) { + return (await sass.compileAsync(inputFile, { sourceMap: false, style: "compressed" })).css; +} + async function generateTheme(themePath: string) { try { const fileContent = await Deno.readTextFile(themePath); @@ -19,11 +23,12 @@ async function generateTheme(themePath: string) { console.log(data.gitea.version); await Deno.mkdir("dist", { recursive: true }); + const styles = await compile("src/styles/styles.scss"); for (const theme of data.gitea.themes) { const inputFile = `src/themes/${theme}.scss`; const outputFile = `dist/theme-github-${theme}.css`; - const result = await sass.compileAsync(inputFile, { sourceMap: false, style: "compressed" }); - await Deno.writeTextFile(outputFile, result.css); + const result = await compile(inputFile); + await Deno.writeTextFile(outputFile, `${styles}${result}`); } } catch (error) { let e = error; diff --git a/src/styles.scss b/src/styles.scss deleted file mode 100644 index 4f076f5..0000000 --- a/src/styles.scss +++ /dev/null @@ -1,3 +0,0 @@ -/* Made by Luting ^-^ */ -@use "styles/public"; -@use "styles/components"; diff --git a/src/styles/styles.scss b/src/styles/styles.scss new file mode 100644 index 0000000..8212603 --- /dev/null +++ b/src/styles/styles.scss @@ -0,0 +1,3 @@ +/* Made by Luting ^-^ */ +@use "public"; +@use "components"; diff --git a/src/themes/dark.scss b/src/themes/dark.scss index 3947441..9be60fd 100644 --- a/src/themes/dark.scss +++ b/src/themes/dark.scss @@ -1,4 +1,3 @@ // Made by Luting ^-^ -@use "../styles"; @use "dark/github-dark.css"; // GitHub 变量(仅主题内部使用的变量) @use "dark/gitea-dark.css"; // Gitea 变量(元素默认使用的变量)