Compare commits

..

16 Commits

Author SHA1 Message Date
lutinglt
f4ed01f60c 仓库编程语言字体颜色同步 Github 2025-01-09 17:10:43 +08:00
lutinglt
22b690da8f 仓库编程语言字体颜色调整 2025-01-09 16:32:28 +08:00
lutinglt
f7e1529ca2 1.23 2025-01-09 15:57:15 +08:00
lutinglt
b42b1d9543 去除头像圆角 2025-01-09 11:20:10 +08:00
lutinglt
2f303c70cf 仓库页面时间列绝对时间字体优化 2024-12-28 16:05:49 +08:00
lutinglt
d087fc16d7 提交页面默认字体修改 2024-12-28 00:29:26 +08:00
lutinglt
605a9e0d65 打包字体 2024-12-28 00:07:35 +08:00
lutinglt
70e65ec687 同步 Github 分支列表样式(超还原) 2024-12-27 23:05:05 +08:00
lutinglt
330e4945fd 微调下拉菜单边框阴影 2024-12-27 21:47:04 +08:00
lutinglt
c9534f7a81 微调下拉菜单的选项间隔 2024-12-27 21:02:48 +08:00
lutinglt
9180be8744 修复输入框圆角 2024-12-27 18:06:07 +08:00
lutinglt
9124c83876 Update README.md 2024-12-27 14:27:09 +08:00
lutinglt
73052da7f2 引入 fontface 2024-12-27 14:20:43 +08:00
lutinglt
5a203804be 下拉菜单样式同步 Github 2024-12-27 12:30:21 +08:00
lutinglt
3489fc94c2 折叠项观测小优化 2024-12-27 00:16:28 +08:00
lutinglt
e9d2b62b0e 优化设置界面折叠项的显示效果 2024-12-26 17:13:36 +08:00
29 changed files with 299 additions and 50 deletions

5
.github/release.md vendored
View File

@@ -1,4 +1 @@
Merry Christmas!
修复仓库提交页面提交SHA的一致性问题
修复后台设置里Runner运行日志的状态标签显示问题
仓库编程语言字体颜色同步 Github

View File

