[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"lang-vue":3,"catalog":8,"post-parse-post/post/darw-odysseus-girl":294},{"name":4,"alias":5,"icon":6,"color":7},"Vue",[],"",120,[9,30,48,67,84,100,118,136,152,169,187,203,222,239,261,278],{"id":10,"title":11,"path":12,"pubDate":13,"excerpt":14,"updateDate":21,"maintainDate":21,"tags":22,"hitokoto":24,"readingTime":25},"post/post/build-blog-with-gh-and-jsd.md","GitHub Pages+Jsdelivr 让你的静态网站用上CDN","/post/build-blog-with-gh-and-jsd","2026-01-19T00:00:00.000Z",{"type":15,"value":16},"minimark",[17],[18,19,20],"p",{},"最近突然发现Jsdelivr不仅可以直接读取GitHub仓库的静态资源，还有国内镜像源，这就有得玩了。结合GitHub Pages，我们可以实现一个完全免费的静态网站CDN加速服务。",null,[23],"web","serverless太爽了",{"text":26,"minutes":27,"time":28,"words":29},"5 min read",4.7,282000,940,{"id":31,"title":32,"path":33,"pubDate":34,"excerpt":35,"updateDate":21,"maintainDate":21,"tags":40,"hitokoto":42,"readingTime":43},"post/post/build-smart-home-with-rp.md","响应式编程 + MQTT 来构建智能家居系统","/post/build-smart-home-with-rp","2026-02-24T00:00:00.000Z",{"type":15,"value":36},[37],[18,38,39],{},"Home Assistant 的控制系统并不能满足我的需求。我通过使用响应式编程和MQTT协议来实现了一个建议的智能家居系统。",[41],"智能家居","重复造轮子是对的",{"text":44,"minutes":45,"time":46,"words":47},"10 min read",9.53,571800,1906,{"id":49,"title":50,"path":51,"pubDate":52,"excerpt":53,"updateDate":58,"maintainDate":21,"tags":59,"hitokoto":61,"readingTime":62},"post/post/card-message-collect.md","卡片消息收藏","/post/card-message-collect","2026-03-22T00:00:00.000Z",{"type":15,"value":54},[55],[18,56,57],{},"收集下我见过的卡片消息，以备不时之需。","2026-04-03T00:00:00.000Z",[60],"bot","用完就扔似乎不太好",{"text":63,"minutes":64,"time":65,"words":66},"15 min read",14.31,858600,2862,{"id":68,"title":69,"path":70,"pubDate":71,"excerpt":72,"updateDate":21,"maintainDate":21,"tags":77,"hitokoto":78,"readingTime":79},"post/post/create-a-new-comment-system.md","初尝后端：开发评论系统","/post/create-a-new-comment-system","2026-03-02T00:00:00.000Z",{"type":15,"value":73},[74],[18,75,76],{},"之前用的Giscus是基于iframe的，写个样式根本没法写，打算换个新评论系统。为了踏出自己的舒适圈，我决定学习写后端，评论系统正好是一个不错的后端项目。",[23],"再接第三方就彻底学不会后端了(x",{"text":80,"minutes":81,"time":82,"words":83},"6 min read",5.36,321600,1072,{"id":85,"title":86,"path":87,"pubDate":88,"excerpt":89,"updateDate":21,"maintainDate":21,"tags":94,"hitokoto":95,"readingTime":96},"post/post/dark-mode-with-hsl.md","HSL与亮暗色模式","/post/dark-mode-with-hsl","2026-01-04T00:00:00.000Z",{"type":15,"value":90},[91],[18,92,93],{},"众所周知，不同人有不同的亮暗色喜好，网站需要同时兼容这两套主题。通过RGB来设计网页颜色需要同时设计两种颜色，因此翻车的网站也不再少数，这时候就需要HSL来登场了。",[23],"通过HSL调色来设计网页吧",{"text":26,"minutes":97,"time":98,"words":99},4.125,247500,825,{"id":101,"title":102,"path":103,"pubDate":104,"excerpt":105,"updateDate":21,"maintainDate":21,"tags":110,"hitokoto":112,"readingTime":113},"post/post/darw-odysseus-girl.md","画只奥德修斯小姐","/post/darw-odysseus-girl","2026-04-10T00:00:00.000Z",{"type":15,"value":106},[107],[18,108,109],{},"突然想试试画舰娘，最近在玩X4，就拿奥德修斯开刀吧！",[111],"绘画","驱逐舰当然是小幼女",{"text":114,"minutes":115,"time":116,"words":117},"2 min read",1.605,96300,321,{"id":119,"title":120,"path":121,"pubDate":122,"excerpt":123,"updateDate":21,"maintainDate":21,"tags":128,"hitokoto":130,"readingTime":131},"post/post/deploy-llbt-by-docker.md","使用Docker部署Llbt踩坑记录","/post/deploy-llbt-by-docker","2025-12-09T00:00:00.000Z",{"type":15,"value":124},[125],[18,126,127],{},"长时间不搞docker了，很多东西都忘了，再加上本来就不擅长docker，导致安装Llbt的经历挺坎坷的。同时这次也是一次多开的安装经历，协议端多开的需求应该很少吧？这方面也没有多少文章，希望这篇文章对用这方面需求的人，能有些帮助。",[129,60],"docker","记录下使用Docker多开部署Llbt的经历",{"text":132,"minutes":133,"time":134,"words":135},"7 min read",6.66,399600,1332,{"id":137,"title":138,"path":139,"pubDate":140,"excerpt":141,"updateDate":21,"maintainDate":21,"tags":146,"hitokoto":147,"readingTime":148},"post/post/experience-about-webtui.md","Nuxt4编写WebTui主题小结","/post/experience-about-webtui","2026-02-21T00:00:00.000Z",{"type":15,"value":142},[143],[18,144,145],{},"旧的博客主题SEO写炸了，想换个新的主题了。这次机缘巧合之下，竟然找到了有搞WebTui的项目。稍微研究下搞出来了。新主题由Nuxt4 + oklch 组成。分享下编写主题的经验。",[23],"总算搞出来WebTui了",{"text":44,"minutes":149,"time":150,"words":151},9.335,560100,1867,{"id":153,"title":154,"path":155,"pubDate":156,"excerpt":157,"updateDate":21,"maintainDate":21,"tags":162,"hitokoto":163,"readingTime":164},"post/post/first-use-home-assistant.md","HomeAssistant初体验","/post/first-use-home-assistant","2026-01-27T00:00:00.000Z",{"type":15,"value":158},[159],[18,160,161],{},"想玩智能家居，啥都不懂。摸爬滚打了几天，写点流水账记录一下，也许可以给和我一样啥都不懂的人一些帮助",[41],"你花200块就买了个遥控玩具？",{"text":165,"minutes":166,"time":167,"words":168},"9 min read",8.63,517800,1726,{"id":170,"title":171,"path":172,"pubDate":173,"excerpt":174,"updateDate":21,"maintainDate":21,"tags":179,"hitokoto":181,"readingTime":182},"post/post/first-use-rss.md","RSS：一个神奇的订阅方式","/post/first-use-rss","2025-12-29T00:00:00.000Z",{"type":15,"value":175},[176],[18,177,178],{},"在开发博客时，我在网上浏览别人的博客时，遇到了一个名为RSS的神奇东西...",[23,180],"科普","通过RSS来订阅各种网页信息吧！",{"text":183,"minutes":184,"time":185,"words":186},"4 min read",3.13,187800,626,{"id":188,"title":189,"path":190,"pubDate":191,"excerpt":192,"updateDate":21,"maintainDate":21,"tags":197,"hitokoto":198,"readingTime":199},"post/post/migration-blog-to-codeberg.md","将托管在CodeBerg上的博客使用CI在Vercel上部署博客","/post/migration-blog-to-codeberg","2026-04-01T00:00:00.000Z",{"type":15,"value":193},[194],[18,195,196],{},"近期GitHub宣布要拿项目去练ai了。虽然我对这种行为也不是很抵触，但巨硬默认开启这个选项，关闭说明写的又不明不白。我打算搬家搬去CodeBerg。今天研究了一天跑通了CodeBerg + Forgejo Runner。记录下。",[23],"搬家啦～搬家啦～",{"text":44,"minutes":200,"time":201,"words":202},9.755,585300,1951,{"id":204,"title":205,"path":206,"pubDate":207,"excerpt":208,"updateDate":21,"maintainDate":21,"tags":213,"hitokoto":216,"readingTime":217},"post/post/record-paru-wrong.md","Arch滚挂了，记录下","/post/record-paru-wrong","2025-12-14T00:00:00.000Z",{"type":15,"value":209},[210],[18,211,212],{},"听说Arch天天滚挂，不知道是怎么一回事，今天我终于滚挂了，水篇文章记录下。",[214,215],"水","linux","paru把自己跟新坏了...",{"text":218,"minutes":219,"time":220,"words":221},"3 min read",2.225,133500,445,{"id":223,"title":224,"path":225,"pubDate":226,"excerpt":227,"updateDate":21,"maintainDate":21,"tags":232,"hitokoto":234,"readingTime":235},"post/post/sim-card-is-wrong.md","一件离谱的事情","/post/sim-card-is-wrong","2026-01-09T00:00:00.000Z",{"type":15,"value":228},[229],[18,230,231],{},"今天去外地面试，却没想到一口气挂了俩SIM卡，差点被地球Online踢出服务器",[233,214],"生活","万物互联建立在脆弱的支柱上",{"text":183,"minutes":236,"time":237,"words":238},3.055,183300,611,{"id":240,"title":241,"path":242,"pubDate":243,"excerpt":244,"updateDate":21,"maintainDate":21,"tags":254,"hitokoto":256,"readingTime":257},"post/post/steampy-login-steam-fail.md","SteamPy登录Steam被阻止","/post/steampy-login-steam-fail","2026-03-19T00:00:00.000Z",{"type":15,"value":245},[246],[18,247,248,249,253],{},"不知道是鉴权方式改了还是我更新Steam App的缘故，在SteamPy里登录Steam报",[250,251,252],"code",{},"Steam 阻止了此登录","。搞了半天总算解决了。",[255,214],"游戏","太过安全也会让使用变得麻烦",{"text":114,"minutes":258,"time":259,"words":260},1.315,78900,263,{"id":262,"title":263,"path":264,"pubDate":265,"excerpt":266,"updateDate":21,"maintainDate":271,"tags":272,"hitokoto":273,"readingTime":274},"post/post/test-giscus.md","感谢GH让静态网页也能用上评论","/post/test-giscus","2025-12-21T00:00:00.000Z",{"type":15,"value":267},[268],[18,269,270],{},"博客要开发评论系统了...缺一个测试用的页面，于是就写了这篇文章，顺便记录下怎么用 giscus 的","2026-04-06T00:00:00.000Z",[23],"通过 giscus 把 Discussion 当作评论",{"text":114,"minutes":275,"time":276,"words":277},1.56,93600,312,{"id":279,"title":280,"path":281,"pubDate":282,"excerpt":283,"updateDate":21,"maintainDate":21,"tags":288,"hitokoto":289,"readingTime":290},"post/post/use-nerd-font-at-web.md","在Web中使用NerdFont","/post/use-nerd-font-at-web","2025-12-18T00:00:00.000Z",{"type":15,"value":284},[285],[18,286,287],{},"众所周知，fa图标在web开发中被广泛使用，但该图标集部分图标有着vip要求，而且使用需要特殊的组件...但今天我发现了在tui中广泛使用的NerdFont图标集，也可以在web使用。",[23],"用nerd来替换掉你的fa图标",{"text":183,"minutes":291,"time":292,"words":293},3.04,182400,608,{"id":101,"title":102,"body":295,"description":109,"excerpt":346,"extension":350,"hitokoto":112,"maintainDate":21,"meta":351,"navigation":352,"path":103,"pubDate":104,"readingTime":353,"seo":354,"stem":355,"tags":356,"updateDate":21,"__hash__":357},{"type":15,"value":296,"toc":340},[297,299,305,308,312,315,322,325,328,331,334],[18,298,109],{},[300,301,302],"warning",{},[18,303,304],{},"绘画只是本人的第二兴趣，时间精力投入有限，绘画能力非常糟糕...如果您比较在意质量的话，可以选择退出。",[18,306,307],{},"喔...我画的也不太好，还是先拿点东西刷下屏吧...上来就放画的话，感觉上面的警告白写了...",[309,310,311],"h2",{"id":311},"简介",[18,313,314],{},"奥德修斯是X4中，P族的驱逐舰。该游戏里的舰船分类和现实比较类似，驱逐舰上面就是航母了，所以尽管是驱逐舰，确是不折不扣的大型船只。",[18,316,317],{},[318,319],"img",{"alt":320,"src":321},"旅行中的奥德修斯","/image/darw-odysseus-girl/fly-odysseus.png",[18,323,324],{},"奥德修斯装备三个引擎，还有一个M停机坪。由于引擎多，能带的船种类多，成为了我的旗舰。\n共有四个L槽位，三个能像前大，外加两个主炮，正面相当于有五门等离子炮的火力。",[18,326,327],{},"奥德修斯的外形修长，流线型。富有科技感，外加上P族的炮塔还有伸缩结构，看起来也是比较好看的了。",[309,329,330],{"id":330},"我的画",[18,332,333],{},"由于要对称设计，正前方的炮塔被我砍掉了。此外由于我懒得看炮塔伸缩机构，也就没有画炮塔开火场景。",[18,335,336],{},[318,337],{"alt":338,"src":339},"","/image/darw-odysseus-girl/draw.png",{"title":338,"searchDepth":341,"depth":342,"links":343},2,4,[344,345],{"id":311,"depth":341,"text":311},{"id":330,"depth":341,"text":330},{"type":15,"value":347},[348],[18,349,109],{},"md",{},true,{"text":114,"minutes":115,"time":116,"words":117},{"title":102,"description":109},"post/darw-odysseus-girl",[111],"NRWjAoeSZyPuCDYMkPdnYgYbeOP_3XL4Bt_p7HHGGMs"]