diff --git a/assets/theme-arc-green-updated.css b/assets/gitea-theme/theme-arc-green-updated.css similarity index 100% rename from assets/theme-arc-green-updated.css rename to assets/gitea-theme/theme-arc-green-updated.css diff --git a/gitea/templates/base/head_navbar.tmpl b/assets/gitea/templates/base/head_navbar.tmpl similarity index 100% rename from gitea/templates/base/head_navbar.tmpl rename to assets/gitea/templates/base/head_navbar.tmpl diff --git a/gitea/templates/base/head_navbar_icons.tmpl b/assets/gitea/templates/base/head_navbar_icons.tmpl similarity index 100% rename from gitea/templates/base/head_navbar_icons.tmpl rename to assets/gitea/templates/base/head_navbar_icons.tmpl diff --git a/gitea/templates/repo/commit_sign_badge.tmpl b/assets/gitea/templates/repo/commit_sign_badge.tmpl similarity index 100% rename from gitea/templates/repo/commit_sign_badge.tmpl rename to assets/gitea/templates/repo/commit_sign_badge.tmpl diff --git a/gitea/templates/repo/commits_list.tmpl b/assets/gitea/templates/repo/commits_list.tmpl similarity index 100% rename from gitea/templates/repo/commits_list.tmpl rename to assets/gitea/templates/repo/commits_list.tmpl diff --git a/gitea/templates/repo/view_content.tmpl b/assets/gitea/templates/repo/view_content.tmpl similarity index 100% rename from gitea/templates/repo/view_content.tmpl rename to assets/gitea/templates/repo/view_content.tmpl diff --git a/gitea/templates/repo/view_list.tmpl b/assets/gitea/templates/repo/view_list.tmpl similarity index 100% rename from gitea/templates/repo/view_list.tmpl rename to assets/gitea/templates/repo/view_list.tmpl diff --git a/gitea/web_src/css/themes/theme-gitea-auto-protanopia-deuteranopia.css b/assets/gitea/web_src/css/themes/theme-gitea-auto-protanopia-deuteranopia.css similarity index 100% rename from gitea/web_src/css/themes/theme-gitea-auto-protanopia-deuteranopia.css rename to assets/gitea/web_src/css/themes/theme-gitea-auto-protanopia-deuteranopia.css diff --git a/gitea/web_src/css/themes/theme-gitea-auto-tritanopia.css b/assets/gitea/web_src/css/themes/theme-gitea-auto-tritanopia.css similarity index 100% rename from gitea/web_src/css/themes/theme-gitea-auto-tritanopia.css rename to assets/gitea/web_src/css/themes/theme-gitea-auto-tritanopia.css diff --git a/gitea/web_src/css/themes/theme-gitea-auto.css b/assets/gitea/web_src/css/themes/theme-gitea-auto.css similarity index 100% rename from gitea/web_src/css/themes/theme-gitea-auto.css rename to assets/gitea/web_src/css/themes/theme-gitea-auto.css diff --git a/gitea/web_src/css/themes/theme-gitea-dark-protanopia-deuteranopia.css b/assets/gitea/web_src/css/themes/theme-gitea-dark-protanopia-deuteranopia.css similarity index 100% rename from gitea/web_src/css/themes/theme-gitea-dark-protanopia-deuteranopia.css rename to assets/gitea/web_src/css/themes/theme-gitea-dark-protanopia-deuteranopia.css diff --git a/gitea/web_src/css/themes/theme-gitea-dark-tritanopia.css b/assets/gitea/web_src/css/themes/theme-gitea-dark-tritanopia.css similarity index 100% rename from gitea/web_src/css/themes/theme-gitea-dark-tritanopia.css rename to assets/gitea/web_src/css/themes/theme-gitea-dark-tritanopia.css diff --git a/gitea/web_src/css/themes/theme-gitea-dark.css b/assets/gitea/web_src/css/themes/theme-gitea-dark.css similarity index 100% rename from gitea/web_src/css/themes/theme-gitea-dark.css rename to assets/gitea/web_src/css/themes/theme-gitea-dark.css diff --git a/gitea/web_src/css/themes/theme-gitea-light-protanopia-deuteranopia.css b/assets/gitea/web_src/css/themes/theme-gitea-light-protanopia-deuteranopia.css similarity index 100% rename from gitea/web_src/css/themes/theme-gitea-light-protanopia-deuteranopia.css rename to assets/gitea/web_src/css/themes/theme-gitea-light-protanopia-deuteranopia.css diff --git a/gitea/web_src/css/themes/theme-gitea-light-tritanopia.css b/assets/gitea/web_src/css/themes/theme-gitea-light-tritanopia.css similarity index 100% rename from gitea/web_src/css/themes/theme-gitea-light-tritanopia.css rename to assets/gitea/web_src/css/themes/theme-gitea-light-tritanopia.css diff --git a/gitea/web_src/css/themes/theme-gitea-light.css b/assets/gitea/web_src/css/themes/theme-gitea-light.css similarity index 100% rename from gitea/web_src/css/themes/theme-gitea-light.css rename to assets/gitea/web_src/css/themes/theme-gitea-light.css diff --git a/assets/index.ts b/assets/index.ts new file mode 100644 index 0000000..594201b --- /dev/null +++ b/assets/index.ts @@ -0,0 +1 @@ +export { default as primer, type Primer } from "./primer"; diff --git a/primer/README.md b/assets/primer/README.md similarity index 100% rename from primer/README.md rename to assets/primer/README.md diff --git a/primer/dark-colorblind-high-contrast.ts b/assets/primer/dark-colorblind-high-contrast.ts similarity index 100% rename from primer/dark-colorblind-high-contrast.ts rename to assets/primer/dark-colorblind-high-contrast.ts diff --git a/primer/dark-colorblind.ts b/assets/primer/dark-colorblind.ts similarity index 99% rename from primer/dark-colorblind.ts rename to assets/primer/dark-colorblind.ts index 283fb00..1681d4c 100644 --- a/primer/dark-colorblind.ts +++ b/assets/primer/dark-colorblind.ts @@ -842,7 +842,7 @@ export default { danger: "#f0883e", closed: "#9198a1", draft: "#9198a1", - done: "#ab7df8", + done: "#b7bdc8", upsell: "#ab7df8", sponsors: "#db61a2", }, diff --git a/primer/dark-dimmed-high-contrast.ts b/assets/primer/dark-dimmed-high-contrast.ts similarity index 100% rename from primer/dark-dimmed-high-contrast.ts rename to assets/primer/dark-dimmed-high-contrast.ts diff --git a/primer/dark-dimmed.ts b/assets/primer/dark-dimmed.ts similarity index 100% rename from primer/dark-dimmed.ts rename to assets/primer/dark-dimmed.ts diff --git a/primer/dark-high-contrast.ts b/assets/primer/dark-high-contrast.ts similarity index 100% rename from primer/dark-high-contrast.ts rename to assets/primer/dark-high-contrast.ts diff --git a/primer/dark-tritanopia-high-contrast.ts b/assets/primer/dark-tritanopia-high-contrast.ts similarity index 100% rename from primer/dark-tritanopia-high-contrast.ts rename to assets/primer/dark-tritanopia-high-contrast.ts diff --git a/primer/dark-tritanopia.ts b/assets/primer/dark-tritanopia.ts similarity index 100% rename from primer/dark-tritanopia.ts rename to assets/primer/dark-tritanopia.ts diff --git a/primer/dark.ts b/assets/primer/dark.ts similarity index 100% rename from primer/dark.ts rename to assets/primer/dark.ts diff --git a/primer/index.ts b/assets/primer/index.ts similarity index 100% rename from primer/index.ts rename to assets/primer/index.ts diff --git a/primer/light-colorblind-high-contrast.ts b/assets/primer/light-colorblind-high-contrast.ts similarity index 100% rename from primer/light-colorblind-high-contrast.ts rename to assets/primer/light-colorblind-high-contrast.ts diff --git a/primer/light-colorblind.ts b/assets/primer/light-colorblind.ts similarity index 100% rename from primer/light-colorblind.ts rename to assets/primer/light-colorblind.ts diff --git a/primer/light-high-contrast.ts b/assets/primer/light-high-contrast.ts similarity index 100% rename from primer/light-high-contrast.ts rename to assets/primer/light-high-contrast.ts diff --git a/primer/light-tritanopia-high-contrast.ts b/assets/primer/light-tritanopia-high-contrast.ts similarity index 100% rename from primer/light-tritanopia-high-contrast.ts rename to assets/primer/light-tritanopia-high-contrast.ts diff --git a/primer/light-tritanopia.ts b/assets/primer/light-tritanopia.ts similarity index 100% rename from primer/light-tritanopia.ts rename to assets/primer/light-tritanopia.ts diff --git a/primer/light.ts b/assets/primer/light.ts similarity index 100% rename from primer/light.ts rename to assets/primer/light.ts diff --git a/package.json b/package.json index 3635584..4050d80 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "./styles": "./styles/index.ts", "./styles/common": "./styles/common/index.ts", "./themes": "./themes/index.ts", - "./primer": "./primer/index.ts" + "./assets": "./assets/index.ts" }, "scripts": { "lint": "bunx --bun eslint .", diff --git a/scripts/buildPrimerTSToken.ts b/scripts/buildPrimerTSToken.ts index 4a39397..1231730 100644 --- a/scripts/buildPrimerTSToken.ts +++ b/scripts/buildPrimerTSToken.ts @@ -22,7 +22,7 @@ import { typescript } from "@primer/primitives/dist/build/platforms/typescript.j import { PrimerStyleDictionary } from "@primer/primitives/dist/build/primerStyleDictionary.js"; import { themes as primerThemes } from "./themes.config.ts"; -const buildPath = "primer"; +const buildPath = "assets/primer"; const primerModulePath = "node_modules/@primer/primitives"; const themes = primerThemes.map(({ filename, source, include, theme }) => ({ diff --git a/scripts/updateArcGreen.ts b/scripts/updateArcGreen.ts index ef58f2d..7807b8d 100644 --- a/scripts/updateArcGreen.ts +++ b/scripts/updateArcGreen.ts @@ -26,7 +26,7 @@ setGlobalProxy(); const githubSite = "https://raw.githubusercontent.com"; const githubRepo = "lsd-techno/gitea-theme"; const githubBranchPath = "refs/heads/main"; -const localGiteaPath = path.join(rootDir, "assets"); +const localGiteaPath = path.join(rootDir, "assets/gitea-theme"); const githubBaseUrl = `${githubSite}/${githubRepo}/${githubBranchPath}`; const file = "theme-arc-green-updated.css"; const fileUrl = `${githubBaseUrl}/${file}`; diff --git a/scripts/updateGitea.ts b/scripts/updateGitea.ts index ce2aab2..54396bf 100644 --- a/scripts/updateGitea.ts +++ b/scripts/updateGitea.ts @@ -26,7 +26,7 @@ setGlobalProxy(); const githubSite = "https://raw.githubusercontent.com"; const giteaRepo = "go-gitea/gitea"; const githubTagPath = "refs/tags"; -const localGiteaPath = path.join(rootDir, "gitea"); +const localGiteaPath = path.join(rootDir, "assets/gitea"); const [major, minor, patch = ""] = pkg.version.split("."); console.log("Version:", pkg.version); const versionPath = `${githubTagPath}/v${major}.${minor}.${patch}`; diff --git a/src/palette/display.test.ts b/src/palette/display.test.ts index 01dbf7a..6ea6dce 100644 --- a/src/palette/display.test.ts +++ b/src/palette/display.test.ts @@ -17,7 +17,7 @@ * limitations under the License. */ -import defaultPrimer from "@lutinglt/gitea-github-theme/primer"; +import { primer } from "@lutinglt/gitea-github-theme/assets"; import { describe, expect, it } from "vitest"; import { display2GitHubColor } from "./display"; import { primer2GitHubColor } from "./primer"; @@ -27,35 +27,35 @@ import { primer2GitHubColor } from "./primer"; // ============================================================================ describe("display2GitHubColor", () => { - const darkBase = primer2GitHubColor(defaultPrimer.dark, true); - const lightBase = primer2GitHubColor(defaultPrimer.light); + const darkBase = primer2GitHubColor(primer.dark, true); + const lightBase = primer2GitHubColor(primer.light); it("pink dark 快照", () => { - expect(display2GitHubColor(defaultPrimer.dark.display.pink.scale, darkBase)).toMatchSnapshot(); + expect(display2GitHubColor(primer.dark.display.pink.scale, darkBase)).toMatchSnapshot(); }); it("pink light 快照", () => { - expect(display2GitHubColor(defaultPrimer.light.display.pink.scale, lightBase)).toMatchSnapshot(); + expect(display2GitHubColor(primer.light.display.pink.scale, lightBase)).toMatchSnapshot(); }); it("pink soft-dark 快照", () => { - const softDarkBase = primer2GitHubColor(defaultPrimer.darkDimmed, true); - expect(display2GitHubColor(defaultPrimer.dark.display.pink.scale, softDarkBase, true)).toMatchSnapshot(); + const softDarkBase = primer2GitHubColor(primer.darkDimmed, true); + expect(display2GitHubColor(primer.dark.display.pink.scale, softDarkBase, true)).toMatchSnapshot(); }); it("cover 后 accent 字段与 base 不同", () => { - const result = display2GitHubColor(defaultPrimer.dark.display.pink.scale, darkBase); + const result = display2GitHubColor(primer.dark.display.pink.scale, darkBase); expect(result.fgColor.accent).not.toBe(darkBase.fgColor.accent); expect(result.bgColor.accent.emphasis).not.toBe(darkBase.bgColor.accent.emphasis); }); it("cover 后 contribution 颜色被改写", () => { - const result = display2GitHubColor(defaultPrimer.light.display.pink.scale, lightBase); + const result = display2GitHubColor(primer.light.display.pink.scale, lightBase); expect(result.contribution.default.bgColor[1]).not.toBe(lightBase.contribution.default.bgColor[1]); }); it("isDarkTheme 遵循 base", () => { - expect(display2GitHubColor(defaultPrimer.dark.display.pink.scale, darkBase).isDarkTheme).toBe(true); - expect(display2GitHubColor(defaultPrimer.light.display.pink.scale, lightBase).isDarkTheme).toBe(false); + expect(display2GitHubColor(primer.dark.display.pink.scale, darkBase).isDarkTheme).toBe(true); + expect(display2GitHubColor(primer.light.display.pink.scale, lightBase).isDarkTheme).toBe(false); }); }); diff --git a/src/palette/display.ts b/src/palette/display.ts index e9dacf3..3ac1425 100644 --- a/src/palette/display.ts +++ b/src/palette/display.ts @@ -17,7 +17,7 @@ * limitations under the License. */ -import type { Primer } from "@lutinglt/gitea-github-theme/primer"; +import type { Primer } from "@lutinglt/gitea-github-theme/assets"; import { saturate } from "color2k"; import { scaleColorLight } from "../functions"; import { deepOverride } from "../utils"; diff --git a/src/palette/github.test.ts b/src/palette/github.test.ts index e2a7878..049b2a4 100644 --- a/src/palette/github.test.ts +++ b/src/palette/github.test.ts @@ -17,7 +17,7 @@ * limitations under the License. */ -import defaultPrimer from "@lutinglt/gitea-github-theme/primer"; +import { primer } from "@lutinglt/gitea-github-theme/assets"; import { describe, expect, it } from "vitest"; import { github2ThemeColor } from "./github"; import { primer2GitHubColor } from "./primer"; @@ -109,30 +109,30 @@ function assertThemeColorStructure(themeColor: ThemeColor, flavor: string) { describe("github2ThemeColor", () => { it("dark 全链快照", () => { - const githubColor = primer2GitHubColor(defaultPrimer.dark, true); + const githubColor = primer2GitHubColor(primer.dark, true); expect(theme2ThemeVars(github2ThemeColor(githubColor))).toMatchSnapshot(); }); it("light 全链快照", () => { - const githubColor = primer2GitHubColor(defaultPrimer.light); + const githubColor = primer2GitHubColor(primer.light); expect(theme2ThemeVars(github2ThemeColor(githubColor))).toMatchSnapshot(); }); it("dark 结构完整", () => { - assertThemeColorStructure(github2ThemeColor(primer2GitHubColor(defaultPrimer.dark, true)), "github-dark"); + assertThemeColorStructure(github2ThemeColor(primer2GitHubColor(primer.dark, true)), "github-dark"); }); it("light 结构完整", () => { - assertThemeColorStructure(github2ThemeColor(primer2GitHubColor(defaultPrimer.light)), "github-light"); + assertThemeColorStructure(github2ThemeColor(primer2GitHubColor(primer.light)), "github-light"); }); it("dark isDarkTheme 为 true", () => { - const githubColor = primer2GitHubColor(defaultPrimer.dark, true); + const githubColor = primer2GitHubColor(primer.dark, true); expect(github2ThemeColor(githubColor).isDarkTheme).toBe(true); }); it("light isDarkTheme 为 false", () => { - const githubColor = primer2GitHubColor(defaultPrimer.light); + const githubColor = primer2GitHubColor(primer.light); expect(github2ThemeColor(githubColor).isDarkTheme).toBe(false); }); }); diff --git a/src/palette/github.ts b/src/palette/github.ts index aeb1d1c..34d14a4 100644 --- a/src/palette/github.ts +++ b/src/palette/github.ts @@ -17,7 +17,7 @@ * limitations under the License. */ -import type { Primer } from "@lutinglt/gitea-github-theme/primer"; +import type { Primer } from "@lutinglt/gitea-github-theme/assets"; import { mix, saturate } from "color2k"; import { scaleColorLight } from "../functions"; import type { Ansi, Console, Diff, GitHub, Message, Other, Series16 } from "../types"; diff --git a/src/palette/primer.test.ts b/src/palette/primer.test.ts index 846dfe2..33c6aed 100644 --- a/src/palette/primer.test.ts +++ b/src/palette/primer.test.ts @@ -17,7 +17,7 @@ * limitations under the License. */ -import defaultPrimer from "@lutinglt/gitea-github-theme/primer"; +import { primer } from "@lutinglt/gitea-github-theme/assets"; import { describe, expect, it } from "vitest"; import { primer2Chroma, primer2CodeMirror, primer2GitHubColor } from "./primer"; @@ -27,23 +27,23 @@ import { primer2Chroma, primer2CodeMirror, primer2GitHubColor } from "./primer"; describe("primer2GitHubColor", () => { it("dark 快照", () => { - expect(primer2GitHubColor(defaultPrimer.dark, true)).toMatchSnapshot(); + expect(primer2GitHubColor(primer.dark, true)).toMatchSnapshot(); }); it("light 快照", () => { - expect(primer2GitHubColor(defaultPrimer.light)).toMatchSnapshot(); + expect(primer2GitHubColor(primer.light)).toMatchSnapshot(); }); it("dark isDarkTheme 为 true", () => { - expect(primer2GitHubColor(defaultPrimer.dark, true).isDarkTheme).toBe(true); + expect(primer2GitHubColor(primer.dark, true).isDarkTheme).toBe(true); }); it("light isDarkTheme 为 false", () => { - expect(primer2GitHubColor(defaultPrimer.light).isDarkTheme).toBe(false); + expect(primer2GitHubColor(primer.light).isDarkTheme).toBe(false); }); it("dark 包含 fgColor/bgColor/borderColor", () => { - const result = primer2GitHubColor(defaultPrimer.dark, true); + const result = primer2GitHubColor(primer.dark, true); expect(result.fgColor).toBeDefined(); expect(result.bgColor).toBeDefined(); expect(result.borderColor).toBeDefined(); @@ -56,15 +56,15 @@ describe("primer2GitHubColor", () => { describe("primer2Chroma", () => { it("dark 快照", () => { - expect(primer2Chroma(defaultPrimer.dark)).toMatchSnapshot(); + expect(primer2Chroma(primer.dark)).toMatchSnapshot(); }); it("light 快照", () => { - expect(primer2Chroma(defaultPrimer.light)).toMatchSnapshot(); + expect(primer2Chroma(primer.light)).toMatchSnapshot(); }); it("包含所有语法分组", () => { - const result = primer2Chroma(defaultPrimer.dark); + const result = primer2Chroma(primer.dark); const groups = [ "textWhiteSpace", "err", @@ -84,14 +84,14 @@ describe("primer2Chroma", () => { }); it("keyword 含子级分组", () => { - const kw = primer2Chroma(defaultPrimer.dark).keyword as Record; + const kw = primer2Chroma(primer.dark).keyword as Record; for (const sub of ["self", "constant", "declaration", "namespace", "pseudo", "reserved", "type"]) { expect(kw[sub], `缺少 keyword.${sub}`).toBeDefined(); } }); it("generic 含 deleted/emph/inserted/heading", () => { - const g = primer2Chroma(defaultPrimer.dark).generic as Record; + const g = primer2Chroma(primer.dark).generic as Record; for (const sub of ["deleted", "emph", "inserted", "heading", "subheading"]) { expect(g[sub], `缺少 generic.${sub}`).toBeDefined(); } @@ -104,28 +104,28 @@ describe("primer2Chroma", () => { describe("primer2CodeMirror", () => { it("dark 快照", () => { - expect(primer2CodeMirror(defaultPrimer.dark)).toMatchSnapshot(); + expect(primer2CodeMirror(primer.dark)).toMatchSnapshot(); }); it("light 快照", () => { - expect(primer2CodeMirror(defaultPrimer.light)).toMatchSnapshot(); + expect(primer2CodeMirror(primer.light)).toMatchSnapshot(); }); it("含 token 和 language 分组", () => { - const result = primer2CodeMirror(defaultPrimer.dark); + const result = primer2CodeMirror(primer.dark); expect(result.token).toBeDefined(); expect(result.language).toBeDefined(); }); it("token 含核心语法键", () => { - const t = primer2CodeMirror(defaultPrimer.dark).token as Record; + const t = primer2CodeMirror(primer.dark).token as Record; for (const key of ["keyword", "atom", "string", "number", "comment", "variableName", "typeName"]) { expect(t[key], `缺少 token.${key}`).toBeDefined(); } }); it("language 含 json/html/css/xml", () => { - const l = primer2CodeMirror(defaultPrimer.dark).language; + const l = primer2CodeMirror(primer.dark).language; for (const key of ["json", "html", "css", "xml"]) { expect(l[key as keyof typeof l], `缺少 language.${key}`).toBeDefined(); } diff --git a/src/palette/primer.ts b/src/palette/primer.ts index 955a153..36665fd 100644 --- a/src/palette/primer.ts +++ b/src/palette/primer.ts @@ -17,7 +17,7 @@ * limitations under the License. */ -import type { Primer } from "@lutinglt/gitea-github-theme/primer"; +import type { Primer } from "@lutinglt/gitea-github-theme/assets"; import type { Chroma, CodeMirror } from "../types"; import { deepOverride } from "../utils"; import type { GitHubColor } from "./github"; diff --git a/themes/github.ts b/themes/github.ts index 08d9338..daa173e 100644 --- a/themes/github.ts +++ b/themes/github.ts @@ -23,7 +23,7 @@ import type { GitHubColor } from "@lutinglt/gitea-github-theme/core"; import { deepOverride, defineTheme, display2GitHubColor, primer2GitHubColor } from "@lutinglt/gitea-github-theme/core"; -import { default as primer } from "@lutinglt/gitea-github-theme/primer"; +import { primer } from "@lutinglt/gitea-github-theme/assets"; /** - 仅适用于 Dark 主题的颜色转换 */ function darkConvert(color: GitHubColor) { diff --git a/tsconfig.json b/tsconfig.json index 509d534..89839cf 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -33,7 +33,7 @@ "@lutinglt/gitea-github-theme/styles": ["./styles"], "@lutinglt/gitea-github-theme/styles/common": ["./styles/common"], "@lutinglt/gitea-github-theme/themes": ["./themes"], - "@lutinglt/gitea-github-theme/primer": ["./primer"] + "@lutinglt/gitea-github-theme/assets": ["./assets"] } }, "include": [ @@ -41,7 +41,7 @@ "styles", "themes", "scripts", - "primer", + "assets/primer", "eslint.config.ts", "vite.config.ts", "theme.config.ts",