Files
gitea-github-theme/build.ts
lutinglt bed93d8777 简化
2025-02-14 00:40:18 +08:00

44 lines
950 B
TypeScript
Executable File

#!/usr/bin/env -S deno run -A --allow-scripts
import * as sass from "npm:sass";
import * as yaml from "npm:js-yaml";
interface Asset {
name: string;
css: string;
}
interface Theme {
version: string;
theme: string;
description: string;
assets: Asset[];
}
interface Gitea {
gitea: Theme;
}
async function buildTheme(themePath: string) {
try {
const inputFile = "sass/theme-github.scss";
const outputFile = "dist/theme-github.css";
const result = await sass.compileAsync(inputFile, { sourceMap: false, style: "compressed" });
await Deno.writeTextFile(outputFile, result.css);
const fileContent = await Deno.readTextFile(themePath);
const data: Gitea = yaml.load(fileContent);
console.log(data.gitea.version);
} catch (error) {
let e = error;
if (error instanceof Error) {
e = error.message;
}
console.error("Build failed:", e);
Deno.exit(1);
}
}
buildTheme("theme.yml");