Compare commits

...

9 Commits

Author SHA1 Message Date
lutinglt
c130e6c778 1.25.5 release 2026-03-13 21:03:41 +08:00
lutinglt
c6134161bf Fix no auto-focus of search filter on issue/PR properties #27 2026-02-26 11:51:55 +08:00
lutinglt
d65a5e8f67 navbar style 2026-02-02 15:53:43 +08:00
lutinglt
86d67a4559 version change 2026-01-23 19:22:34 +08:00
lutinglt
5b9b7372a6 fix ci 2026-01-23 19:05:54 +08:00
lutinglt
59b9c66c4e 1.25.4 & fix package details width on phone 2026-01-23 19:02:50 +08:00
lutinglt
ec0f8660e9 update readme 2025-12-22 20:34:26 +08:00
lutinglt
673b7a13de version change & update readme 2025-12-22 20:29:44 +08:00
lutinglt
de0cac06b2 1.25.3 release 2025-12-22 20:09:01 +08:00
14 changed files with 126 additions and 26 deletions

View File

@@ -15,6 +15,7 @@ jobs:
with: with:
filters: | filters: |
src: src:
- ".github/workflows/*.yml"
- "scripts/*" - "scripts/*"
- "src/**/*.ts" - "src/**/*.ts"
- "styles/**/*.ts" - "styles/**/*.ts"
@@ -26,7 +27,7 @@ jobs:
id: build id: build
if: steps.changes.outputs.src == 'true' if: steps.changes.outputs.src == 'true'
run: | run: |
npm run install:vite8 npm install
npm run build npm run build
- name: Upload css assets - name: Upload css assets
@@ -53,4 +54,4 @@ jobs:
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: locales name: locales
path: dist/options/locale path: dist/options/locale

View File

@@ -1,3 +1,3 @@
{ {
"typescript.experimental.useTsgo": false "typescript.experimental.useTsgo": false
} }

View File

@@ -2,20 +2,8 @@
#### More aligned with GitHub style #### More aligned with GitHub style
- Optimize the selection style of items in the menu. - Fine-tune the style of the navigation bar.
- Optimize code block styles.
- Optimize some element styles on Issue/PR page.
- Optimize the width of the left side of the workflow details page in different zoom levels.
##### Template File
- Synchronized repository commit page layout and styles.
- Synchronized repository code list page layout and styles.
- Synchronized repository add file button menu styles.
### 🐞 Fix ### 🐞 Fix
- Fixed extra lines under heatmap. - Fix no auto-focus of search filter on issue/PR properties. #27
- Supplement the PR operation panel status style in PR.
- Fixed avatar size for approving users in PR
- Fixed bot label styles in Issue/PR

View File

@@ -79,6 +79,20 @@ For details, please refer to the Gitea documentation
> >
> The template modifies Gitea's layout to make it closer to GitHub's layout. Do not use template files across versions, > The template modifies Gitea's layout to make it closer to GitHub's layout. Do not use template files across versions,
> as this may lead to missing functionality and other issues. > as this may lead to missing functionality and other issues.
>
> Template layout is bound to the Gitea instance and will affect all themes, impacting the experience of other
> non-project themes.
### Translation File Installation (Optional)
> [!TIP]
>
> Translation files are only needed when using this project's template files to provide support for non-English
> languages.
1. Download the latest translation files from the release page and place them in the `data/gitea/options/locale`
directory (This directory may not be available by default and needs to be manually created)
2. Restart Gitea
## Screenshots ## Screenshots

View File

@@ -70,6 +70,21 @@ THEMES = gitea-auto, gitea-light, gitea-dark, github-auto, github-light, github-
> [!IMPORTANT] > [!IMPORTANT]
> >
> 模板修改了 Gitea 的布局, 使其更接近 GitHub 的布局, 请勿跨版本使用模板文件, 可能会导致功能缺失等问题 > 模板修改了 Gitea 的布局, 使其更接近 GitHub 的布局, 请勿跨版本使用模板文件, 可能会导致功能缺失等问题
>
> 模板布局跟 Gitea 实例绑定, 所有主题都会生效, 会影响其他非本项目的主题的体验
### 翻译文件安装 (可选)
> [!TIP]
>
> 仅在使用本项目的模板文件时需要安装翻译文件以提供非英文语言的支持
1. 在发布页下载最新的翻译文件放入 `data/gitea/options/locale` 目录下 (默认可能没有此目录需手动创建)
2. 重启 Gitea
> [!NOTE]
>
> 中文翻译中还额外将 "工单" 替换为 "议题", "合并请求" 替换为 "拉取请求", 以与 GitHub 手机版中文保持一致
## 截图 ## 截图

