From 34f72da8b5fe4e320c57c00330f14694a0baf957 Mon Sep 17 00:00:00 2001 From: lutinglt Date: Thu, 13 Feb 2025 01:13:32 +0800 Subject: [PATCH] nodejs->deno --- .github/release.js | 16 --------------- .github/workflows/release.yml | 8 +++----- .gitignore | 2 +- .prettierignore | 3 --- .prettierrc.json | 16 --------------- README.md | 8 ++++---- deno.json | 11 +++++++++++ package.json | 25 ----------------------- src/actions.scss | 10 +++++----- version.ts | 37 +++++++++++++++++++++++++++++++++++ 10 files changed, 61 insertions(+), 75 deletions(-) delete mode 100644 .github/release.js delete mode 100644 .prettierignore delete mode 100644 .prettierrc.json create mode 100644 deno.json delete mode 100644 package.json create mode 100755 version.ts diff --git a/.github/release.js b/.github/release.js deleted file mode 100644 index 38721d1..0000000 --- a/.github/release.js +++ /dev/null @@ -1,16 +0,0 @@ -const fs = require('fs').promises; -const yaml = require('js-yaml'); - -async function parseYaml() { - try { - const fileContents = await fs.readFile('./theme.yml', 'utf8'); - const data = yaml.load(fileContents); - - console.log(data.gitea.version); - } catch (e) { - console.error('Error parsing YAML:', e.message); - process.exit(1); - } -} - -parseYaml(); diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bf8bcc5..a1b9bd4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,15 +11,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: denoland/setup-deno@v2 with: - node-version: 20 - - name: NPM install - run: npm install + deno-version: v2.x - name: Create release run: | export TZ=Asia/Shanghai - TAG="v$(node .github/release.js)-$(date +%y%m%d%H%M)" + TAG="v$(deno -A version.ts)-$(date +%y%m%d%H%M)" gh release create "$TAG" dist/* --notes-file .github/release.md --draft -t $TAG env: GH_TOKEN: ${{ github.token }} diff --git a/.gitignore b/.gitignore index 25c8fdb..8d3961b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ node_modules -package-lock.json \ No newline at end of file +deno.lock \ No newline at end of file diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 1a99321..0000000 --- a/.prettierignore +++ /dev/null @@ -1,3 +0,0 @@ -dist/ -node_modules/ -package-lock.json diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index bf285aa..0000000 --- a/.prettierrc.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "printWidth": 120, - "tabWidth": 2, - "useTabs": false, - "semi": true, - "singleQuote": true, - "quoteProps": "as-needed", - "jsxSingleQuote": false, - "trailingComma": "none", - "bracketSpacing": true, - "bracketSameLine": true, - "arrowParens": "avoid", - "proseWrap": "always", - "htmlWhitespaceSensitivity": "css", - "endOfLine": "lf" -} diff --git a/README.md b/README.md index 3427191..b253038 100644 --- a/README.md +++ b/README.md @@ -42,13 +42,13 @@ THEMES = gitea-dark, github ## 构建 -需要 nodejs 和 npm +需要 deno ```bash git clone https://github.com/lutinglt/gitea-github-theme.git cd gitea-github-theme -npm install -npm run build +deno install --allow-scripts +deno run build ``` 查看用于 Gitea 的主题文件: `./dist/theme-github.css` @@ -56,7 +56,7 @@ npm run build 在开发过程中实时构建主题文件 ```bash -npm run watch +deno run watch ``` ## 贡献 diff --git a/deno.json b/deno.json new file mode 100644 index 0000000..41c08e6 --- /dev/null +++ b/deno.json @@ -0,0 +1,11 @@ +{ + "nodeModulesDir": "auto", + "tasks": { + "export": "sass src/theme-github.scss:dist/theme-github.css --no-source-map", + "build": "deno run export --style=compressed", + "watch": "deno run export --watch" + }, + "imports": { + "sass": "npm:sass@^1.84.0" + } +} diff --git a/package.json b/package.json deleted file mode 100644 index 617c68f..0000000 --- a/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "gitea-github-theme", - "version": "1.0.0", - "description": "尽量保持与 GitHub Dark 相同样式的 Gitea 主题", - "scripts": { - "export": "sass src/theme-github.scss:dist/theme-github.css --no-source-map", - "build": "npm run export -- --style=compressed", - "watch": "npm run export -- --watch" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/lutinglt/gitea-github-theme.git" - }, - "keywords": [], - "author": "", - "type": "commonjs", - "bugs": { - "url": "https://github.com/lutinglt/gitea-github-theme/issues" - }, - "homepage": "https://github.com/lutinglt/gitea-github-theme#readme", - "devDependencies": { - "js-yaml": "^4.1.0", - "sass": "^1.83.0" - } -} diff --git a/src/actions.scss b/src/actions.scss index 751c066..db6ec3f 100644 --- a/src/actions.scss +++ b/src/actions.scss @@ -6,7 +6,7 @@ min-height: calc(-104px + 100vh); &:before { - content: 'Actions'; + content: "Actions"; display: block; font-size: 20px; font-weight: 600; @@ -17,7 +17,7 @@ .twelve.wide { &:before { - content: 'Workflow Runs'; + content: "Workflow Runs"; display: block; font-size: 20px; margin-top: 6px; @@ -120,7 +120,7 @@ } .action-commit-summary { - margin-left: 28+14px; + margin-left: 28 + 14px; } } } @@ -146,7 +146,7 @@ border-top: 1px solid #2f353d; &:before { - content: 'Jobs'; + content: "Jobs"; color: #9198a1; font-size: 12px; font-weight: 600; @@ -179,7 +179,7 @@ overflow: visible; background: #1f6feb; border-radius: 0.375rem; - content: ''; + content: ""; height: 24px; left: calc(0.5rem * -1); position: absolute; diff --git a/version.ts b/version.ts new file mode 100755 index 0000000..5caadee --- /dev/null +++ b/version.ts @@ -0,0 +1,37 @@ +#!/usr/bin/env -S deno run -A + +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 readYamlFile(filePath: string) { + try { + const fileContent = await Deno.readTextFile(filePath); + 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("Error reading or parsing YAML file:", e); + Deno.exit(1); + } +} + +// 使用示例 +readYamlFile("theme.yml");