Compare commits
	
		
			22 Commits
		
	
	
		
			v1.23.1-20
			...
			v1.23.3-20
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 53f074ba79 | ||
|   | 174b643896 | ||
|   | e0080279f9 | ||
|   | ca8ab147dd | ||
|   | 8f80e88ebb | ||
|   | 5e8475ab35 | ||
|   | bc96ec111e | ||
|   | 532970323a | ||
|   | e1d1a2d0f9 | ||
|   | fe7cb17617 | ||
|   | 5280962bc4 | ||
|   | 915d139d86 | ||
|   | d12dba2373 | ||
|   | 63b2f3fa7b | ||
|   | 1078e4e73a | ||
|   | 2c03bd213a | ||
|   | 7c81b764db | ||
|   | 596af871ce | ||
|   | 121b49d43d | ||
|   | cfaef6de31 | ||
|   | 38c3d8f4bf | ||
|   | 608b8d5e2e | 
							
								
								
									
										7
									
								
								.github/release-template.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,7 @@ | ||||
| ## 🌈 Style | ||||
|  | ||||
| #### 更符合 GitHub 风格 | ||||
|  | ||||
| ## 🎈 Perf | ||||
|  | ||||
| ## 🐞 Fix | ||||
							
								
								
									
										7
									
								
								.github/release.md
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -1,2 +1,5 @@ | ||||
| 精调仓库代码页面侧边栏同步 Github | ||||
| 仓库代码页面顶部统计栏颜色(提交/分支/标签)类似 Github | ||||
| ## 🌈 Style | ||||
|  | ||||
| #### 更符合 GitHub 风格 | ||||
|  | ||||
| - 增加克隆协议选择按钮样式 | ||||
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
								
							
							
						
						| @@ -2,16 +2,13 @@ | ||||