View File

@@ -120,6 +120,13 @@
{{svg "octicon-question"}} {{svg "octicon-question"}}
{{ctx.Locale.Tr "help"}} {{ctx.Locale.Tr "help"}}
</a> </a>
{{if .IsAdmin}}
<div class="divider"></div>
<a class="{{if .PageIsAdmin}}active {{end}}item" href="{{AppSubUrl}}/-/admin">
{{svg "octicon-server"}}
{{ctx.Locale.Tr "admin_panel"}}
</a>
{{end}}
<div class="divider"></div> <div class="divider"></div>
<a class="item link-action" href data-url="{{AppSubUrl}}/user/logout"> <a class="item link-action" href data-url="{{AppSubUrl}}/user/logout">
{{svg "octicon-sign-out"}} {{svg "octicon-sign-out"}}

View File

@@ -1,6 +1,6 @@
{ {
"name": "gitea-github-theme", "name": "gitea-github-theme",
"version": "1.25.3.rc", "version": "1.25.5",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite build --mode dev", "dev": "vite build --mode dev",
@@ -10,6 +10,7 @@
"commit": "npm run lint && npm run format && npm run build", "commit": "npm run lint && npm run format && npm run build",
"version": "node scripts/version.cjs", "version": "node scripts/version.cjs",
"tr": "node scripts/translate.cjs", "tr": "node scripts/translate.cjs",
"tmpl": "node scripts/update_template.cjs",
"release": "npm run build && npm run tr", "release": "npm run build && npm run tr",
"install:clean": "npm cache clean --force && rm -rf node_modules package-lock.json && npm install", "install:clean": "npm cache clean --force && rm -rf node_modules package-lock.json && npm install",
"install:vite8": "npm install --force" "install:vite8": "npm install --force"
@@ -34,7 +35,7 @@
"sass-embedded": "^1.89.2", "sass-embedded": "^1.89.2",
"typescript-eslint": "^8.34.1", "typescript-eslint": "^8.34.1",
"typescript-plugin-css-modules": "^5.1.0", "typescript-plugin-css-modules": "^5.1.0",
"vite": "^8.0.0-beta.0" "vite": "^7.3.1"
}, },
"prettier": { "prettier": {
"printWidth": 120, "printWidth": 120,

View File

@@ -17,7 +17,7 @@ const localePath = "options/locale";
const [major, minor, patch, tag = ""] = pkg.version.split("."); const [major, minor, patch, tag = ""] = pkg.version.split(".");
console.log("Version: ", pkg.version); console.log("Version:", pkg.version);
let versionPath = ""; let versionPath = "";
if (tag.includes("rc") || patch.includes("latest")) { if (tag.includes("rc") || patch.includes("latest")) {
versionPath = `${githubBranchPath}/v${major}.${minor}`; versionPath = `${githubBranchPath}/v${major}.${minor}`;
@@ -26,14 +26,12 @@ if (tag.includes("rc") || patch.includes("latest")) {
} }
const githubUrl = `${githubSite}/${giteaRepo}/${versionPath}/${localePath}`; const githubUrl = `${githubSite}/${giteaRepo}/${versionPath}/${localePath}`;
const locales = fs.readdirSync(path.join(rootDir, localePath)).filter(file => file.endsWith(".ini")); const locales = fs.readdirSync(path.join(rootDir, localePath)).filter(file => file.endsWith(".ini"));
// 使用立即执行异步函数
(async () => { (async () => {
for (const locale of locales) { for (const locale of locales) {
const localUrl = `${githubUrl}/${locale}`; const localUrl = `${githubUrl}/${locale}`;
console.log("LocaleUrl: ", localUrl); console.log("LocaleUrl:", localUrl);
const themeLocale = fs.readFileSync(path.join(rootDir, localePath, locale), "utf-8"); const themeLocale = fs.readFileSync(path.join(rootDir, localePath, locale), "utf-8");
const response = await fetch(localUrl); const response = await fetch(localUrl);

View File

@@ -0,0 +1,54 @@
const fs = require("fs");
const path = require("path");
const rootDir = path.join(__dirname, "..");
const pkgPath = path.join(rootDir, "package.json");
const pkg = JSON.parse(fs.readFileSync(pkgPath));
const githubSite = "https://raw.githubusercontent.com";
const giteaRepo = "go-gitea/gitea";
const githubTagPath = "refs/tags";
const tmplPath = "templates";
const localTmplPath = path.join(rootDir, "gitea", tmplPath);
const [major, minor, patch = ""] = pkg.version.split(".");
console.log("Version:", pkg.version);
const versionPath = `${githubTagPath}/v${major}.${minor}.${patch}`;
const githubUrl = `${githubSite}/${giteaRepo}/${versionPath}/${tmplPath}`;
// 递归读取所有子目录中的 .tmpl 文件
function readTmplFilesRecursively(dir) {
const results = [];
const files = fs.readdirSync(dir);
for (const file of files) {
const filePath = path.join(dir, file);
const stat = fs.statSync(filePath);
if (stat.isDirectory()) {
// 如果是目录,递归读取
results.push(...readTmplFilesRecursively(filePath));
} else if (file.endsWith(".tmpl")) {
// 如果是 .tmpl 文件,添加到结果中(相对于模板目录的相对路径)
const relativePath = path.relative(localTmplPath, filePath);
results.push(relativePath);
}
}
return results;
}
// 读取所有模板文件
const tmpls = readTmplFilesRecursively(localTmplPath);
(async () => {
for (const tmpl of tmpls) {
const tmplUrl = `${githubUrl}/${tmpl}`;
console.log("TmplUrl:", tmplUrl);
const response = await fetch(tmplUrl);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
let content = await response.text();
fs.writeFileSync(path.join(localTmplPath, tmpl), content);
}
})();

View File

@@ -202,7 +202,7 @@ export function github2ThemeColor(githubColor: GithubColor): ThemeColor {
bg: githubColor.bgColor.emphasis, bg: githubColor.bgColor.emphasis,
}, },
nav: { nav: {
bg: githubColor.bgColor.muted, bg: githubColor.bgColor.inset,
hoverBg: githubColor.control.transparent.bgColor.hover, hoverBg: githubColor.control.transparent.bgColor.hover,
text: themeVars.color.text.self, text: themeVars.color.text.self,
}, },

View File

@@ -309,7 +309,7 @@ export const comment = css`
.ui.basic.label { .ui.basic.label {
${botLabelStyle} ${botLabelStyle}
} }
a:has(relative-time){ a:has(relative-time) {
text-decoration: underline; text-decoration: underline;
} }
// 已编辑按钮 // 已编辑按钮
@@ -741,6 +741,10 @@ export const issueSidebar = css`
} }
} }
} }
// 修复菜单下拉打开时, 无法聚焦输入框
.menu input {
transition: none;
}
} }
// 时间追踪 // 时间追踪
> div:not([class]):not([id]) { > div:not([class]):not([id]) {

View File

@@ -3,7 +3,6 @@ import { css, customThemeVars, otherThemeVars, themeVars } from "src/types/vars"
export const navbarRight = css` export const navbarRight = css`
#navbar { #navbar {
border-bottom: 0;
padding: 8px 16px; // 上下内边距 + .navbar-left & .navbar-right 的 min-height = 64px padding: 8px 16px; // 上下内边距 + .navbar-left & .navbar-right 的 min-height = 64px
min-height: 64px; min-height: 64px;
.navbar-left, .navbar-left,

View File

@@ -123,3 +123,15 @@ export const packagesDetail = css`
} }
} }
`; `;
// 手机页面下的软件包详细信息页
export const packagesListMobile = css`
@media (max-width: 767.98px) {
.page-content.packages .packages-content {
.packages-content-left,
.packages-content-right {
width: 100%;
}
}
}
`;

View File

@@ -114,6 +114,13 @@
{{svg "octicon-question"}} {{svg "octicon-question"}}
{{ctx.Locale.Tr "help"}} {{ctx.Locale.Tr "help"}}
</a> </a>
{{if .IsAdmin}}
<div class="divider"></div>
<a class="{{if .PageIsAdmin}}active {{end}}item" href="{{AppSubUrl}}/-/admin">
{{svg "octicon-server"}}
{{ctx.Locale.Tr "admin_panel"}}
</a>
{{end}}
<div class="divider"></div> <div class="divider"></div>
<a class="item link-action" href data-url="{{AppSubUrl}}/user/logout"> <a class="item link-action" href data-url="{{AppSubUrl}}/user/logout">
{{svg "octicon-sign-out"}} {{svg "octicon-sign-out"}}