Compare commits

..

8 Commits

Author SHA1 Message Date
lutinglt
90b618688b 1.25.0 2025-10-30 22:07:41 +08:00
lutinglt
6ddc5057a4 update readme 2025-10-25 15:25:19 +08:00
lutinglt
ceb0fd0b0c version change 2025-10-25 13:07:09 +08:00
lutinglt
c766a16b08 1.24.7 2025-10-25 13:03:41 +08:00
lutinglt
77faa2ce63 update readme 2025-10-25 10:55:07 +08:00
lutinglt
4267c98dbe update readme 2025-10-25 10:48:44 +08:00
lutinglt
558f75de42 VSCode 和 VSCodium 图标添加颜色 2025-10-13 11:58:48 +08:00
lutinglt
6fe0241007 修复手机下仪表板二级导航栏用户菜单按钮没有居中的问题 2025-10-12 12:21:30 +08:00
21 changed files with 243 additions and 107 deletions

View File

@@ -1,22 +1,19 @@
### 🌈 Style
- 优化顶部和二级导航栏的样式和颜色
##### 更符合 GitHub 风格
- 修复并同步工单或 PR 详细页面下的标签菜单样式 #19
- 统一仓库/用户/组织列表无搜索结果时的样式 #20
- 同步页脚样式
- 优化下拉菜单的样式
- 优化创建标签菜单的菜单项的样式
- 同步亮色和柔和暗色主题下的菜单颜色
- 同步工作流运行页面的运行时间字体样式和重新运行按钮样式
- 优化用户动态
- 优化顶部导航栏头像
- 优化设置页面
- 优化仓库活动页面
### 🐞 Fix
## 📃 English
- 修复 Wiki 页面搜索项目没有正确隐藏的问题 #15
- 修复后台账户管理排序菜单项的宽度问题
- 修复合并提交中的主色调按钮组阴影问题
- 修复仓库页面下二级导航栏下划线过粗的问题
- 修复仪表板切换用户按钮菜单下无创建组织按钮时的菜单圆角问题
- 修复导航栏工单/PR等仪表板下筛选等菜单的子项的间距问题
### 🌈 Style
##### More aligned with GitHub style
- Optimized user activity feed
- Optimized top navigation bar avatars
- Optimized settings page
- Optimized repository activity page

View File

