feat(halo): 添加图片自动上传功能
- 新增图片处理工具模块 `src/utils/image.ts`,包含图片引用提取、绝对路径解析和路径替换功能 - 新增图片上传服务 `src/service/image-uploader.ts`,支持调用 Halo 媒体 API 上传图片并实现缓存机制 - 在设置界面添加图片上传开关和上传路径配置项 - 更新发布流程,在提交到 Halo 前自动检测并上传本地图片,替换为远程 URL - 添加英文、简体中文和繁体中文的国际化文案 - 更新插件版本至 1.1.1 并完善相关配置文件
This commit is contained in:
+87
@@ -0,0 +1,87 @@
|
||||
$posts = Get-Content "d:\Code\OpenClaw\文件\博客\所有文章标签分类.json" | ConvertFrom-Json
|
||||
|
||||
Write-Host "=== 博客文章标签和分类分析报告 ===" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
# 标签映射
|
||||
$tagMap = @{
|
||||
"tag-ai9jzu3f" = "协会动态"
|
||||
"tag-wcdoataa" = "5分钟速览"
|
||||
"tag-tnpxywrp" = "技术深潜"
|
||||
"tag-t17fkerv" = "校园AI"
|
||||
"tag-b00ospt6" = "竞赛指南"
|
||||
"tag-mlyijvf1" = "项目实战"
|
||||
"tag-kltizgga" = "零基础入门"
|
||||
"tag-5gnzuysx" = "开源框架"
|
||||
"tag-kdbstvcj" = "模型轻量化"
|
||||
"tag-ds8gca80" = "隐私计算"
|
||||
"tag-iov4cveg" = "AI智能体"
|
||||
}
|
||||
|
||||
# 分类映射
|
||||
$catMap = @{
|
||||
"category-o29urmhb" = "行业望远镜"
|
||||
"category-yzecyosi" = "协会进行时"
|
||||
"category-w55kw7o5" = "校园AI日记"
|
||||
"category-jdck2tln" = "竞赛能量站"
|
||||
"category-kkzsv1qw" = "成长实验室"
|
||||
"category-zuyid1h1" = "智能体前沿"
|
||||
"76514a40-6ef1-4ed9-b58a-e26945bde3ca" = "默认分类"
|
||||
}
|
||||
|
||||
# 标签使用统计
|
||||
$tagCount = @{}
|
||||
$catCount = @{}
|
||||
$noTagPosts = @()
|
||||
$issues = @()
|
||||
|
||||
foreach ($item in $posts.items) {
|
||||
$title = $item.spec.title
|
||||
$tags = $item.spec.tags
|
||||
$cats = $item.spec.categories
|
||||
|
||||
# 统计标签
|
||||
if ($tags.Count -eq 0) {
|
||||
$noTagPosts += $title
|
||||
} else {
|
||||
foreach ($tag in $tags) {
|
||||
$tagName = $tagMap[$tag]
|
||||
if ($tagName) {
|
||||
if (-not $tagCount.ContainsKey($tagName)) {
|
||||
$tagCount[$tagName] = 0
|
||||
}
|
||||
$tagCount[$tagName]++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# 统计分类
|
||||
foreach ($cat in $cats) {
|
||||
$catName = $catMap[$cat]
|
||||
if ($catName) {
|
||||
if (-not $catCount.ContainsKey($catName)) {
|
||||
$catCount[$catName] = 0
|
||||
}
|
||||
$catCount[$catName]++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "=== 标签使用统计 ===" -ForegroundColor Yellow
|
||||
$tagCount.GetEnumerator() | Sort-Object Value -Descending | ForEach-Object {
|
||||
Write-Host "$($_.Key): $($_.Value) 篇"
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "=== 分类使用统计 ===" -ForegroundColor Yellow
|
||||
$catCount.GetEnumerator() | Sort-Object Value -Descending | ForEach-Object {
|
||||
Write-Host "$($_.Key): $($_.Value) 篇"
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
if ($noTagPosts.Count -gt 0) {
|
||||
Write-Host "=== 无标签文章 ($($noTagPosts.Count)) ===" -ForegroundColor Red
|
||||
$noTagPosts | ForEach-Object { Write-Host " - $_" }
|
||||
} else {
|
||||
Write-Host "=== 无标签文章: 0 篇 ✅ ===" -ForegroundColor Green
|
||||
}
|
||||
Reference in New Issue
Block a user