@@ -21,15 +21,18 @@ jobs:
- name: Build theme
run: |
npm install
npm run build:theme-fonts
mv dist css
npm run build:theme
tar -czf dist/theme-github-fonts.tar.gz css fonts
- uses: actions/upload-artifact@v4
with:
name: theme-github
path: dist/theme-github.css
path: dist/*
- name: Create release
run: |
export TZ=Asia/Shanghai
TAG="v${{ inputs.gitea_version }}-$(date +%Y%m%d-%H%M)"
gh release create "$TAG" dist/theme-github.css --notes-file .github/release.md -t $TAG
gh release create "$TAG" dist/* --notes-file .github/release.md --draft -t $TAG
env:
GH_TOKEN: ${{ github.token }}

View File

@@ -2,10 +2,13 @@
尽量保持与 GitHub Dark 相同样式的 Gitea 主题
字体说明:
主题说明:
- UI 默认字体 [Maple Hand](https://github.com/subframe7536/maple-font/tree/other-resources/cn-resource/maple-hand) & [VictorMono Nerd Font](https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/VictorMono.zip) & [汉仪正圆](https://www.hanyi.com.cn/productdetail.php?id=2913) (优先匹配左侧, 需要系统包含相应字体)
- Actions 日志默认字体 VictorMono 优先
添加了短暂的过渡动画优化体验(与 Github clone 下拉列表动画一致)
UI 默认字体 [Maple Hand](https://github.com/subframe7536/maple-font/tree/other-resources/cn-resource/maple-hand) & [VictorMono Nerd Font](https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/VictorMono.zip) (优先匹配 `Maple Hand`, 需要系统包含相应字体, 否则使用默认字体)
Actions 日志默认字体 `VictorMono Nerd Font` 优先
> Victor Mono 相比其他等宽字体更为紧凑, 可以减少换行
@@ -24,6 +27,23 @@ THEMES = gitea-dark, github
详细请查看 Gitea 文档 [Gitea docs](https://docs.gitea.com/next/administration/customizing-gitea#customizing-the-look-of-gitea)
### 集成字体
如果不想手动在系统安装字体, 可以将字体放入 Gitea 中, 在访问时拉取字体文件
>[!CAUTION]
>
> 不推荐此行为, 字体文件较大, 且一些字体粗细样式可能会有缺失
>
> 页面会在加载完字体后切换字体
1. 在发布页下载最新的 `theme-github-fonts.tar.gz` 解压后放入 `gitea/public/assets` 目录下
2. 清除浏览器缓存, 强制刷新浏览器查看效果
文件位置如下:
![安装](screenshots/themetree.png)
## 截图
![仓库](screenshots/repo.png)
@@ -34,9 +54,13 @@ THEMES = gitea-dark, github
![仓库提交](screenshots/commit.png)
![Actions](screenshots/action.png)
![Actions](screenshots/actions.png)
![Actions Step](screenshots/step.png)
![Action](screenshots/action.png)
![Action Step](screenshots/step.png)
![Dispatch](screenshots/dispatch.png)
## 构建

BIN
fonts/MapleHand-Bold.ttf Normal file

Binary file not shown.

BIN
fonts/MapleHand-Regular.ttf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -5,6 +5,7 @@
"scripts": {
"build": "sass src/theme-github.scss:dist/theme-github.css --no-source-map",
"build:theme": "npm run build -- --style=compressed",
"build:theme-fonts": "sass src/theme-github-fonts.scss:dist/theme-github.css --no-source-map --style=compressed",
"watch": "npm run build -- --watch"
},
"repository": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 65 KiB

BIN
screenshots/actions.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 KiB

After

Width:  |  Height:  |  Size: 394 KiB

BIN
screenshots/dispatch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 425 KiB

After

Width:  |  Height:  |  Size: 433 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 401 KiB

After

Width:  |  Height:  |  Size: 470 KiB

BIN
screenshots/themetree.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -109,7 +109,7 @@
}
}
/* 关闭工单按钮 */
// 关闭工单按钮
.ui.red.basic.button#status-button {
color: #ab7df8;
border-color: var(--color-light-border);
@@ -121,7 +121,7 @@
}
}
/* 重新开启按钮 */
// 重新开启按钮
.ui.basic.primary.button#status-button {
color: #39d353;
background-color: var(--color-button);

View File