@@ -1,12 +1,20 @@
<h1 align="center">Gitea GitHub Theme</h1>
<h1 align="center">
<p>Gitea GitHub Theme</p>
<img src="https://img.shields.io/github/issues-raw/lutinglt/gitea-github-theme?style=for-the-badge&labelColor=25292e&color=1a7f37">
<img src="https://img.shields.io/github/issues-closed-raw/lutinglt/gitea-github-theme?style=for-the-badge&labelColor=25292e&color=8250df">
<img src="https://img.shields.io/github/downloads/lutinglt/gitea-github-theme/total?style=for-the-badge&labelColor=25292e&color=1f6feb">
<img src="https://img.shields.io/github/downloads/lutinglt/gitea-github-theme/latest/total?style=for-the-badge&labelColor=25292e&color=238636">
</h1>
<div align="center">
中文 • [English](README_EN.md)
不仅仅是在颜色上, 在样式细节上也追求 GitHub 风格的 Gitea 主题.
</div>
不仅仅是在颜色上, 在样式细节上也追求 GitHub 风格的 Gitea 主题.
![Dashboard](screenshots/dashboard.png)
> [!TIP]
>
@@ -40,10 +48,6 @@ Gitea 理论上小版本号变更不会修改前端布局, 所以主题的小版
3. 重启 Gitea
4. 在设置中查看主题
> [!IMPORTANT]
>
> 自动颜色主题需要亮色和暗色的主题文件
例: 主题文件名为 `theme-github-dark.css`,则添加 `github-dark``THEMES` 末尾
`gitea/conf/app.ini` 例:
@@ -56,9 +60,11 @@ THEMES = gitea-auto, gitea-light, gitea-dark, github-auto, github-light, github-
详细请查看 Gitea 文档
[Gitea docs](https://docs.gitea.com/next/administration/customizing-gitea#customizing-the-look-of-gitea)
## 截图
> [!IMPORTANT]
>
> 自动颜色主题需要亮色和暗色的主题文件
![Dashboard](screenshots/dashboard.png)
## 截图
### 基本主题

View File

@@ -1,12 +1,20 @@
<h1 align="center">Gitea GitHub Theme</h1>
<h1 align="center">
<p>Gitea GitHub Theme</p>
<img src="https://img.shields.io/github/issues-raw/lutinglt/gitea-github-theme?style=for-the-badge&labelColor=25292e&color=1a7f37">
<img src="https://img.shields.io/github/issues-closed-raw/lutinglt/gitea-github-theme?style=for-the-badge&labelColor=25292e&color=8250df">
<img src="https://img.shields.io/github/downloads/lutinglt/gitea-github-theme/total?style=for-the-badge&labelColor=25292e&color=1f6feb">
<img src="https://img.shields.io/github/downloads/lutinglt/gitea-github-theme/latest/total?style=for-the-badge&labelColor=25292e&color=238636">
</h1>
<div align="center">
English • [中文](README.md)
A Gitea theme that pursues GitHub style not only in colors but also in styling details.
</div>
A Gitea theme that pursues GitHub style not only in colors but also in styling details.
![Dashboard](screenshots/en/dashboard-en.png)
> [!TIP]
>
@@ -31,9 +39,12 @@ accepted.
### Theme Version Release Rules
- When Gitea releases a minor version, if there are changes in the theme, a new theme version with the same minor version as Gitea will be released
- When Gitea releases a major version, if there are changes in the theme, a theme version `1.old_major_version.latest` will be released and the old version will no longer be maintained
- The pre-release version for major version adaptation is `1.major_version.rc`, and when there are no obvious bugs, a theme version with the same major version as Gitea will be released
- When Gitea releases a minor version, if there are changes in the theme, a new theme version with the same minor
version as Gitea will be released
- When Gitea releases a major version, if there are changes in the theme, a theme version `1.old_major_version.latest`
will be released and the old version will no longer be maintained
- The pre-release version for major version adaptation is `1.major_version.rc`, and when there are no obvious bugs, a
theme version with the same major version as Gitea will be released
## Installation
@@ -43,10 +54,6 @@ accepted.
3. Restart Gitea
4. Check the theme in the settings
> [!IMPORTANT]
>
> Automatic color theme requires both light and dark theme files.
Example: If the theme filename is `theme-github-dark.css`, add `github-dark` to the end of `THEMES`
Example `gitea/conf/app.ini`:
@@ -59,9 +66,11 @@ THEMES = gitea-auto, gitea-light, gitea-dark, github-auto, github-light, github-
For details, please refer to the Gitea documentation
[Gitea docs](https://docs.gitea.com/next/administration/customizing-gitea#customizing-the-look-of-gitea)
## Screenshots
> [!IMPORTANT]
>
> Automatic color theme requires both light and dark theme files.
![Dashboard](screenshots/en/dashboard-en.png)
## Screenshots
### Basic Themes
@@ -161,4 +170,4 @@ npm run build
```
After compilation, theme files will be generated in the `dist` directory. You can place the theme files into the
`gitea/public/assets/css` directory, then add the theme name to the end of `THEMES` in `gitea/conf/app.ini`
`gitea/public/assets/css` directory, then add the theme name to the end of `THEMES` in `gitea/conf/app.ini`

View File

@@ -1,6 +1,6 @@
{
"name": "gitea-github-theme",
"version": "1.24.7",
"version": "1.25.0",
"type": "module",
"scripts": {
"dev": "vite build --mode dev",

View File

@@ -36,7 +36,7 @@ export const actions = css`
border-top-right-radius: ${otherThemeVars.border.radius};
padding: 16px;
margin-bottom: 0;
> .item {
> .ui.dropdown {
color: ${themeVars.color.text.light.num1};
}
}
@@ -76,22 +76,25 @@ export const actions = css`
.flex-item {
padding: 16px;
.flex-item-leading {
align-self: flex-start;
margin-top: 2px;
}
.flex-item-main {
gap: 0.5rem;
}
.flex-item-trailing {
justify-content: space-between;
> .ui.label {
border-radius: ${otherThemeVars.border.radius};
margin-left: 32px;
}
> .ui.dropdown.jump {
color: ${themeVars.color.text.light.num1};
&:hover {
color: ${themeVars.color.primary.self};
}
.menu > .item:hover {
color: ${themeVars.color.text.self} !important;
}
}
}
}
@@ -223,17 +226,28 @@ export const actionViewRight = css`
.action-view-right {
/* 提前加载高度和滚动条 */
min-height: calc(100vh - 245px);
// 作业详情页标题
.job-info-header {
padding: 16px 12px 16px 24px;
height: 80px;
.job-info-header-title {
color: ${themeVars.github.fgColor.accent};
padding: 16px 12px 16px 24px !important;
height: 80px !important;
.job-info-header-left {
.job-info-header-title {
color: ${themeVars.github.fgColor.accent} !important;
}
.job-info-header-detail {
margin-top: 8px;
}
}
.job-info-header-detail {
margin-top: 8px;
.job-info-header-right {
.ui.dropdown {
> .button {
border: unset;
padding: 7px !important;
}
.menu > .item > i.icon {
margin-right: 2px;
}
}
}
}
@@ -241,7 +255,7 @@ export const actionViewRight = css`
// 步骤标题
.job-step-summary {
color: ${themeVars.color.console.fg.subtle};
padding: 8px 10px;
padding: 8px 10px !important;
&.selected {
// 滚动时固定在顶部的高度与 job-info-header 高度相同

View File

@@ -28,7 +28,7 @@ export const commit = css`
a.ui.basic.primary.label {
border-radius: 25px;
border-width: 1.5px;
padding: 5px 8px !important;
padding: 3px 8px !important;
}
}
// 提交信息右侧
@@ -67,11 +67,38 @@ export const commit = css`
export const commitStatus = css`
.flex-text-inline[data-global-init="initCommitStatuses"] {
padding: 6px;
padding: 3px;
margin-top: 2px;
border-radius: ${otherThemeVars.border.radius};
&:hover {
background-color: ${themeVars.github.control.transparent.bgColor.hover};
}
svg {
width: 16px;
height: 16px;
min-width: 16px;
min-height: 16px;
}
}
`;
// 提交图
export const commitGraph = css`
.page-content.repository #git-graph-container {
// 提交图的 SHA 标签
li .ui.label.commit-id-short {
height: 25px;
// 验证提交 SHA 标签
&.commit-is-signed {
span.ui.label.commit-is-signed {
height: 25px;
}
}
}
// 提交图的分支选择菜单框
.ui.search.selection.dropdown > .menu > .item {
flex-direction: row;
align-items: center;
}
}
`;

View File

@@ -181,17 +181,18 @@ export const repoFileView = css`
top: 0;
// 左侧文件树
.repo-view-file-tree-container {
height: calc(100vh - 64px); // 减去头部高度
height: 100vh;
// 固定头部
position: sticky;
top: 0;
overflow-y: unset;
&:after {
content: "";
position: absolute;
top: 0;
right: 0;
width: 1px;
height: calc(100% + 64px); // 头部高度
height: 100%;
background: ${themeVars.color.secondary.self};
}
> .repo-button-row {
@@ -282,6 +283,7 @@ export const repoFileView = css`
font-size: 12px;
}
.file-header-right {
gap: 0px;
// 按钮组
> .ui.buttons {
margin: 0 8px 0 0 !important; // 完全不知道为什么浏览器最终效果没生效, 只能 !important 了
@@ -298,12 +300,14 @@ export const repoFileView = css`
align-items: center;
background: ${themeVars.color.button};
border: 1px solid ${themeVars.color.light.border};
border-left-width: 0;
height: 28px;
padding: 0 8px;
svg {
color: ${themeVars.color.text.light.num1};
}
&:first-of-type {
border-left-width: 1px;
border-top-left-radius: ${otherThemeVars.border.radius};
border-bottom-left-radius: ${otherThemeVars.border.radius};
}

View File

@@ -74,7 +74,13 @@ export const activity = css`
box-shadow: ${themeVars.github.shadow.floating.small};
> .flex-item {
gap: 12px;
padding: 12px 8px 16px 14px;
padding: 16px;
> .flex-item-leading {
img {
width: 20px;
height: 20px;
}
}
> .flex-item-main {
gap: 8px !important;
> div:not([class]) {
@@ -82,14 +88,37 @@ export const activity = css`
gap: 8px;
flex-wrap: wrap;
}
relative-time {
> .tw-flex-col {
gap: 0px !important;
> .flex-text-block {
gap: 4px;
font-size: 12px;
color: ${themeVars.color.text.light.num1};
img {
width: 14px;
height: 14px;
}
.ui.sha.label {
margin-top: 0;
}
}
}
> .flex-item-body {
gap: 4px;
font-size: 12px;
color: ${themeVars.color.text.light.num1};
}
> a {
font-size: 12px;
}
}
// 动态的右侧 svg 图标
.flex-item-trailing svg {
height: 20px;
width: 20px;
.flex-item-trailing {
align-self: center;
svg {
height: 18px;
width: 18px;
}
}
}
> .page.buttons {

View File

@@ -73,6 +73,7 @@ export const issueList = css`
> .flex-item {
align-items: center;
padding: 0;
min-height: 64px;
&:last-child {
border-bottom-left-radius: ${otherThemeVars.border.radius};
border-bottom-right-radius: ${otherThemeVars.border.radius};
@@ -80,18 +81,16 @@ export const issueList = css`
&:hover {
background-color: ${themeVars.color.hover.opaque};
}
> .flex-item-icon {
display: flex;
gap: 4px;
> .flex-item-leading {
align-self: flex-start;
margin-top: 14px;
margin-left: 16px;
// 复选框
input {
background: unset;
margin-top: 14px;
margin-right: 8px !important;
}
svg {
margin-top: 14px;
> .flex-text-inline {
margin-top: 0px !important;
// 复选框
input {
margin-right: 8px !important;
}
}
}
> .flex-item-main {

View File

@@ -75,8 +75,7 @@ export const navbarRight = css`
.item.ui.dropdown {
// 头像菜单
&:last-child {
padding-left: 2px; // 调整此选项需同步增减相同的标识的 left
padding-right: 16px;
padding: 0;
.text {
// 不显示小箭头标识
> .not-mobile {
@@ -87,20 +86,12 @@ export const navbarRight = css`
border-radius: 25px;
height: 32px;
max-height: 32px;
margin: 0 !important;
}
}
}
// 用户头像的管理员标识
.navbar-profile-admin {
background-color: ${themeVars.github.bgColor.accent.emphasis};
border-radius: 25px;
border: 2px solid ${themeVars.color.nav.bg};
color: ${themeVars.color.white};
font-size: 9px;
font-weight: 600;
padding: 2px 5px;
top: -7px;
left: 21px;
&.active {
background: unset;
}
}
}
// 通知和计时器的圆点
@@ -156,6 +147,9 @@ export const secondaryNav = css`
gap: 0px;
min-height: 48px;
> .item {
// 修复手机下的菜单按钮没有居中的问题
margin-top: auto;
margin-bottom: auto;
> .ui.dropdown > .text {
display: inline-flex;
align-items: center;

View File

@@ -90,7 +90,7 @@ export const notification = css`
}
// 通知列表
&:has(#notification_table) {
> .tw-flex:first-child {
> .flex-text-block:first-child {
background-color: ${themeVars.color.box.header};
border: 1px solid ${themeVars.color.light.border};
border-bottom: 0;
@@ -137,7 +137,7 @@ export const notification = css`
color: ${themeVars.color.text.light.num1};
> .notifications-item {
border-top: 1px solid ${themeVars.color.light.border};
padding: 8px !important;
padding: 12px !important;
&:first-child {
border-top: 0;
}
@@ -153,11 +153,11 @@ export const notification = css`
box-shadow: 2px 0 0 ${themeVars.github.borderColor.accent.emphasis} inset;
color: ${themeVars.color.text.self};
}
> .notifications-link {
> .notifications-top-row {
> .notifications-link > div{
&:first-child {
font-size: 12px !important;
}
> .notifications-bottom-row {
&:last-child {
font-size: 14px !important;
}
}

View File

@@ -48,10 +48,14 @@ export const tags = css`
.tag-list-row-title {
line-height: 1.5;
}
.download {
.muted-links {
color: ${themeVars.color.text.light.num1};
font-size: 12px;
a.muted:hover {
svg {
min-width: 12px;
width: 12px;
}
a:hover {
text-decoration: none;
}
}

View File

@@ -74,7 +74,7 @@ export const repoTopic = css`
border-radius: 25px;
font-size: 12px;
font-weight: 500;
padding: 5px 10px;
padding: 2.5px 10px;
background-color: ${themeVars.github.bgColor.accent.muted};
color: ${themeVars.github.fgColor.accent};
&:hover {

View File

@@ -7,6 +7,7 @@ export const attached = css`
.user-setting-content,
.org-setting-content,
.admin-setting-content,
// 仓库动态页面
// 新建页面内容
.page-content.repository.new-repo,
.page-content.repository.new.migrate,
@@ -18,19 +19,45 @@ export const attached = css`
font-weight: 400;
background-color: unset !important;
margin-bottom: 0.25rem;
padding-left: 0;
padding-right: 0;
> .ui.right {
right: 0;
}
}
.ui.attached.segment {
background-color: unset;
border-radius: ${otherThemeVars.border.radius} !important;
}
.ui.attached.segment:not(.error) {
border-top-left-radius: ${otherThemeVars.border.radius} !important;
border-top-right-radius: ${otherThemeVars.border.radius} !important;
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
border: 1px solid ${themeVars.color.light.border} !important;
+ .ui.attached.segment {
border-top: 0 !important;
border-top-left-radius: 0 !important;
border-top-right-radius: 0 !important;
}
&:has(+ :not(.ui.attached.segment)),
&:last-child {
border-bottom-left-radius: ${otherThemeVars.border.radius} !important;
border-bottom-right-radius: ${otherThemeVars.border.radius} !important;
}
}
.ui.attached.segment.error {
border: 1px solid ${themeVars.color.error.border} !important;
}
}
`;
// 仓库活动页面下的边框线修复
export const fixActivity = css`
.page-content.repository.commits .flex-container-main:has(.ui.header.activity-header) {
> .ui.attached.segment {
border-radius: 0;
&:has(+ :not(.ui.attached.segment)) {
border-bottom-left-radius: ${otherThemeVars.border.radius};
border-bottom-right-radius: ${otherThemeVars.border.radius};
}
}
}
`;

7
styles/public/base.ts Normal file
View File

@@ -0,0 +1,7 @@
import { css } from "src/types/vars";
export const body = css`
body {
line-height: 18px;
}
`;

View File

@@ -118,6 +118,7 @@ export const fixButtonHeight = css`
.ui.labeled.button > .label {
height: 28px;
min-height: 28px;
line-height: 1.5;
}
}
.ui.ui.ui.ui.small.button.compact .ui.tiny.buttons .button,

View File

@@ -57,7 +57,7 @@ export const dropdown = css`
}
svg {
margin-top: 2px;
margin-right: 4px;
margin-right: 2px;
}
// 复选框对齐
.ui.checkbox input[type="checkbox"] {

View File

@@ -1,6 +1,7 @@
// organize-imports-ignore
// tslint:disable:ordered-imports
// 组件导入有顺序, 禁止插件优化
import "./base"; // 基础样式, 确保在其他样式之前导入
import "./radius"; // 圆角, 此样式为基础样式, 确保在其他样式之前导入
import "./animation"; // 动画效果
import "./transition"; // 过渡效果

View File

@@ -8,6 +8,7 @@ export const label = css`
&.ui.ui.ui {
&.label {
border-radius: 25px;
padding: 1.5px 6px;
// 多个标签的组合标签的圆角修复
&.scope-parent {
.scope-left {
@@ -99,10 +100,14 @@ export const shaLabel = css`
span.ui.label.commit-is-signed {
padding: 3px 5px;
margin-left: 5px;
height: 25px;
}
}
}
// 修复带验证的提交 SHA 标签的高度
.ui.label.commit-id-short {
height: 25px;
}
// 验证提交附带的图标
span.ui.label.commit-is-signed {
// 验证信任
@@ -181,7 +186,7 @@ export const repoLabel = css`
color: ${themeVars.color.text.light.num1};
font-size: 12px;
font-weight: 500;
padding: 3px 6px;
padding: 1.5px 6px;
}
}
.org-visibility span.ui.basic.label {

View File

@@ -139,6 +139,10 @@ export const menu = css`
}
}
}
// 菜单标签样式
.ui.menu .item>.label:not(.floating) {
padding: 1.5px 6px;
}
`;
export const secondaryMenu = css`

View File

@@ -8,9 +8,17 @@ export const listHeader = css`
}
`;
// 已标星的图标
export const star = css`
export const svg = css`
// 已标星的图标
.octicon-star-fill {
color: ${themeVars.github.button.star.iconColor} !important;
}
// VSCode 图标
.gitea-vscode {
color: #007acc !important;
}
// VSCodium 图标
.gitea-vscodium {
color: #429cf0 !important;
}
`;