doracoin gist felülvizsgálása . Revízióhoz ugrás
1 file changed, 32 insertions
build-quartz.sh(fájl létrehozva)
| @@ -0,0 +1,32 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | set -euo pipefail | |
| 4 | + | ||
| 5 | + | # 默认路径 | |
| 6 | + | REPO_DIR_DEFAULT="/opt/DoraCoinsMindGarden" | |
| 7 | + | OUTPUT_DIR_DEFAULT="/www/quartz-public" | |
| 8 | + | ||
| 9 | + | # 允许命令行传参覆盖 | |
| 10 | + | REPO_DIR="${1:-$REPO_DIR_DEFAULT}" | |
| 11 | + | OUTPUT_DIR="${2:-$OUTPUT_DIR_DEFAULT}" | |
| 12 | + | ||
| 13 | + | echo "=== Quartz 构建参数 ===" | |
| 14 | + | echo "Repo Dir : $REPO_DIR" | |
| 15 | + | echo "Output Dir : $OUTPUT_DIR" | |
| 16 | + | ||
| 17 | + | # 确保输出目录存在 | |
| 18 | + | mkdir -p "$OUTPUT_DIR" | |
| 19 | + | ||
| 20 | + | echo "=== 更新仓库 ===" | |
| 21 | + | cd "$REPO_DIR" | |
| 22 | + | git pull || true | |
| 23 | + | ||
| 24 | + | echo "=== 构建 Quartz ===" | |
| 25 | + | ||
| 26 | + | docker run --rm \ | |
| 27 | + | -v "$REPO_DIR:/usr/src/app/content" \ | |
| 28 | + | -v "$OUTPUT_DIR:/output" \ | |
| 29 | + | doracoin/quartz-builder:4.5.2 \ | |
| 30 | + | bash -c "npx quartz build && cp -r public/* /output/" | |
| 31 | + | ||
| 32 | + | echo "=== 构建完成 ===" | |
doracoin gist felülvizsgálása . Revízióhoz ugrás
1 file changed, 1 insertion, 1 deletion
build-docker.sh
| @@ -4,7 +4,7 @@ set -euo pipefail | |||
| 4 | 4 | ||
| 5 | 5 | cd "$(dirname "$0")" | |
| 6 | 6 | ||
| 7 | - | REPO="coin/quartz-builder" | |
| 7 | + | REPO="doracoin/quartz-builder" | |
| 8 | 8 | ||
| 9 | 9 | git pull | |
| 10 | 10 | ||
doracoin gist felülvizsgálása . Revízióhoz ugrás
2 files changed, 29 insertions, 18 deletions
Dockerfile (fájl törölve)
| @@ -1,18 +0,0 @@ | |||
| 1 | - | FROM node:22-slim AS builder | |
| 2 | - | ||
| 3 | - | WORKDIR /usr/src/app | |
| 4 | - | ||
| 5 | - | COPY package.json . | |
| 6 | - | COPY package-lock.json* . | |
| 7 | - | ||
| 8 | - | RUN npm ci | |
| 9 | - | ||
| 10 | - | # 这里新增 patch,解决quartz构建时,遇到文档中包含emoji则构建报错的问题 | |
| 11 | - | RUN sed -i '/CustomOgImages/d' quartz.config.ts | |
| 12 | - | ||
| 13 | - | FROM node:22-slim | |
| 14 | - | WORKDIR /usr/src/app | |
| 15 | - | COPY --from=builder /usr/src/app/ /usr/src/app/ | |
| 16 | - | COPY . . | |
| 17 | - | ||
| 18 | - | CMD ["npx", "quartz", "build", "--serve"] | |
Readme.md(fájl létrehozva)
| @@ -0,0 +1,29 @@ | |||
| 1 | + | 执行 `build-docker.sh` 之前 | |
| 2 | + | 先 `nano quartz.config.ts`, | |
| 3 | + | 使用 Ctrl+W 搜索:`CustomOgImages`,找到这一行将它注释,可以解决文章中包含emoji的情况下,quartz构建报错的问题 | |
| 4 | + | ||
| 5 | + | ```ts | |
| 6 | + | emitters: [ | |
| 7 | + | Plugin.AliasRedirects(), | |
| 8 | + | Plugin.ComponentResources(), | |
| 9 | + | Plugin.ContentPage(), | |
| 10 | + | Plugin.FolderPage(), | |
| 11 | + | Plugin.TagPage(), | |
| 12 | + | Plugin.ContentIndex({ | |
| 13 | + | enableSiteMap: true, | |
| 14 | + | enableRSS: true, | |
| 15 | + | }), | |
| 16 | + | Plugin.Assets(), | |
| 17 | + | Plugin.Static(), | |
| 18 | + | Plugin.Favicon(), | |
| 19 | + | Plugin.NotFoundPage(), | |
| 20 | + | // Comment out CustomOgImages to speed up build time | |
| 21 | + | // Plugin.CustomOgImages(), | |
| 22 | + | ], | |
| 23 | + | ``` | |
| 24 | + | ||
| 25 | + | 然后 | |
| 26 | + | ||
| 27 | + | ``` | |
| 28 | + | wget https://gist.doracoin.cc/doracoin/a19a32883be04fa5a0a24c5d902bf158/download/HEAD/build-docker.sh && chmod +x build-docker.sh && ./build-docker.sh | |
| 29 | + | ``` | |
doracoin gist felülvizsgálása . Revízióhoz ugrás
1 file changed, 18 insertions
Dockerfile(fájl létrehozva)
| @@ -0,0 +1,18 @@ | |||
| 1 | + | FROM node:22-slim AS builder | |
| 2 | + | ||
| 3 | + | WORKDIR /usr/src/app | |
| 4 | + | ||
| 5 | + | COPY package.json . | |
| 6 | + | COPY package-lock.json* . | |
| 7 | + | ||
| 8 | + | RUN npm ci | |
| 9 | + | ||
| 10 | + | # 这里新增 patch,解决quartz构建时,遇到文档中包含emoji则构建报错的问题 | |
| 11 | + | RUN sed -i '/CustomOgImages/d' quartz.config.ts | |
| 12 | + | ||
| 13 | + | FROM node:22-slim | |
| 14 | + | WORKDIR /usr/src/app | |
| 15 | + | COPY --from=builder /usr/src/app/ /usr/src/app/ | |
| 16 | + | COPY . . | |
| 17 | + | ||
| 18 | + | CMD ["npx", "quartz", "build", "--serve"] | |
doracoin gist felülvizsgálása . Revízióhoz ugrás
1 file changed, 21 insertions
build-docker.sh(fájl létrehozva)
| @@ -0,0 +1,21 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | set -euo pipefail | |
| 4 | + | ||
| 5 | + | cd "$(dirname "$0")" | |
| 6 | + | ||
| 7 | + | REPO="coin/quartz-builder" | |
| 8 | + | ||
| 9 | + | git pull | |
| 10 | + | ||
| 11 | + | VERSION=$(jq -r '.version' package.json) | |
| 12 | + | ||
| 13 | + | docker build --pull -t quartz-builder:$VERSION . | |
| 14 | + | ||
| 15 | + | docker tag quartz-builder:$VERSION $REPO:$VERSION | |
| 16 | + | docker tag quartz-builder:$VERSION $REPO:latest | |
| 17 | + | ||
| 18 | + | docker push $REPO:$VERSION | |
| 19 | + | docker push $REPO:latest | |
| 20 | + | ||
| 21 | + | echo "Done: $VERSION" | |