diff --git a/content/circles.md b/content/circles.md index 84882747..41d4d1f3 100644 --- a/content/circles.md +++ b/content/circles.md @@ -2,5 +2,5 @@ title: "友圈" date: 2024-08-03 layout: "circles" -draft: true +draft: false --- \ No newline at end of file diff --git a/scripts/update_link_lite_json.ps1 b/scripts/update_link_lite_json.ps1 new file mode 100644 index 00000000..9148524c --- /dev/null +++ b/scripts/update_link_lite_json.ps1 @@ -0,0 +1,100 @@ + +<# +.SYNOPSIS + 将 themes/Ying/data/links.yaml 转换为 Friend-Circle-Lite 所需的 JSON 格式。 + +.DESCRIPTION + 读取 Hugo 数据文件 links.yaml,提取 name, url, image 字段, + 并生成 themes/Ying/static/json/link_lite.json 文件。 + 生成的格式为: + { + "friends": [ + ["Name", "URL", "AvatarURL"], + ... + ] + } + +.EXAMPLE + .\scripts\update_link_lite_json.ps1 +#> + +$yamlPath = Join-Path $PSScriptRoot "..\themes\Ying\data\links.yaml" +$jsonPath = Join-Path $PSScriptRoot "..\themes\Ying\static\json\link_lite.json" + +Write-Host "Reading $yamlPath..." + +if (-not (Test-Path $yamlPath)) { + Write-Error "File not found: $yamlPath" + exit 1 +} + +$content = Get-Content $yamlPath -Encoding UTF8 +$friends = @() +$currentFriend = $null + +foreach ($line in $content) { + # Match start of a new list item: " - name: Value" + if ($line -match "^\s*-\s*name:\s*(.+)") { + # Save previous friend if exists + if ($currentFriend) { + # Only add if we have at least name and url + if ($currentFriend.name -and $currentFriend.url) { + $friends += ,$currentFriend + } + } + + # Start new friend + $currentFriend = [ordered]@{ + name = $matches[1].Trim() + url = "" + image = "" + } + } + # Match properties + elseif ($currentFriend -ne $null) { + if ($line -match "^\s*url:\s*(.+)") { + $currentFriend.url = $matches[1].Trim() + } + elseif ($line -match "^\s*image:\s*(.+)") { + $currentFriend.image = $matches[1].Trim() + } + elseif ($line -match "^\s*avatar:\s*(.+)") { + # Handle 'avatar' key just in case + $currentFriend.image = $matches[1].Trim() + } + } +} +# Add the last one +if ($currentFriend -and $currentFriend.name -and $currentFriend.url) { + $friends += ,$currentFriend +} + +Write-Host "Found $($friends.Count) friends." + +# Convert to requested format: ["name", "url", "image"] +$outputList = @() +foreach ($f in $friends) { + # Use image if available, otherwise empty string or default + $img = if ($f.image) { $f.image } else { "" } + $outputList += ,@($f.name, $f.url, $img) +} + +$outputData = @{ + friends = $outputList +} + +# Convert to JSON +# -Depth 10 ensures nested arrays are expanded +# -EscapeHandling Default ensures unicode is preserved/handled correctly (PowerShell 7) +$json = $outputData | ConvertTo-Json -Depth 10 + +# Ensure directory exists +$jsonDir = Split-Path $jsonPath +if (-not (Test-Path $jsonDir)) { + New-Item -ItemType Directory -Path $jsonDir | Out-Null +} + +# Write to file +[System.IO.File]::WriteAllText($jsonPath, $json, [System.Text.Encoding]::UTF8) + +Write-Host "Successfully generated $jsonPath" -ForegroundColor Green diff --git a/themes/Ying/layouts/partials/header.html b/themes/Ying/layouts/partials/header.html index fcf10b24..352c5556 100644 --- a/themes/Ying/layouts/partials/header.html +++ b/themes/Ying/layouts/partials/header.html @@ -29,7 +29,7 @@
  • 留言
  • 归档
  • 友链
  • - +
  • 友圈
  • diff --git a/themes/Ying/static/css/main.css b/themes/Ying/static/css/main.css index e6e62bc7..0b4f2d70 100644 --- a/themes/Ying/static/css/main.css +++ b/themes/Ying/static/css/main.css @@ -2188,12 +2188,16 @@ input[type=submit] { /* Artalk 昵称颜色增强 - 白昼模式 */ .artalk .atk-item.atk-nick, -.atk-item.atk-nick, -.atk-header .atk-nick { +.atk-item.atk-nick { color: #000 !important; font-weight: 700 !important; } +.atk-header .atk-nick { + color: #000 !important; + font-weight: normal !important; +} + .artalk .atk-item.atk-nick a, .atk-item.atk-nick a { color: #000!important diff --git a/themes/Ying/static/json/link_lite.json b/themes/Ying/static/json/link_lite.json index 9df65f21..9d498fb3 100644 --- a/themes/Ying/static/json/link_lite.json +++ b/themes/Ying/static/json/link_lite.json @@ -1,242 +1,204 @@ -[ - { - "name": "吾柯", - "url": "https://blog.keepke.com", - "description": "保持思考与理性", - "image": "https://blog.keepke.com/logo.png" - }, - { - "name": "叶开", - "url": "https://qq.md", - "description": "福建三明尤溪人士", - "image": "https://cravatar.cn/avatar/4741124456fb02fa4da30494dbc6c99e?d=monsterid&s=80" - }, - { - "name": "一泽", - "url": "https://yang99.fun", - "description": "感谢相识", - "image": "https://q.qlogo.cn/g?b=qq&nk=3369963811@qq.com&s=100" - }, - { - "name": "七栀", - "url": "https://qydzz.cn", - "description": "用文字记录那些时间带走的东西", - "image": "https://qydzz.cn/logo.png" - }, - { - "name": "若志随笔", - "url": "https://www.rz.sb", - "description": "一个若志的网络自留地", - "image": "https://q1.qlogo.cn/g?b=qq&nk=80360650&s=640" - }, - { - "name": "黑桃三", - "url": "https://heitaosan.com", - "description": "逆着光行走,任风吹雨打", - "image": "https://s2.ax1x.com/2020/01/03/lUmf81.png" - }, - { - "name": "十七的小栈", - "url": "https://blog.allnull.cn", - "description": "别让世俗淹没了生活", - "image": "https://cravatar.cn/avatar/56238a7f177c534928fd3cf4161ab59e?s=65&r=G&d=mm" - }, - { - "name": "Vian", - "url": "https://vian.top", - "description": "想要的都拥有,得不到的都释怀!", - "image": "https://www.vian.top/avatar.ico" - }, - { - "name": "油油", - "url": "https://blog.200011.net", - "description": "A website for myself", - "image": "https://q1.qlogo.cn/g?b=qq&nk=1376652515&s=640" - }, - { - "name": "段先森", - "url": "https://duanxiansen.com", - "description": "迄今所有人生都大写着失败,但并不妨碍我继续向前", - "image": "https://q.qlogo.cn/g?b=qq&nk=2443266417@qq.com&s=100" - }, - { - "name": "Fivk博客", - "url": "https://blog.fivk.cn", - "description": "相逢的人会再相逢", - "image": "https://q1.qlogo.cn/g?b=qq&nk=11470226&s=640" - }, - { - "name": "百品博客", - "url": "https://baipin.pw", - "description": "我欲穿花寻路,直入白云深处,浩气展虹霓", - "image": "https://www.baipin.pw/wp-content/uploads/2019/07/cropped-ABUIABACGAAg_bP2wwUorbiplQQwgAU4gAU.jpg" - }, - { - "name": "WhiteFan", - "url": "https://www.baifan97.cn", - "description": "一个斜杠青年的碎碎念", - "image": "https://ypy.baifan97.cn/typecho/uploads/img/avatar.png" - }, - { - "name": "北枫", - "url": "https://beifeng.me", - "description": "记录一个人的生活点滴", - "image": "https://q1.qlogo.cn/g?b=qq&nk=41777657&s=640" - }, - { - "name": "团团生活志", - "url": "https://t-t.live", - "description": "爱生活 爱分享", - "image": "https://img.t-t.live/img/tx.png" - }, - { - "name": "臭袜子", - "url": "https://huziyan.com", - "description": "臭袜子", - "image": "https://huziyan.com/usr/themes/icefox/assets/img/tx.jpg" - }, - { - "name": "岳泽以", - "url": "https://www.yuezeyi.com", - "description": "我们历经苦难,我们生生不息", - "image": "https://q2.qlogo.cn/g?b=qq&nk=2780008080&s=100" - }, - { - "name": "三石的记录", - "url": "https://www.fllv.cn", - "description": "记录生活", - "image": "https://cdn.helingqi.com/wavatar/a25a7640aa68e6d26e32afee8120f7e5?s=65&r=G&d=" - }, - { - "name": "竹春廿柒", - "url": "https://mojinxi.cn", - "description": "相视而笑,莫逆于心。", - "image": "https://mojinxi.cn/img/logo.png" - }, - { - "name": "大嘴狗狗", - "url": "https://www.sirit.com.cn", - "description": "真正的幸福在于对平淡生活的热爱", - "image": "https://www.sirit.com.cn/siritlogo.png" - }, - { - "name": "半截の诗", - "url": "https://sweetjing.cc/", - "description": "一切都会好起来,然后走向正轨,保持热爱,奔赴山海。", - "image": "https://q1.qlogo.cn/g?b=qq&nk=1486823198&s=640" - }, - { - "name": "XIAOMING'S BLOG", - "url": "https://vimin.cc", - "description": "记录生活点滴,谱写精彩生活!", - "image": "https://cravatar.cn/avatar/6eb95597489dd26f15a973e667d71aef?s=100&r=G&d=" - }, - { - "name": "网友小宋", - "url": "https://xyzbz.cn", - "description": "一个九三年的老青年", - "image": "https://cravatar.cn/avatar/120340d1df519f4e28613fe5d404b286?s=65&r=G&d=" - }, - { - "name": "微风忆夏", - "url": "https://sumiler.com", - "description": "微风轻轻起 夏日不再来", - "image": "https://cravatar.cn/avatar//a35f5ef7a4bce3b7cfa6f538ffcae7aa" - }, - { - "name": "林林杂语", - "url": "https://www.xiaozonglin.cn", - "description": "一位来自福建泉州的高中生", - "image": "https://cravatar.cn/avatar/04bfc914bd50b42eb507bf66aad0cc31?d=mp" - }, - { - "name": "西瓜撞地球", - "url": "https://www.bio-w.cn", - "description": "我在人间贩卖彩虹", - "image": "https://bu.dusays.com/2022/10/17/634d313602a1e.png" - }, - { - "name": "Kris Yan", - "url": "https://blog.krisyan.dev", - "description": "無限進步 @Schale夏萊", - "image": "https://cravatar.cn/avatar/05729ab2ca3b99203a674859f77d592b?&d=mp" - }, - { - "name": "Echo 的小窝", - "url": "https://www.liveout.cn/", - "description": "漂泊于互联网中的小窝", - "image": "https://cravatar.cn/avatar/d9d83d9ebd03447fff3b094e140a0cbe" - }, - { - "name": "未来往事", - "url": "https://felixway.cn", - "description": "漂泊于互联网中的小窝", - "image": "https://cravatar.cn/avatar/2ee35215cbea58cd8b2605e7f517d689?&d=mp" - }, - { - "name": "小稚生活志", - "url": "https://ihello.cc", - "description": "心存阳光,必有诗和远方", - "image": "https://bu.dusays.com/2024/02/02/65bbce27b129a.jpg" - }, - { - "name": "风呼呼", - "url": "https://whooc.com", - "description": "寒冻三尺非此界,烈日焦灼正午时!", - "image": "https://whooc.com/logo" - }, - { - "name": "柳橙睿", - "url": "https://www.liuchengrui.cn", - "description": "其实我是一个假柳橙", - "image": "https://www.liuchengrui.cn/myphoto.png" - }, - { - "name": "永恒末匕", - "url": "https://likaijian.com", - "description": "留下瞬间,记录永恒", - "image": "https://q.qlogo.cn/headimg_dl?dst_uin=1527335101&spec=640" - }, - { - "name": "刘郎阁", - "url": "https://vjo.cc", - "description": "一个积极向上的生活探索者!", - "image": "https://yjvc.cn/usr/uploads/logo.jpeg" - }, - { - "name": "浮沉流年", - "url": "https://www.fcln.net", - "description": "借一点落日的光与来日方长", - "image": "https://cravatar.cn/avatar//4355eea603309a0c159ca27f54e27c89?s=65&r=G&d=" - }, - { - "name": "二十六", - "url": "https://www.ershiliu.com/", - "description": "人生如逆旅,我亦是行人。", - "image": "https://www.ershiliu.com/favicon.ico" - }, - { - "name": "阿呆日记", - "url": "https://dai.ge", - "description": "肥宅的摆烂生活", - "image": "https://dai.ge/img/logo.png" - }, - { - "name": "邹江博客", - "url": "https://www.zoujiang.com", - "description": "热爱你来过的每度温暖", - "image": "https://www.zoujiang.com/logo.jpg" - }, - { - "name": "清梦云熙", - "url": "https://skylan.cc", - "description": "相逢何必曾相识", - "image": "https://cravatar.cn/avatar/853572275a978dbccefbe2242ba1c415" - }, - { - "name": "如约而至", - "url": "https://aloner.ink", - "description": "随便写写", - "image": "https://cravatar.cn/avatar/af1874b7856255302fc3df5102a6ce6d" - } -] \ No newline at end of file +{ + "friends": [ + [ + "吾柯", + "https://blog.keepke.com", + "https://blog.keepke.com/logo.png" + ], + [ + "叶开", + "https://qq.md", + "https://cravatar.cn/avatar/4741124456fb02fa4da30494dbc6c99e?d=monsterid\u0026s=80" + ], + [ + "一泽", + "https://yang99.fun", + "https://q.qlogo.cn/g?b=qq\u0026nk=3369963811@qq.com\u0026s=100" + ], + [ + "七栀", + "https://qydzz.cn", + "https://qydzz.cn/logo.png" + ], + [ + "若志随笔", + "https://www.rz.sb", + "https://q1.qlogo.cn/g?b=qq\u0026nk=80360650\u0026s=640" + ], + [ + "黑桃三", + "https://heitaosan.com", + "https://s2.ax1x.com/2020/01/03/lUmf81.png" + ], + [ + "十七的小栈", + "https://blog.allnull.cn", + "https://cravatar.cn/avatar/56238a7f177c534928fd3cf4161ab59e?s=65\u0026r=G\u0026d=mm" + ], + [ + "Vian", + "https://vian.top", + "https://www.vian.top/avatar.ico" + ], + [ + "油油", + "https://blog.200011.net", + "https://q1.qlogo.cn/g?b=qq\u0026nk=1376652515\u0026s=640" + ], + [ + "段先森", + "https://duanxiansen.com", + "https://q.qlogo.cn/g?b=qq\u0026nk=2443266417@qq.com\u0026s=100" + ], + [ + "Fivk博客", + "https://blog.fivk.cn", + "https://q1.qlogo.cn/g?b=qq\u0026nk=11470226\u0026s=640" + ], + [ + "百品博客", + "https://baipin.pw", + "https://www.baipin.pw/wp-content/uploads/2019/07/cropped-ABUIABACGAAg_bP2wwUorbiplQQwgAU4gAU.jpg" + ], + [ + "WhiteFan", + "https://www.baifan97.cn", + "https://ypy.baifan97.cn/typecho/uploads/img/avatar.png" + ], + [ + "北枫", + "https://beifeng.me", + "https://q1.qlogo.cn/g?b=qq\u0026nk=41777657\u0026s=640" + ], + [ + "团团生活志", + "https://t-t.live", + "https://img.t-t.live/img/tx.png" + ], + [ + "臭袜子", + "https://huziyan.com", + "https://huziyan.com/usr/themes/icefox/assets/img/tx.jpg" + ], + [ + "岳泽以", + "https://www.yuezeyi.com", + "https://q2.qlogo.cn/g?b=qq\u0026nk=2780008080\u0026s=100" + ], + [ + "三石的记录", + "https://www.fllv.cn", + "https://cdn.helingqi.com/wavatar/a25a7640aa68e6d26e32afee8120f7e5?s=65\u0026r=G\u0026d=" + ], + [ + "竹春廿柒", + "https://mojinxi.cn", + "https://mojinxi.cn/img/logo.png" + ], + [ + "大嘴狗狗", + "https://www.sirit.com.cn", + "https://www.sirit.com.cn/siritlogo.png" + ], + [ + "半截の诗", + "https://sweetjing.cc/", + "https://q1.qlogo.cn/g?b=qq\u0026nk=1486823198\u0026s=640" + ], + [ + "XIAOMING\u0027S BLOG", + "https://vimin.cc", + "https://cravatar.cn/avatar/6eb95597489dd26f15a973e667d71aef?s=100\u0026amp;r=G\u0026amp;d=" + ], + [ + "网友小宋", + "https://xyzbz.cn", + "https://cravatar.cn/avatar/120340d1df519f4e28613fe5d404b286?s=65\u0026r=G\u0026d=" + ], + [ + "微风忆夏", + "https://sumiler.com", + "https://cravatar.cn/avatar//a35f5ef7a4bce3b7cfa6f538ffcae7aa" + ], + [ + "林林杂语", + "https://www.xiaozonglin.cn", + "https://cravatar.cn/avatar/04bfc914bd50b42eb507bf66aad0cc31?d=mp" + ], + [ + "西瓜撞地球", + "https://www.bio-w.cn", + "https://bu.dusays.com/2022/10/17/634d313602a1e.png" + ], + [ + "Kris Yan", + "https://blog.krisyan.dev", + "https://cravatar.cn/avatar/05729ab2ca3b99203a674859f77d592b?\u0026d=mp" + ], + [ + "Echo 的小窝", + "https://www.liveout.cn/", + "https://cravatar.cn/avatar/d9d83d9ebd03447fff3b094e140a0cbe" + ], + [ + "未来往事", + "https://felixway.cn", + "https://cravatar.cn/avatar/2ee35215cbea58cd8b2605e7f517d689?\u0026d=mp" + ], + [ + "小稚生活志", + "https://ihello.cc", + "https://bu.dusays.com/2024/02/02/65bbce27b129a.jpg" + ], + [ + "风呼呼", + "https://whooc.com", + "https://whooc.com/logo" + ], + [ + "柳橙睿", + "https://www.liuchengrui.cn", + "https://www.liuchengrui.cn/myphoto.png" + ], + [ + "永恒末匕", + "https://likaijian.com", + "https://q.qlogo.cn/headimg_dl?dst_uin=1527335101\u0026spec=640" + ], + [ + "刘郎阁", + "https://vjo.cc", + "https://yjvc.cn/usr/uploads/logo.jpeg" + ], + [ + "浮沉流年", + "https://www.fcln.net", + "https://cravatar.cn/avatar//4355eea603309a0c159ca27f54e27c89?s=65\u0026r=G\u0026d=" + ], + [ + "二十六", + "https://www.ershiliu.com/", + "https://www.ershiliu.com/favicon.ico" + ], + [ + "阿呆日记", + "https://dai.ge", + "https://dai.ge/img/logo.png" + ], + [ + "邹江博客", + "https://www.zoujiang.com", + "https://www.zoujiang.com/logo.jpg" + ], + [ + "清梦云熙", + "https://skylan.cc", + "https://cravatar.cn/avatar/853572275a978dbccefbe2242ba1c415" + ], + [ + "如约而至", + "https://aloner.ink", + "https://cravatar.cn/avatar/af1874b7856255302fc3df5102a6ce6d" + ] + ] +} \ No newline at end of file