feat(theme): 主题结构调整 增加actions自动构建
Theme CD / cd (release) Failing after 1s

这个提交包含在:
rohow
2026-01-20 17:06:13 +08:00
未验证
父节点 4d7d4cc4e3
当前提交 dc0e443f01
修改 66 个文件,包含 52 行新增60 行删除
+16
查看文件
@@ -0,0 +1,16 @@
name: Theme CD
on:
release:
types:
- published
jobs:
cd:
uses: halo-sigs/reusable-workflows/.github/workflows/theme-cd.yaml@v3
permissions:
contents: write
with:
skip-appstore-release: true
node-version: 22
pnpm-version: 10
+1 -1
查看文件
@@ -27,4 +27,4 @@ release
.gradle .gradle
build build
dev/data docker/data
@@ -3,7 +3,7 @@ services:
image: registry.fit2cloud.com/halo/halo:2.20.10 image: registry.fit2cloud.com/halo/halo:2.20.10
volumes: volumes:
- ./data:/root/.halo2 - ./data:/root/.halo2
- ../theme-terminal:/root/.halo2/themes/theme-terminal - ../:/root/.halo2/themes/theme-terminal
ports: ports:
- "8090:8090" - "8090:8090"
environment: environment:
查看文件
查看文件
@@ -38,7 +38,7 @@
& > *:first-child:not(:only-child) { & > *:first-child:not(:only-child) {
margin-right: 10px; margin-right: 10px;
@media (max-width: $tablet-max-width) { @media (max-width: $tablet-max-width) {
border: none; border: none;
padding: 0; padding: 0;
margin: 0; margin: 0;
@@ -62,7 +62,7 @@
font-size: 0.75rem; font-size: 0.75rem;
} }
} }
.beian { .beian {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
@@ -10,7 +10,7 @@
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
.dividing { .dividing {
flex: 1; flex: 1;
background: repeating-linear-gradient(90deg, var(--foreground), var(--foreground) 2px, transparent 0, transparent 10px); background: repeating-linear-gradient(90deg, var(--foreground), var(--foreground) 2px, transparent 0, transparent 10px);
@@ -33,7 +33,7 @@
position: relative; position: relative;
flex: 0 0 auto; flex: 0 0 auto;
padding-bottom: 10px; padding-bottom: 10px;
&.active { &.active {
color: var(--cyan); color: var(--cyan);
} }
@@ -67,7 +67,7 @@
margin-right: 0; margin-right: 0;
} }
} }
&.open { &.open {
display: block; display: block;
} }
@@ -1,7 +1,7 @@
.logo { .logo {
display: flex; display: flex;
align-items: center; align-items: center;
.icon { .icon {
max-width: 100%; max-width: 100%;
max-height: 35px; max-height: 35px;
@@ -10,7 +10,7 @@
object-fit: cover; object-fit: cover;
margin-right: 10px; margin-right: 10px;
} }
.text { .text {
display: flex; display: flex;
padding: 3px 10px; padding: 3px 10px;
@@ -218,7 +218,7 @@ ul, ol {
li { li {
position: relative; position: relative;
p { p {
margin-top: .125rem; margin-top: .125rem;
margin-bottom: .125rem; margin-bottom: .125rem;
@@ -8,11 +8,13 @@
border: 1px solid var(--red); border: 1px solid var(--red);
color: var(--red); color: var(--red);
padding: 20px; padding: 20px;
*:first-child { *:first-child {
margin-top: 0; margin-top: 0;
} }
*:last-child { *:last-child {
margin-bottom: 0; margin-bottom: 0;
} }
} }
@@ -30,10 +32,10 @@
@media (max-width: $tablet-max-width) { @media (max-width: $tablet-max-width) {
max-width: 660px; max-width: 660px;
} }
&:not(:last-of-type) { &:not(:last-of-type) {
border-bottom: 1px solid var(--foreground); border-bottom: 1px solid var(--foreground);
} }
%meta { %meta {
font-size: 1rem; font-size: 1rem;
@@ -53,14 +55,14 @@
&-title { &-title {
--border: 3px dotted var(--blue); --border: 3px dotted var(--blue);
position: relative; position: relative;
color: var(--blue); color: var(--blue);
margin: 0 0 15px; margin: 0 0 15px;
padding-bottom: 15px; padding-bottom: 15px;
font-weight: normal; font-weight: normal;
border-bottom: var(--border); border-bottom: var(--border);
&::after { &::after {
content: ""; content: "";
position: absolute; position: absolute;
@@ -138,7 +140,7 @@
justify-content: center; justify-content: center;
margin-bottom: 10px; margin-bottom: 10px;
&+ h2 { & + h2 {
margin-top: -10px; margin-top: -10px;
margin-bottom: 20px; margin-bottom: 20px;
} }
@@ -146,7 +148,7 @@
} }
.post-list { .post-list {
padding: .25rem 0; padding: .25rem 0;
.post-date { .post-date {
+15
查看文件
@@ -0,0 +1,15 @@
/* 光标样式 */
.typed-text::after {
content: '|';
display: inline-block;
opacity: 0;
animation: blink 0.7s infinite alternate; /* 闪烁动画 */
vertical-align: text-bottom;
}
/* 闪烁动画 */
@keyframes blink {
to {
opacity: 1;
}
}
+1 -1
查看文件
@@ -6,7 +6,7 @@ export const typewriterEffect = (selectors: string) => {
const text = typedTextContainer.innerText const text = typedTextContainer.innerText
// 清原有的文本 // 清原有的文本
typedTextContainer.innerText = '' typedTextContainer.innerText = ''
// 实现打字机效果 // 实现打字机效果

之前

宽度:  |  高度:  |  大小: 11 KiB

之后

宽度:  |  高度:  |  大小: 11 KiB

-12
查看文件
@@ -1,12 +0,0 @@
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false
-14
查看文件
@@ -1,14 +0,0 @@
module.exports = {
root: true,
parser: "@typescript-eslint/parser",
plugins: ["@typescript-eslint", "prettier"],
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"prettier",
],
env: {
node: true,
},
};
-15
查看文件
@@ -1,15 +0,0 @@
/* 光标样式 */
.typed-text::after {
content: '|';
display: inline-block;
opacity: 0;
animation: blink 0.7s infinite alternate; /* 闪烁动画 */
vertical-align: text-bottom;
}
/* 闪烁动画 */
@keyframes blink {
to {
opacity: 1;
}
}