From b1a9fd5e748a2f407c929f994972d4c9b1fd808a Mon Sep 17 00:00:00 2001 From: Vaica <94612053+zqlit@users.noreply.github.com> Date: Wed, 21 Jan 2026 12:34:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BD=92=E6=A1=A3=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/post/2024-04-08-主板电流声.md | 2 +- .../2024-05-19-win11右键菜单改回win10方法.md | 2 +- content/post/2024-06-01-idea关闭ai自动补全.md | 2 +- .../2024-06-02-parsec远程软件报6023错误.md | 2 +- content/post/auto-refresh-cdn.md | 2 +- content/post/clock-in.md | 2 +- content/post/git-failed-443.md | 2 +- content/post/hello-webstorm.md | 2 +- content/post/hugo-backup-alioss.md | 2 +- content/post/junxun.md | 2 +- content/post/new-a-ikun.md | 2 +- content/post/some-useful-win-tools.md | 2 +- content/post/strat-redis.md | 2 +- content/post/放弃iPhone16e.md | 4 +- content/post/脂溢性皮炎的烦恼.md | 4 +- content/post/除草日记.md | 4 +- scripts/add_draft_to_hidden.ps1 | 68 +++++++++++++------ 17 files changed, 67 insertions(+), 39 deletions(-) diff --git a/content/post/2024-04-08-主板电流声.md b/content/post/2024-04-08-主板电流声.md index 361188ac..feccfd40 100644 --- a/content/post/2024-04-08-主板电流声.md +++ b/content/post/2024-04-08-主板电流声.md @@ -8,7 +8,7 @@ date: 2024-04-08T19:16:00 updated: 2024-04-12T13:18:52 status: hidden draft: true -draft: false +draft: true author: 小赵同学 categories: - 生活 diff --git a/content/post/2024-05-19-win11右键菜单改回win10方法.md b/content/post/2024-05-19-win11右键菜单改回win10方法.md index 2c6b3994..9aa1d630 100644 --- a/content/post/2024-05-19-win11右键菜单改回win10方法.md +++ b/content/post/2024-05-19-win11右键菜单改回win10方法.md @@ -6,7 +6,7 @@ title: win11右键菜单改回win10方法 slug: 120 date: 2024-05-19T13:21:00 updated: 2024-07-23T12:36:24 -draft: false +draft: true status: hidden draft: true author: 小赵同学 diff --git a/content/post/2024-06-01-idea关闭ai自动补全.md b/content/post/2024-06-01-idea关闭ai自动补全.md index 0bd046b9..ff4fafaa 100644 --- a/content/post/2024-06-01-idea关闭ai自动补全.md +++ b/content/post/2024-06-01-idea关闭ai自动补全.md @@ -6,7 +6,7 @@ title: idea关闭ai自动补全 slug: 121 date: 2024-06-01T19:48:00 updated: 2024-07-23T12:36:02 -draft: false +draft: true status: hidden draft: true author: 小赵同学 diff --git a/content/post/2024-06-02-parsec远程软件报6023错误.md b/content/post/2024-06-02-parsec远程软件报6023错误.md index fa98c2ed..09a855a6 100644 --- a/content/post/2024-06-02-parsec远程软件报6023错误.md +++ b/content/post/2024-06-02-parsec远程软件报6023错误.md @@ -6,7 +6,7 @@ title: parsec远程软件报6023错误 slug: 122 date: 2024-06-02T11:36:00 updated: 2024-07-23T12:35:53 -draft: false +draft: true status: hidden draft: true author: 小赵同学 diff --git a/content/post/auto-refresh-cdn.md b/content/post/auto-refresh-cdn.md index 6b7f77f5..2f54debe 100644 --- a/content/post/auto-refresh-cdn.md +++ b/content/post/auto-refresh-cdn.md @@ -3,7 +3,7 @@ pid: 125 title: "Hugo使用GitHub Action自动刷新多吉云CDN缓存" date: "2024-09-16T14:48:42+08:00" slug: 125 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" diff --git a/content/post/clock-in.md b/content/post/clock-in.md index e2a8d332..49e95cc4 100644 --- a/content/post/clock-in.md +++ b/content/post/clock-in.md @@ -8,7 +8,7 @@ categories: [] tags: [] author: "小赵同学" layout: "post" -status: "public" +# status: "public" # Auto-hidden by script categories: ["生活"] tags: [] weight: -1 diff --git a/content/post/git-failed-443.md b/content/post/git-failed-443.md index 33c06760..be4ae37a 100644 --- a/content/post/git-failed-443.md +++ b/content/post/git-failed-443.md @@ -3,7 +3,7 @@ pid: 129 title: "Failed to connect to github.com port 443 解决方案" date: "2024-10-18T16:34:20+08:00" slug: 129 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" diff --git a/content/post/hello-webstorm.md b/content/post/hello-webstorm.md index 6bcb2089..49d76634 100644 --- a/content/post/hello-webstorm.md +++ b/content/post/hello-webstorm.md @@ -3,7 +3,7 @@ pid: 132 title: "解决webstorm本地调试跨域问题" date: "2024-11-13T09:03:25+08:00" slug: 132 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" diff --git a/content/post/hugo-backup-alioss.md b/content/post/hugo-backup-alioss.md index 37238da9..c135f2b4 100644 --- a/content/post/hugo-backup-alioss.md +++ b/content/post/hugo-backup-alioss.md @@ -3,7 +3,7 @@ pid: 128 title: "Hugo自动化备份至阿里云OSS" date: "2024-10-06T15:49:58+08:00" slug: 128 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" diff --git a/content/post/junxun.md b/content/post/junxun.md index bd86281b..f6f87e52 100644 --- a/content/post/junxun.md +++ b/content/post/junxun.md @@ -3,7 +3,7 @@ pid: 127 title: "大一学弟学妹军训结营" date: "2024-09-21T19:20:37+08:00" slug: 127 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" diff --git a/content/post/new-a-ikun.md b/content/post/new-a-ikun.md index b78807bc..46d1b145 100644 --- a/content/post/new-a-ikun.md +++ b/content/post/new-a-ikun.md @@ -3,7 +3,7 @@ pid: 123 title: "添加ikun摆件" date: "2024-08-07T16:10:05+08:00" slug: 123 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" diff --git a/content/post/some-useful-win-tools.md b/content/post/some-useful-win-tools.md index a5f18e87..ee19a873 100644 --- a/content/post/some-useful-win-tools.md +++ b/content/post/some-useful-win-tools.md @@ -3,7 +3,7 @@ pid: 130 title: "win10&win11去除桌面快捷方式小箭头方法" date: "2024-10-18T17:37:36+08:00" slug: 130 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" diff --git a/content/post/strat-redis.md b/content/post/strat-redis.md index 72dc4006..fb2f118a 100644 --- a/content/post/strat-redis.md +++ b/content/post/strat-redis.md @@ -3,7 +3,7 @@ pid: 131 title: "windows系统自启redis服务" date: "2024-11-10T10:09:16+08:00" slug: 131 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" diff --git a/content/post/放弃iPhone16e.md b/content/post/放弃iPhone16e.md index c8da9d57..aa60d3a2 100644 --- a/content/post/放弃iPhone16e.md +++ b/content/post/放弃iPhone16e.md @@ -3,12 +3,12 @@ pid: 135 title: "还是放弃了iPhone16e" date: "2025-12-21T21:56:57+08:00" slug: 135 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" layout: "post" -status: "public" +# status: "public" # Auto-hidden by script categories: ["生活"] tags: [] status: hidden diff --git a/content/post/脂溢性皮炎的烦恼.md b/content/post/脂溢性皮炎的烦恼.md index 2e22b796..19f3b604 100644 --- a/content/post/脂溢性皮炎的烦恼.md +++ b/content/post/脂溢性皮炎的烦恼.md @@ -3,12 +3,12 @@ pid: 136 title: "脂溢性皮炎的烦恼" date: "2025-12-24T19:31:53+08:00" slug: 136 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" layout: "post" -status: "public" +# status: "public" # Auto-hidden by script categories: ["生活"] tags: [] status: hidden diff --git a/content/post/除草日记.md b/content/post/除草日记.md index fe509fec..fd1f0d0c 100644 --- a/content/post/除草日记.md +++ b/content/post/除草日记.md @@ -3,12 +3,12 @@ pid: 133 title: "除草日记" date: "2025-11-21T16:45:27+08:00" slug: 133 -draft: false +draft: true categories: [] tags: [] author: "小赵同学" layout: "post" -status: "public" +# status: "public" # Auto-hidden by script categories: ["生活"] tags: [] status: hidden diff --git a/scripts/add_draft_to_hidden.ps1 b/scripts/add_draft_to_hidden.ps1 index 401015e6..20c0f2d2 100644 --- a/scripts/add_draft_to_hidden.ps1 +++ b/scripts/add_draft_to_hidden.ps1 @@ -1,27 +1,38 @@ <# .SYNOPSIS - 将所有包含 'status: hidden' 的文章标记为草稿 (draft: true)。 + 将所有包含 'status: hidden' 的文章标记为草稿 (draft: true),并清理冲突的设置。 .DESCRIPTION - 此脚本用于批量处理 Hugo 文章。它会遍历 content/post 目录下的所有 .md 文件, - 解析 Front Matter。如果发现 'status: hidden' 且没有 'draft: true', - 则会在 'status: hidden' 下一行添加 'draft: true',以确保 Hugo 不会生成这些页面。 + 此脚本用于批量处理 Hugo 文章。它会遍历 content/post 目录下的所有 .md 文件。 + 如果发现 'status: hidden': + 1. 将 'draft: false' 修改为 'draft: true'。 + 2. 注释掉冲突的 'status: public' 设置。 + 3. 如果没有 'draft: true',则添加它。 脚本包含安全检查: 1. 确保读取和写入使用 UTF-8 编码。 2. 确保新内容不为空。 - 3. 确保文件大小没有异常减小(防止数据丢失)。 + 3. 确保文件大小没有异常减小。 .EXAMPLE .\scripts\add_draft_to_hidden.ps1 #> $postsPath = "content/post" +# Ensure path exists +if (-not (Test-Path $postsPath)) { + Write-Error "Path not found: $postsPath" + exit 1 +} + $files = Get-ChildItem -Path $postsPath -Recurse -Filter "*.md" $count = 0 -Write-Host "Starting scan for hidden posts..." -ForegroundColor Cyan +Write-Host "Starting scan for hidden posts cleanup..." -ForegroundColor Cyan + +# Set console encoding to UTF8 to correctly display filenames +[Console]::OutputEncoding = [System.Text.Encoding]::UTF8 foreach ($file in $files) { # Read with UTF8 @@ -32,19 +43,36 @@ foreach ($file in $files) { continue } - # Check for 'status: hidden' - if ($content -match "(?m)^status:\s*hidden") { + $modified = $false + $newContent = $content + + # Check for 'status: hidden' or 'status: "hidden"' + if ($content -match "(?m)^status:\s*(`"hidden`"|hidden)") { - # Check if 'draft: true' is already present - if ($content -notmatch "(?m)^draft:\s*true") { - Write-Host "Processing: $($file.Name)" - - # Use regex replace - # Capture the status: hidden line and append draft: true - # Note: `n is newline in PowerShell - $newContent = $content -replace "(?m)(^status:\s*hidden.*$)", "`$1`ndraft: true" - - # SAFETY CHECK: Ensure new content is not empty and size is reasonable + # 1. Replace draft: false -> draft: true + if ($newContent -match "(?m)^draft:\s*false") { + $newContent = $newContent -replace "(?m)^draft:\s*false", "draft: true" + $modified = $true + Write-Host " Fixed 'draft: false' in $($file.Name)" -ForegroundColor Yellow + } + + # 2. Comment out status: public / status: "public" + if ($newContent -match "(?m)^status:\s*(`"public`"|public)") { + $newContent = $newContent -replace "(?m)(^status:\s*(`"public`"|public))", "# `$1 # Auto-hidden by script" + $modified = $true + Write-Host " Commented out 'status: public' in $($file.Name)" -ForegroundColor Yellow + } + + # 3. Ensure draft: true exists + if ($newContent -notmatch "(?m)^draft:\s*true") { + # Append after status: hidden + $newContent = $newContent -replace "(?m)(^status:\s*(`"hidden`"|hidden).*$)", "`$1`ndraft: true" + $modified = $true + Write-Host " Added 'draft: true' to $($file.Name)" -ForegroundColor Yellow + } + + if ($modified) { + # SAFETY CHECK: Ensure new content is not empty and size is reasonable if ([string]::IsNullOrEmpty($newContent) -or $newContent.Length -eq 0) { Write-Error "CRITICAL: New content is empty for $($file.Name). Skipping save." continue @@ -56,9 +84,9 @@ foreach ($file in $files) { continue } - # Save file using .NET method to ensure UTF8 no BOM (or compatible UTF8) + # Save file using .NET method to ensure UTF8 [System.IO.File]::WriteAllText($file.FullName, $newContent, [System.Text.Encoding]::UTF8) - Write-Host " -> Updated." -ForegroundColor Green + Write-Host " -> Saved changes to $($file.Name)" -ForegroundColor Green $count++ } }