@@ -1,4 +1,81 @@
// Made by Luting ^-^
// 下拉菜单动画
@keyframes overlay-appear {
0% {
opacity: 0;
transform: translateY(-5%);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
// clone 下拉菜单
.tippy-box {
margin-top: -6px;
background: var(--color-box-header);
border-radius: 12px;
overflow: hidden;
box-shadow: 0px 0px 0px 0.5px #30363d, 0px 6px 12px -3px rgba(1, 4, 9, 0.4), 0px 6px 18px 0px rgba(1, 4, 9, 0.4);
animation: 200ms cubic-bezier(0.33, 1, 0.68, 1) 0s 1 normal none running overlay-appear;
.clone-panel-field {
margin-top: 16px;
}
.flex-text-block.clone-panel-field {
color: #fff;
font-weight: bold;
margin-left: 16px;
}
.clone-panel-tab {
margin-left: 16px;
button {
padding: 15px 12px;
}
.active {
border-color: #f78166;
}
}
.flex-items-block {
margin: 0;
.item {
display: block;
padding: 11px 16px;
text-align: left;
text-transform: none;
line-height: 1em;
margin: 0;
svg {
margin-right: 0.5rem;
}
}
> .item:hover {
color: var(--color-text);
text-decoration: none;
background: var(--color-hover);
}
}
}
// 下拉菜单
.ui.dropdown .menu {
margin-top: 3.75px !important;
border-radius: 12px !important;
overflow: hidden auto;
box-shadow: 0px 0px 0px 0.5px #30363d, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
animation: 200ms cubic-bezier(0.33, 1, 0.68, 1) 0s 1 normal none running overlay-appear;
}
.ui.dropdown .menu,
.branch-tag-item.active,
.ui.pointing.dropdown > .menu:not(.hidden):after {
@@ -29,3 +106,52 @@
}
}
// 按钮菜单选项(主要为仓库)
.tippy-box .flex-items-block,
.ui.dropdown > .visible.menu .scrolling.menu,
.ui.button.dropdown .menu {
.item {
border-radius: var(--border-radius);
margin: 0 8px;
&:first-of-type {
border-radius: var(--border-radius);
margin-top: 8px;
}
&:last-of-type {
border-radius: var(--border-radius);
margin-bottom: 8px;
}
}
}
// 分支菜单下划线
.ui.dropdown > .visible.menu .scrolling.menu .item {
&:before {
content: ' ';
display: block;
position: absolute;
width: 100%;
top: 0px;
left: 0px;
border-width: 1px 0px 0px;
border-style: solid;
border-image: initial;
border-color: #3d444db3;
}
&:first-of-type:before {
border-color: transparent;
}
&:hover {
&:before {
border-color: transparent;
}
+ :before {
border-color: transparent;
}
}
}

48
src/fontface.scss Normal file
View File

@@ -0,0 +1,48 @@
// Made by Luting ^-^
@font-face {
font-family: 'Maple Hand';
src: url('/assets/fonts/MapleHand-Regular.ttf') format('truetype');
font-display: swap;
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Maple Hand';
src: url('/assets/fonts/MapleHand-Bold.ttf') format('truetype');
font-display: swap;
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'VictorMono NF';
src: url('/assets/fonts/VictorMonoNerdFont-Regular.ttf') format('truetype');
font-display: swap;
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'VictorMono NF';
src: url('/assets/fonts/VictorMonoNerdFont-Italic.ttf') format('truetype');
font-display: swap;
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'VictorMono NF';
src: url('/assets/fonts/VictorMonoNerdFont-Bold.ttf') format('truetype');
font-display: swap;
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'VictorMono NF';
src: url('/assets/fonts/VictorMonoNerdFont-BoldItalic.ttf') format('truetype');
font-display: swap;
font-weight: bold;
font-style: italic;
}

View File

@@ -17,10 +17,9 @@ textarea,
.ui.form input[type='time'],
.ui.form input[type='url'],
.ui.selection.dropdown {
&:focus {
border-color: #1f6feb;
}
&:focus,
&:focus-visible {
border-radius: var(--border-radius);
border-color: #1f6feb;
outline: none;
box-shadow: inset 0 0 0 1px #1f6feb;

View File

@@ -18,6 +18,7 @@
&.form input[type='url'],
&.form textarea,
&.input textarea,
&.ui.input > input,
&.label,
&.menu,
&.segment,

View File

@@ -6,7 +6,6 @@
.ui.small.primary.button {
background-color: var(--color-button);
font-size: 14px;
&:hover {
background-color: #262c36;
@@ -23,10 +22,6 @@
.page-content.repository.tags,
.page-content.repository.releases {
.ui.small.menu {
.item {
font-size: 14px;
}
.active.item {
color: #fff;
background: #1f6feb !important;

View File

@@ -1,6 +1,6 @@
// Made by Luting ^-^
/* 用户仓库列表字体颜色
/* 用户仓库列表字体颜色 */
/* .repo-list-link {
color: var(--color-blue) !important;
} */
@@ -50,12 +50,8 @@
background: #15191f;
}
&.muted.tw-font-normal {
color: #9198a1;
&:hover {
color: #9198a1 !important;
}
&.muted:not(.tw-font-normal) {
font-weight: bold;
}
}
}
@@ -106,17 +102,27 @@
// 仓库文件&提交列表
.page-content.repository {
tr.commit-list {
// clone 按钮居中调整
.repo-button-row .repo-button-row-right .ui.primary.button span {
display: flex;
align-items: center;
justify-content: center;
svg {
margin-right: 0.5rem;
}
}
.repo-file-line {
height: 3.725rem;
}
.commit-list .latest-commit {
#repo-files-table .latest-commit {
.commit-summary {
color: #9198a1;
}
img.tw-align-middle {
border-radius: 25px;
margin-top: -1px;
margin-left: 1px;
margin-right: 8px !important;
@@ -135,9 +141,9 @@
}
}
.tw-flex,
.commit-list {
.tw-align-middle:not(img) {
.commit-list,
#repo-files-table {
.flex-text-inline:not(img) {
padding: 6px;
border-radius: var(--border-radius);
margin-right: 6px;
@@ -151,16 +157,12 @@
.repository.file.list {
#repo-files-table {
tbody {
.repo-file-item {
.svg.octicon-file-directory-fill,
.svg.octicon-file-submodule {
color: #7d8590;
}
}
tr:hover {
background-color: var(--color-box-header);
}
}
}
@@ -171,7 +173,6 @@
}
img {
border-radius: 25px;
margin-right: 8px !important;
}
}
@@ -180,3 +181,8 @@
color: #919894;
}
}
// 编程语言仅语言文字颜色
.language-stats-details .item .tw-font-semibold {
color: #f0f6fc;
}

View File

@@ -1,13 +1,22 @@
// Made by Luting ^-^
:root :lang(zh-CN) {
--fonts-override: 'Maple Hand', 'VictorMono Nerd Font', 'HYZhengYuan';
--fonts-override: 'Maple Hand', 'VictorMono NF', 'VictorMono Nerd Font';
}
.job-step-logs {
font-family: 'VictorMono Nerd Font', 'Maple Hand', 'HYZhengYuan' !important;
font-family: 'VictorMono NF', 'VictorMono Nerd Font', 'Maple Hand' !important;
font-weight: 500;
}
.repository {
#commits-table .text.right,
#repo-files-table .repo-file-cell.age,
#repo-files-table relative-time {
font-family: 'VictorMono NF', 'VictorMono Nerd Font', 'Maple Hand';
font-weight: bold !important;
}
}
:root {
--is-dark-theme: true;
--border-radius: 6px;

View File

@@ -1,5 +1,17 @@
// Made by Luting ^-^
// 设置左边栏(包含 Actions 的工作流栏)
%active-item-after-style {
background: #1f6feb;
border-radius: 0.375rem;
content: '';
height: 1.8rem;
left: calc(0.5rem * -1);
position: absolute;
top: calc(50% - 13px);
width: 0.25rem;
}
.ui.vertical.menu {
background: var(--color-body);
border: 0;
@@ -30,14 +42,37 @@
}
.active.item:after {
background: #1f6feb;
border-radius: 0.375rem;
content: '';
height: 1.8rem;
left: calc(0.5rem * -1);
position: absolute;
top: calc(50% - 13px);
width: 0.25rem;
@extend %active-item-after-style;
}
details {
&:has(.active.item) {
> summary {
background: #161a21;
&:hover {
background: var(--color-hover);
}
}
&[open] {
> summary {
background: unset;
&:hover {
background: var(--color-hover);
}
}
&:after {
display: none;
}
}
&:after {
@extend %active-item-after-style;
}
}
}
}

View File

@@ -0,0 +1,3 @@
/* Made by Luting ^-^ */
@use 'fontface';
@use 'theme-github';

View File

@@ -4,6 +4,7 @@ textarea,
tr,
td,
button,
details summary,
#navbar .item,
.header-wrapper .ui.tabular.menu .item,
.job-step-summary,
@@ -11,6 +12,7 @@ button,
.job-brief-item,
.menu .item,
.page-content.repository .flex-item .flex-item-title a,
.tippy-box .flex-items-block .item,
.ui.input > input,
.ui.form input:not([type]),
.ui.form select,