|  | ||||
| 尽量保持与 GitHub Dark 相同样式的 Gitea 主题 | ||||
|  | ||||
| 主题说明: | ||||
|  | ||||
| 添加了短暂的过渡动画优化体验(与 Github clone 下拉列表动画一致) | ||||
| ### 主题说明 | ||||
|  | ||||
| 添加了短暂的过渡动画优化体验(与 GitHub Code 克隆列表动画一致) | ||||
|  | ||||
| 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 相比其他等宽字体更为紧凑, 可以减少换行 | ||||
|  | ||||
| ## 安装 | ||||
|  | ||||
| 1. 在发布页下载最新的 `theme-github.css` 放入 `gitea/public/assets/css` 目录下 | ||||
| @@ -58,8 +55,6 @@ THEMES = gitea-dark, github | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ## 构建 | ||||
|   | ||||
| @@ -6,6 +6,7 @@ | ||||
|     "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", | ||||
|     "build:theme-my": "sass src/theme-github-my.scss:dist/theme-github.css --no-source-map --style=compressed", | ||||
|     "watch": "npm run build -- --watch" | ||||
|   }, | ||||
|   "repository": { | ||||
|   | ||||
| Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 109 KiB | 
| Before Width: | Height: | Size: 433 KiB After Width: | Height: | Size: 343 KiB | 
| Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 187 KiB | 
| Before Width: | Height: | Size: 470 KiB After Width: | Height: | Size: 211 KiB | 
| Before Width: | Height: | Size: 130 KiB | 
							
								
								
									
										173
									
								
								src/actions.scss
									
									
									
									
									
								
							
							
						
						| @@ -1,37 +1,150 @@ | ||||
| // Made by Luting ^-^ | ||||
| .job-step-summary { | ||||
|   color: var(--color-console-fg-subtle); | ||||
| // 工作流禁用标签 | ||||
| .ui.vertical.menu .item > .ui.red.label { | ||||
|   color: var(--color-error-text); | ||||
|   border: 1px solid var(--color-error-border); | ||||
|   background: var(--color-error-bg); | ||||
|   margin-top: 0.5px; | ||||
| } | ||||
|  | ||||
| .job-log-line { | ||||
|   color: var(--color-text); | ||||
| // 手动工作流下拉列表 | ||||
| #runWorkflowDispatchForm { | ||||
|   // 分支选择按钮 | ||||
|   .ui.dropdown.button.branch-selector-dropdown { | ||||
|     padding: 8px 24px 8px 8px; | ||||
|  | ||||
|   &:hover { | ||||
|     color: #fff; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .job-brief-item { | ||||
|   position: relative; | ||||
|   border-radius: 0.5rem !important; | ||||
|  | ||||
|   &:hover { | ||||
|     background-color: var(--color-hover) !important; | ||||
|   } | ||||
|  | ||||
|   &.selected { | ||||
|     background-color: #161a21 !important; | ||||
|  | ||||
|     &:after { | ||||
|       overflow: visible; | ||||
|       background: #1f6feb; | ||||
|       border-radius: 0.375rem; | ||||
|       content: ''; | ||||
|       height: 1.8rem; | ||||
|       left: calc(0rem * -1); | ||||
|       position: absolute; | ||||
|       top: calc(50% - 13px); | ||||
|       width: 0.25rem; | ||||
|     svg.octicon-git-branch { | ||||
|       margin-right: 6px; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .ui.container.action-view-container { | ||||
|   width: auto; | ||||
|   max-width: 100%; | ||||
|   padding: 0 24px 0 16px; | ||||
|  | ||||
|   .action-view-header { | ||||
|     margin-top: 20px; | ||||
|  | ||||
|     .action-info-summary { | ||||
|       margin-left: 14px; | ||||
|     } | ||||
|  | ||||
|     .action-commit-summary { | ||||
|       margin-left: 28+14px; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .action-view-left.action-view-left { | ||||
|   width: 16.5%; | ||||
| } | ||||
|  | ||||
| .action-view-right.action-view-right { | ||||
|   width: 83.5%; | ||||
| } | ||||
|  | ||||
| @media (max-width: 767.98px) { | ||||
|   .action-view-left.action-view-left, | ||||
|   .action-view-right.action-view-right { | ||||
|     width: 100%; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .action-view-left { | ||||
|   margin-top: 16px; | ||||
|   margin-right: 28px; | ||||
|   border-top: 1px solid #2f353d; | ||||
|  | ||||
|   &:before { | ||||
|     content: 'Jobs'; | ||||
|     color: #9198a1; | ||||
|     font-size: 12px; | ||||
|     font-weight: 600; | ||||
|     position: relative; | ||||
|     display: inline-block; | ||||
|     margin-top: 22px; | ||||
|     top: -8px; | ||||
|     left: 15px; | ||||
|   } | ||||
|  | ||||
|   .job-group-section { | ||||
|     padding-right: 8px; | ||||
|     padding-bottom: 8px; | ||||
|     border-bottom: 1px solid #2f353d; | ||||
|  | ||||
|     .job-brief-item { | ||||
|       border-radius: 0.5rem !important; | ||||
|       padding: 8px; | ||||
|       position: relative; | ||||
|       margin-left: 0.5rem; | ||||
|  | ||||
|       &.selected { | ||||
|         background-color: #161a21; | ||||
|  | ||||
|         &:hover { | ||||
|           background-color: var(--color-hover); | ||||
|         } | ||||
|  | ||||
|         &:after { | ||||
|           overflow: visible; | ||||
|           background: #1f6feb; | ||||
|           border-radius: 0.375rem; | ||||
|           content: ''; | ||||
|           height: 24px; | ||||
|           left: calc(0.5rem * -1); | ||||
|           position: absolute; | ||||
|           top: calc(50% - 12px); | ||||
|           width: 4px; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .action-view-right { | ||||
|   margin-top: 16px; | ||||
|   min-height: calc(100vh - 245px); | ||||
|  | ||||
|   .job-info-header { | ||||
|     padding: 16px 12px 16px 24px; | ||||
|     height: auto; | ||||
|   } | ||||
|  | ||||
|   .job-step-container { | ||||
|     .job-step-summary { | ||||
|       color: var(--color-console-fg-subtle); | ||||
|       padding: 8px 10px; | ||||
|  | ||||
|       &.step-expandable:hover { | ||||
|         color: var(--color-console-fg-subtle); | ||||
|       } | ||||
|  | ||||
|       .tw-mr-2:not(.svg) svg.svg { | ||||
|         margin: 1.5px 6px 0px 2px; | ||||
|       } | ||||
|  | ||||
|       svg.svg.text.green { | ||||
|         color: #9198a1 !important; | ||||
|       } | ||||
|  | ||||
|       &.selected { | ||||
|         color: var(--color-console-fg) !important; | ||||
|         background-color: var(--color-console-active-bg) !important; | ||||
|  | ||||
|         svg.svg.text.green { | ||||
|           color: #f0f6fc !important; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .job-log-line { | ||||
|       color: #f0f6fc; | ||||
|  | ||||
|       .log-msg:hover * { | ||||
|         color: #f0f6fc !important; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -14,7 +14,7 @@ | ||||
|  | ||||
| // clone 下拉菜单 | ||||
| .tippy-box { | ||||
|   margin-top: -6px; | ||||
|   margin-top: -3px; | ||||
|   background: var(--color-box-header); | ||||
|   border-radius: 12px; | ||||
|   overflow: hidden; | ||||
| @@ -35,11 +35,30 @@ | ||||
|     margin-left: 16px; | ||||
|  | ||||
|     button { | ||||
|       padding: 15px 12px; | ||||
|       color: #f0f6fc !important; | ||||
|       padding: 6px 8px; | ||||
|       margin: 8px 0; | ||||
|  | ||||
|       &:hover { | ||||
|         background: var(--color-hover); | ||||
|         border-radius: var(--border-radius); | ||||
|       } | ||||
|  | ||||
|       &.active:after { | ||||
|         content: ""; | ||||
|         display: block; | ||||
|         position: absolute; | ||||
|         bottom: -8px; | ||||
|         left: 0; | ||||
|         width: 100%; | ||||
|         height: 2px; | ||||
|         background: #f78166; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .active { | ||||
|       border-color: #f78166; | ||||
|     .item.active { | ||||
|       border-bottom: 0; | ||||
|       position: relative; | ||||
|     } | ||||
|   } | ||||
|  | ||||
| @@ -111,6 +130,8 @@ | ||||
| .ui.dropdown > .visible.menu .scrolling.menu, | ||||
| .ui.button.dropdown .menu { | ||||
|   .item { | ||||
|     display: flex; | ||||
|     align-items: center; | ||||
|     border-radius: var(--border-radius); | ||||
|     margin: 0 8px; | ||||
|  | ||||
| @@ -126,32 +147,51 @@ | ||||
|   } | ||||
| } | ||||
|  | ||||
| // 分支菜单下划线 | ||||
| .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; | ||||
| .ui.dropdown.branch-selector-dropdown > .visible.menu { | ||||
|   // 仓库分支列表下查看操作按钮 | ||||
|   > .item { | ||||
|     display: flex; | ||||
|     align-items: center; | ||||
|     border-radius: var(--border-radius); | ||||
|     margin: 8px; | ||||
|     padding: 6px 8px !important; | ||||
|   } | ||||
|  | ||||
|   &:first-of-type:before { | ||||
|     border-color: transparent; | ||||
|   } | ||||
|   .scrolling.menu .item { | ||||
|     padding: 6px 16px !important; | ||||
|  | ||||
|   &:hover { | ||||
|     // 分支菜单下划线 | ||||
|     &: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; | ||||
|     } | ||||
|  | ||||
|     + :before { | ||||
|       border-color: transparent; | ||||
|     &:hover { | ||||
|       &:before { | ||||
|         border-color: transparent; | ||||
|       } | ||||
|  | ||||
|       + :before { | ||||
|         border-color: transparent; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .ui.label { | ||||
|       margin-top: 1px; | ||||
|       margin-left: auto; | ||||
|       margin-right: 0; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -9,14 +9,12 @@ a.ui.basic.label:hover { | ||||
|   border-color: var(--color-light-border); | ||||
| } | ||||
|  | ||||
| .ui.basic.label.not-mobile, | ||||
| .ui.basic.label.role-label, | ||||
| .page-content.dashboard.feeds .ui.basic.label, | ||||
| .page-content.explore .ui.basic.label, | ||||
| .page-content.organization .ui.basic.label, | ||||
| .admin-setting-content .ui.basic.label { | ||||
|   border-radius: 25px; | ||||
|   background-color: unset; | ||||
| span, | ||||
| .secondary-nav .org-visibility div { | ||||
|   &.ui.basic.label { | ||||
|     border-radius: 25px; | ||||
|     background-color: unset; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .badge.tw-bg-green, | ||||
|   | ||||
| @@ -1,7 +1,50 @@ | ||||
| // Made by Luting ^-^ | ||||
| .page-content.repository.releases { | ||||
|   svg.tw-mr-1.svg.octicon-tag { | ||||
|     color: #3fb950; | ||||
|   #release-list .release-entry { | ||||
|     .meta { | ||||
|       gap: 2px; | ||||
|       padding-top: 24px; | ||||
|       padding-right: 40px; | ||||
|       text-align: left; | ||||
|       min-width: 0; | ||||
|       flex: 0.125; | ||||
|  | ||||
|       a.muted { | ||||
|         color: #9198a1; | ||||
|         overflow: hidden; | ||||
|         text-overflow: ellipsis; | ||||
|         white-space: nowrap; | ||||
|         word-break: break-all; | ||||
|  | ||||
|         svg { | ||||
|           margin-right: 8px !important; | ||||
|         } | ||||
|  | ||||
|         svg.tw-mr-1.svg.octicon-tag { | ||||
|           margin-top: 1px; | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       .js-branch-tag-selector { | ||||
|         margin-top: 8px; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .segment.detail { | ||||
|       p.text.grey { | ||||
|         margin: 16px 0; | ||||
|       } | ||||
|  | ||||
|       .markup { | ||||
|         > *:first-child { | ||||
|           margin-top: 16px !important; | ||||
|         } | ||||
|  | ||||
|         > *:last-child { | ||||
|           margin-bottom: 16px !important; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .ui.small.primary.button { | ||||
|   | ||||
| @@ -41,7 +41,7 @@ | ||||
|         } | ||||
|  | ||||
|         &.muted:not(.tw-font-normal) { | ||||
|           font-weight: bold; | ||||
|           font-weight: 600; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
| @@ -110,13 +110,7 @@ | ||||
|  | ||||
|   // 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; | ||||
|     } | ||||
|     margin: 0px 3px; | ||||
|   } | ||||
|  | ||||
|   .repo-file-line { | ||||
| @@ -196,6 +190,9 @@ | ||||
|     } | ||||
|  | ||||
|     .flex-item { | ||||
|       .flex-item-title { | ||||
|         margin-top: 2px; | ||||
|       } | ||||
|       .flex-item-body { | ||||
|         padding: 8px 0; | ||||
|  | ||||
| @@ -204,7 +201,7 @@ | ||||
|         } | ||||
|  | ||||
|         #repo-topics { | ||||
|           margin: 8px 0px !important; | ||||
|           margin: 10px 0px !important; | ||||
|  | ||||
|           .repo-topic.ui.label { | ||||
|             font-size: 12px; | ||||
| @@ -215,6 +212,22 @@ | ||||
|  | ||||
|         .flex-text-block { | ||||
|           font-size: 14px; | ||||
|           font-weight: 600; | ||||
|           margin-top: 10px; | ||||
|  | ||||
|           &.muted { | ||||
|             margin-top: 2px; | ||||
|             font-weight: normal; | ||||
|           } | ||||
|  | ||||
|           svg.svg { | ||||
|             margin-right: 4px; | ||||
|  | ||||
|             &.octicon-database, | ||||
|             &.octicon-law { | ||||
|               margin-right: 6px; | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
| @@ -234,6 +247,7 @@ | ||||
|         .flex-item-icon { | ||||
|           svg.svg.octicon-tag { | ||||
|             color: #3fb950; | ||||
|             margin-top: 3px; | ||||
|           } | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -4,8 +4,7 @@ | ||||
| } | ||||
|  | ||||
| .job-step-logs { | ||||
|   font-family: 'VictorMono NF', 'VictorMono Nerd Font', 'Maple Hand' !important; | ||||
|   font-weight: 500; | ||||
|   font-family: 'ui-monospace', 'SFMono-Regular', 'SF Mono', 'Menlo', 'Consolas', 'Liberation Mono', 'monospace', 'Maple Hand' !important; | ||||
| } | ||||
|  | ||||
| .repository { | ||||
| @@ -20,7 +19,6 @@ | ||||
| :root { | ||||
|   --is-dark-theme: true; | ||||
|   --border-radius: 6px; | ||||
|   --font-weight-semibold: bold; | ||||
|   --color-primary: var(--color-blue); | ||||
|   --color-primary-contrast: #fff; | ||||
|   --color-primary-dark-1: #739cb3; | ||||
| @@ -146,8 +144,8 @@ | ||||
|   --color-console-fg-subtle: #9198a1; | ||||
|   --color-console-bg: #010409; | ||||
|   --color-console-border: #2b3139; | ||||
|   --color-console-active-bg: var(--color-active); | ||||
|   --color-console-hover-bg: var(--color-hover); | ||||
|   --color-console-active-bg: #2a313c; | ||||
|   --color-console-hover-bg: #15191f; | ||||
|   --color-console-menu-bg: var(--color-body); | ||||
|   --color-console-menu-border: var(--color-light-border); | ||||
|   --color-grey: #505665; | ||||
| @@ -212,8 +210,8 @@ | ||||
|   --color-light: #00000028; | ||||
|   --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); | ||||
|   --color-light-border: #3d444d; | ||||
|   --color-hover: #252c34; | ||||
|   --color-active: #2a313c; | ||||
|   --color-hover: #656c7633; | ||||
|   --color-active: #161a21; | ||||
|   --color-menu: #0d1117; | ||||
|   --color-card: #0d1117; | ||||
|   --color-markup-table-row: #ffffff06; | ||||
|   | ||||
| @@ -5,11 +5,11 @@ | ||||
|   background: #1f6feb; | ||||
|   border-radius: 0.375rem; | ||||
|   content: ''; | ||||
|   height: 1.8rem; | ||||
|   height: 24px; | ||||
|   left: calc(0.5rem * -1); | ||||
|   position: absolute; | ||||
|   top: calc(50% - 13px); | ||||
|   width: 0.25rem; | ||||
|   top: calc(50% - 12px); | ||||
|   width: 4px; | ||||
| } | ||||
|  | ||||
| .ui.vertical.menu { | ||||
| @@ -33,7 +33,7 @@ | ||||
|     font-size: 1.1rem; | ||||
|     font-weight: 500; | ||||
|     background: unset; | ||||
|     padding: 8px; | ||||
|     padding: 6px 8px; | ||||
|     color: var(--color-white) !important; | ||||
|   } | ||||
|  | ||||
|   | ||||
							
								
								
									
										12
									
								
								src/theme-github-my.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,12 @@ | ||||
| /* Made by Luting ^-^ */ | ||||
| // 独家秘制小主题 | ||||
| @use 'theme-github'; | ||||
|  | ||||
| .repository { | ||||
|   #commits-table .text.right, | ||||
|   #repo-files-table .repo-file-cell.age, | ||||
|   #repo-files-table relative-time { | ||||
|     font-family: 'Maple Mono NF', 'Maple Hand'; | ||||
|     font-weight: normal !important; | ||||
|   } | ||||
| } | ||||