@@ -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
|
||||
build
|
||||
|
||||
dev/data
|
||||
docker/data
|
||||
|
||||
@@ -3,7 +3,7 @@ services:
|
||||
image: registry.fit2cloud.com/halo/halo:2.20.10
|
||||
volumes:
|
||||
- ./data:/root/.halo2
|
||||
- ../theme-terminal:/root/.halo2/themes/theme-terminal
|
||||
- ../:/root/.halo2/themes/theme-terminal
|
||||
ports:
|
||||
- "8090:8090"
|
||||
environment:
|
||||
第三方依赖
@@ -38,7 +38,7 @@
|
||||
& > *:first-child:not(:only-child) {
|
||||
margin-right: 10px;
|
||||
|
||||
@media (max-width: $tablet-max-width) {
|
||||
@media (max-width: $tablet-max-width) {
|
||||
border: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
@@ -62,7 +62,7 @@
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.beian {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
@@ -10,7 +10,7 @@
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
.dividing {
|
||||
flex: 1;
|
||||
background: repeating-linear-gradient(90deg, var(--foreground), var(--foreground) 2px, transparent 0, transparent 10px);
|
||||
@@ -33,7 +33,7 @@
|
||||
position: relative;
|
||||
flex: 0 0 auto;
|
||||
padding-bottom: 10px;
|
||||
|
||||
|
||||
&.active {
|
||||
color: var(--cyan);
|
||||
}
|
||||
@@ -67,7 +67,7 @@
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.open {
|
||||
display: block;
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
.logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
|
||||
.icon {
|
||||
max-width: 100%;
|
||||
max-height: 35px;
|
||||
@@ -10,7 +10,7 @@
|
||||
object-fit: cover;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
.text {
|
||||
display: flex;
|
||||
padding: 3px 10px;
|
||||
@@ -218,7 +218,7 @@ ul, ol {
|
||||
|
||||
li {
|
||||
position: relative;
|
||||
|
||||
|
||||
p {
|
||||
margin-top: .125rem;
|
||||
margin-bottom: .125rem;
|
||||
@@ -8,11 +8,13 @@
|
||||
border: 1px solid var(--red);
|
||||
color: var(--red);
|
||||
padding: 20px;
|
||||
|
||||
*:first-child {
|
||||
margin-top: 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
*:last-child {
|
||||
margin-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,10 +32,10 @@
|
||||
@media (max-width: $tablet-max-width) {
|
||||
max-width: 660px;
|
||||
}
|
||||
|
||||
|
||||
&:not(:last-of-type) {
|
||||
border-bottom: 1px solid var(--foreground);
|
||||
}
|
||||
}
|
||||
|
||||
%meta {
|
||||
font-size: 1rem;
|
||||
@@ -53,14 +55,14 @@
|
||||
|
||||
&-title {
|
||||
--border: 3px dotted var(--blue);
|
||||
|
||||
|
||||
position: relative;
|
||||
color: var(--blue);
|
||||
margin: 0 0 15px;
|
||||
padding-bottom: 15px;
|
||||
font-weight: normal;
|
||||
border-bottom: var(--border);
|
||||
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
@@ -138,7 +140,7 @@
|
||||
justify-content: center;
|
||||
margin-bottom: 10px;
|
||||
|
||||
&+ h2 {
|
||||
& + h2 {
|
||||
margin-top: -10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
@@ -146,7 +148,7 @@
|
||||
}
|
||||
|
||||
.post-list {
|
||||
|
||||
|
||||
padding: .25rem 0;
|
||||
|
||||
.post-date {
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ export const typewriterEffect = (selectors: string) => {
|
||||
|
||||
const text = typedTextContainer.innerText
|
||||
|
||||
// 清楚原有的文本
|
||||
// 清除原有的文本
|
||||
typedTextContainer.innerText = ''
|
||||
|
||||
// 实现打字机效果
|
||||
|
之前 宽度: | 高度: | 大小: 11 KiB 之后 宽度: | 高度: | 大小: 11 KiB |
@@ -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
|
||||
@@ -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,
|
||||
},
|
||||
};
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
在新议题中引用
屏蔽一个用户