[{"data":1,"prerenderedAt":233},["ShallowReactive",2],{"content:\u002Fposts\u002Ffooter-config":3,"surround:\u002Fposts\u002Ffooter-config":223},{"id":4,"title":5,"body":6,"categories":196,"date":198,"description":199,"draft":200,"extension":201,"image":202,"meta":203,"navigation":205,"path":206,"permalink":207,"pinned":200,"published":207,"readingTime":208,"recommend":207,"references":207,"seo":213,"sitemap":214,"stem":215,"tags":216,"type":220,"updated":221,"__hash__":222},"content\u002Fposts\u002Fposts\u002Ffooter-config.md","Firefly 魔改：FooterConfig 页脚模板定制",{"type":7,"value":8,"toc":181},"minimark",[9,19,22,33,40,44,51,56,63,73,77,80,86,90,93,99,103,106,112,116,127,133,139,142,149,152,162,170,174],[10,11,15],"alert",{"title":12,"type":13,"icon":14},"AI 迁移提示","info","tabler:robot",[16,17,18],"p",{},"本文由 AI 协助从旧站迁移，尚未完成逐篇人工审校；内容如有疏漏，将在复核后修订。",[10,20],{"title":21,"type":13},"> 本文部分内容由 AI 辅助整理，已结合实际操作进行校验，请根据自身环境谨慎使用。",[16,23,24,28,29,32],{},[25,26,27],"code",{"code":27},"FooterConfig.html"," 是 Firefly 博客页脚的 HTML 模板文件，位于 ",[25,30,31],{"code":31},"src\u002Fconfig\u002FFooterConfig.html","。内容是纯内联 CSS + HTML + 一小段 JavaScript，直接在文件中修改即可生效，无需改动组件代码。",[16,34,35],{},[36,37],"img",{"alt":38,"src":39},"完整的页脚效果","https:\u002F\u002Fimg.olinl.com\u002Ffile\u002Fpost-img\u002Ffooter-config\u002F0001.webp",[41,42,43],"h2",{"id":43},"文件结构",[16,45,46,47,50],{},"整个文件分五个区域，颜色使用 CSS 变量 ",[25,48,49],{"code":49},"var(--primary)"," 跟随主题色自动适配浅色\u002F深色模式。",[52,53,55],"h3",{"id":54},"_1-页脚插画","1. 页脚插画",[16,57,58,59,62],{},"顶部一幅装饰小图，纯美化用。想换图直接改 ",[25,60,61],{"code":61},"src"," 路径即可。",[64,65,71],"pre",{"className":66,"code":68,"language":69,"meta":70},[67],"language-html","\u003Cdiv class=\"animal-img\">\n    \u003Cimg alt=\"animals\" src=\"\u002Fassets\u002Fimages\u002Fanimals.webp\">\n\u003C\u002Fdiv>\n","html","",[25,72,68],{"__ignoreMap":70},[52,74,76],{"id":75},"_2-技术徽章","2. 技术徽章",[16,78,79],{},"每个徽章是一个带链接的图标，指向对应的官网或版权说明页面。当前共六个：",[64,81,84],{"className":82,"code":83,"language":69,"meta":70},[67],"\u003Cdiv class=\"badge-group\">\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fastro.build\u002F\" title=\"Astro\">\n        \u003Cimg alt=\"Astro\" src=\"\u002Fassets\u002Fbadges\u002Fastro.svg\">\n    \u003C\u002Fa>\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Ftailwindcss.com\u002F\" title=\"TailwindCSS\">\n        \u003Cimg alt=\"TailwindCSS\" src=\"\u002Fassets\u002Fbadges\u002Ftailwind.svg\">\n    \u003C\u002Fa>\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Ftwikoo.js.org\u002F\" title=\"Twikoo\">\n        \u003Cimg alt=\"Twikoo\" src=\"\u002Fassets\u002Fbadges\u002Ftwikoo.svg\">\n    \u003C\u002Fa>\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fedgeone.ai\u002Fzh\u002F\" title=\"本站CDN加速 EdgeOne\">\n        \u003Cimg alt=\"EdgeOne\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fzsr-EdgeOne-blue?logo=icloud&label=CDN\">\n    \u003C\u002Fa>\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fumami.is\u002F\" title=\"Umami\">\n        \u003Cimg alt=\"Umami\" src=\"\u002Fassets\u002Fbadges\u002Fumami.svg\">\n    \u003C\u002Fa>\n    \u003Ca target=\"_blank\" href=\"http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-sa\u002F4.0\u002F\" title=\"本站内容采用 CC BY-NC-SA 4.0 许可\">\n        \u003Cimg alt=\"Copyright\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCopyright-BY--NC--SA%204.0-d42328?logo=coursera&logoColor=fff\">\n    \u003C\u002Fa>\n\u003C\u002Fdiv>\n",[25,85,83],{"__ignoreMap":70},[52,87,89],{"id":88},"_3-社交链接","3. 社交链接",[16,91,92],{},"使用内联 SVG 图标 + 文字标签，指向博客的各个子站点。当前共四个：",[64,94,97],{"className":95,"code":96,"language":69,"meta":70},[67],"\u003Cdiv class=\"social-row\">\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fblog.olinl.com\" title=\"博客\">\n        \u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\u003Cpath d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\u002F>\u003C\u002Fsvg>\n        \u003Cspan style=\"font-size:14px\">博客\u003C\u002Fspan>\n    \u003C\u002Fa>\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fcloud.olinl.com\" title=\"网盘\">\n        \u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\u003Cpath d=\"M19.35 10.04A7.49 7.49 0 0 0 12 4C9.11 4 6.6 5.64 5.35 8.04A5.994 5.994 0 0 0 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z\"\u002F>\u003C\u002Fsvg>\n        \u003Cspan style=\"font-size:14px\">网盘\u003C\u002Fspan>\n    \u003C\u002Fa>\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fnote.olinl.com\" title=\"随笔\">\n        \u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\u003Cpath d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"\u002F>\u003C\u002Fsvg>\n        \u003Cspan style=\"font-size:14px\">随笔\u003C\u002Fspan>\n    \u003C\u002Fa>\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fdoc.olinl.com\" title=\"文档\">\n        \u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\u003Cpath d=\"M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-1 9h-4v4h-2v-4H9V9h4V5h2v4h4v2z\"\u002F>\u003C\u002Fsvg>\n        \u003Cspan style=\"font-size:14px\">文档\u003C\u002Fspan>\n    \u003C\u002Fa>\n\u003C\u002Fdiv>\n",[25,98,96],{"__ignoreMap":70},[52,100,102],{"id":101},"_4-备案信息","4. 备案信息",[16,104,105],{},"工信部 ICP 备案 + 公安备案，各带一个小图标。",[64,107,110],{"className":108,"code":109,"language":69,"meta":70},[67],"\u003Cdiv class=\"footer-info\">\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fbeian.miit.gov.cn\u002F\">\n        \u003Csvg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\u003Cpath d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\u002F>\u003C\u002Fsvg>\n        苏ICP备2022020192号-1\n    \u003C\u002Fa>\n    \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fbeian.mps.gov.cn\u002Fweb\u002Fbeian\u002F32021302003009\">\n        \u003Csvg width=\"14\" height=\"14\" viewBox=\"0 0 1024 1024\" fill=\"currentColor\">\u003Cpath d=\"M778.24 163.84c-76.8-40.96-165.888-61.44-269.312-61.44s-192.512 20.48-269.312 61.44h-133.12l23.552 337.92c8.192 113.664 67.584 217.088 162.816 280.576l215.04 144.384 215.04-144.384c96.256-63.488 155.648-166.912 163.84-280.576l23.552-337.92H778.24z m47.104 333.824c-7.168 94.208-56.32 181.248-135.168 233.472l-181.248 120.832L327.68 731.136c-78.848-53.248-129.024-139.264-135.168-233.472L173.056 225.28h136.192v-26.624c58.368-23.552 124.928-34.816 199.68-34.816s141.312 12.288 199.68 34.816V225.28H844.8l-19.456 272.384z\"\u002F>\u003C\u002Fsvg>\n        苏公网安备32021302003009号\n    \u003C\u002Fa>\n\u003C\u002Fdiv>\n",[25,111,109],{"__ignoreMap":70},[52,113,115],{"id":114},"_5-运行时长","5. 运行时长",[16,117,118,119,122,123,126],{},"在 ",[25,120,121],{"code":121},"footer-info"," 中加一个 ",[25,124,125],{"code":125},"span#runtime","，由底部的 script 驱动，从建站日开始计算，每秒更新显示。",[64,128,131],{"className":129,"code":130,"language":69,"meta":70},[67],"\u003Cspan id=\"runtime\">⌛小破站正在加载...\u003C\u002Fspan>\n",[25,132,130],{"__ignoreMap":70},[64,134,137],{"className":135,"code":136,"language":69,"meta":70},[67],"\u003Cscript is:inline=\"\">\nif (typeof window.__siteStartTime === 'undefined') {\n    window.__siteStartTime = \"2026-04-28 00:00:00\";\n    function startRuntime() {\n        var el = document.getElementById('runtime');\n        if (!el) return;\n        function update() {\n            var diff = Date.now() - new Date(window.__siteStartTime).getTime();\n            var d = Math.floor(diff \u002F 86400000);\n            var h = Math.floor((diff % 86400000) \u002F 3600000);\n            var m = Math.floor((diff % 3600000) \u002F 60000);\n            var s = Math.floor((diff % 60000) \u002F 1000);\n            el.innerHTML = '⌛小破站已运行 \u003Cspan style=\"color:#FFA500\">' + d + '\u003C\u002Fspan>天 \u003Cspan style=\"color:#1DBF97\">' + h + '\u003C\u002Fspan>时 \u003Cspan style=\"color:#8A2BE2\">' + m + '\u003C\u002Fspan>分 \u003Cspan style=\"color:#007EC6\">' + s + '\u003C\u002Fspan>秒';\n        }\n        update();\n        setInterval(update, 1000);\n    }\n    startRuntime();\n}\n\u003C\u002Fscript>\n",[25,138,136],{"__ignoreMap":70},[41,140,141],{"id":141},"完整文件一览",[64,143,147],{"className":144,"code":145,"language":69,"meta":146},[67],"\u003Cmeta charset=\"UTF-8\">\n\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\u003Cstyle>\n    .badge-footer {\n        display: flex;\n        flex-direction: column;\n        padding: 10px 0;\n        font-size: 14px;\n        color: var(--primary);\n    }\n    .animal-img {\n        display: flex;\n        justify-content: center;\n    }\n    .badge-group {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px 12px;\n        align-items: center;\n        justify-content: center;\n    }\n    .social-row {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 16px;\n        align-items: center;\n        justify-content: center;\n        margin-top: 8px;\n    }\n    .social-row a {\n        color: var(--primary);\n        display: inline-flex;\n        align-items: center;\n        gap: 4px;\n        font-size: 20px;\n        transition: opacity 0.2s;\n    }\n    .social-row a:hover {\n        opacity: 0.7;\n    }\n    .footer-info {\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        flex-wrap: wrap;\n        gap: 8px;\n        margin-top: 6px;\n        font-size: 13px;\n        color: var(--primary);\n        line-height: 1.8;\n    }\n    .footer-info a {\n        color: var(--primary);\n        display: inline-flex;\n        align-items: center;\n        gap: 4px;\n    }\n    .footer-info a:hover {\n        color: #409eff;\n    }\n\u003C\u002Fstyle>\n\n\u003Cdiv class=\"badge-footer\">\n    \u003C!-- ① 页脚插画 -->\n    \u003Cdiv class=\"animal-img\">\n        \u003Cimg alt=\"animals\" src=\"\u002Fassets\u002Fimages\u002Fanimals.webp\">\n    \u003C\u002Fdiv>\n\n    \u003C!-- ② 技术徽章 -->\n    \u003Cdiv class=\"badge-group\">\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fastro.build\u002F\" title=\"Astro\">\n            \u003Cimg alt=\"Astro\" src=\"\u002Fassets\u002Fbadges\u002Fastro.svg\">\n        \u003C\u002Fa>\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Ftailwindcss.com\u002F\" title=\"TailwindCSS\">\n            \u003Cimg alt=\"TailwindCSS\" src=\"\u002Fassets\u002Fbadges\u002Ftailwind.svg\">\n        \u003C\u002Fa>\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Ftwikoo.js.org\u002F\" title=\"Twikoo\">\n            \u003Cimg alt=\"Twikoo\" src=\"\u002Fassets\u002Fbadges\u002Ftwikoo.svg\">\n        \u003C\u002Fa>\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fedgeone.ai\u002Fzh\u002F\" title=\"本站CDN加速 EdgeOne\">\n            \u003Cimg alt=\"EdgeOne\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fzsr-EdgeOne-blue?logo=icloud&label=CDN\">\n        \u003C\u002Fa>\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fumami.is\u002F\" title=\"Umami\">\n            \u003Cimg alt=\"Umami\" src=\"\u002Fassets\u002Fbadges\u002Fumami.svg\">\n        \u003C\u002Fa>\n        \u003Ca target=\"_blank\" href=\"http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-sa\u002F4.0\u002F\" title=\"本站内容采用 CC BY-NC-SA 4.0 许可\">\n            \u003Cimg alt=\"Copyright\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCopyright-BY--NC--SA%204.0-d42328?logo=coursera&logoColor=fff\">\n        \u003C\u002Fa>\n    \u003C\u002Fdiv>\n\n    \u003C!-- ③ 社交链接 -->\n    \u003Cdiv class=\"social-row\">\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fblog.olinl.com\" title=\"博客\">\n            \u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\u003Cpath d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\u002F>\u003C\u002Fsvg>\n            \u003Cspan style=\"font-size:14px\">博客\u003C\u002Fspan>\n        \u003C\u002Fa>\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fcloud.olinl.com\" title=\"网盘\">\n            \u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\u003Cpath d=\"M19.35 10.04A7.49 7.49 0 0 0 12 4C9.11 4 6.6 5.64 5.35 8.04A5.994 5.994 0 0 0 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z\"\u002F>\u003C\u002Fsvg>\n            \u003Cspan style=\"font-size:14px\">网盘\u003C\u002Fspan>\n        \u003C\u002Fa>\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fnote.olinl.com\" title=\"随笔\">\n            \u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\u003Cpath d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"\u002F>\u003C\u002Fsvg>\n            \u003Cspan style=\"font-size:14px\">随笔\u003C\u002Fspan>\n        \u003C\u002Fa>\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fdoc.olinl.com\" title=\"文档\">\n            \u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\u003Cpath d=\"M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-1 9h-4v4h-2v-4H9V9h4V5h2v4h4v2z\"\u002F>\u003C\u002Fsvg>\n            \u003Cspan style=\"font-size:14px\">文档\u003C\u002Fspan>\n        \u003C\u002Fa>\n    \u003C\u002Fdiv>\n\n    \u003C!-- ④ 备案信息 + 运行时长 -->\n    \u003Cdiv class=\"footer-info\">\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fbeian.miit.gov.cn\u002F\">\n            \u003Csvg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\u003Cpath d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\u002F>\u003C\u002Fsvg>\n            苏ICP备2022020192号-1\n        \u003C\u002Fa>\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fbeian.mps.gov.cn\u002Fweb\u002Fbeian\u002F32021302003009\">\n            \u003Csvg width=\"14\" height=\"14\" viewBox=\"0 0 1024 1024\" fill=\"currentColor\">\u003Cpath d=\"M778.24 163.84c-76.8-40.96-165.888-61.44-269.312-61.44s-192.512 20.48-269.312 61.44h-133.12l23.552 337.92c8.192 113.664 67.584 217.088 162.816 280.576l215.04 144.384 215.04-144.384c96.256-63.488 155.648-166.912 163.84-280.576l23.552-337.92H778.24z m47.104 333.824c-7.168 94.208-56.32 181.248-135.168 233.472l-181.248 120.832L327.68 731.136c-78.848-53.248-129.024-139.264-135.168-233.472L173.056 225.28h136.192v-26.624c58.368-23.552 124.928-34.816 199.68-34.816s141.312 12.288 199.68 34.816V225.28H844.8l-19.456 272.384z\"\u002F>\u003C\u002Fsvg>\n            苏公网安备32021302003009号\n        \u003C\u002Fa>\n        \u003Cspan id=\"runtime\">⌛小破站正在加载...\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\n\u003C!-- ⑤ 运行时长脚本 -->\n\u003Cscript is:inline=\"\">\nif (typeof window.__siteStartTime === 'undefined') {\n    window.__siteStartTime = \"2026-04-28 00:00:00\";\n    function startRuntime() {\n        var el = document.getElementById('runtime');\n        if (!el) return;\n        function update() {\n            var diff = Date.now() - new Date(window.__siteStartTime).getTime();\n            var d = Math.floor(diff \u002F 86400000);\n            var h = Math.floor((diff % 86400000) \u002F 3600000);\n            var m = Math.floor((diff % 3600000) \u002F 60000);\n            var s = Math.floor((diff % 60000) \u002F 1000);\n            el.innerHTML = '⌛小破站已运行 \u003Cspan style=\"color:#FFA500\">' + d + '\u003C\u002Fspan>天 \u003Cspan style=\"color:#1DBF97\">' + h + '\u003C\u002Fspan>时 \u003Cspan style=\"color:#8A2BE2\">' + m + '\u003C\u002Fspan>分 \u003Cspan style=\"color:#007EC6\">' + s + '\u003C\u002Fspan>秒';\n        }\n        update();\n        setInterval(update, 1000);\n    }\n    startRuntime();\n}\n\u003C\u002Fscript>\n","title=\"src\u002Fconfig\u002FFooterConfig.html\"",[25,148,145],{"__ignoreMap":70},[41,150,151],{"id":151},"相关文件",[16,153,154,155],{},"HTML 模板：",[156,157,161],"a",{"href":158,"rel":159},"https:\u002F\u002Fgithub.com\u002Folinll\u002Ffirefly-blog\u002Fblob\u002Fmaster\u002Fsrc\u002Fconfig\u002FFooterConfig.html",[160],"nofollow","\u002Fsrc\u002Fconfig\u002FFooterConfig.html",[16,163,164,165],{},"相关源码：",[156,166,169],{"href":167,"rel":168},"https:\u002F\u002Fgithub.com\u002Folinll\u002Ffirefly-blog",[160],"olinll\u002Ffirefly-blog",[41,171,173],{"id":172},"最后","🔗 最后",[16,175,176,177,180],{},"FooterConfig.html 的定位就是一个\"傻瓜式\"模板——不需要懂 Astro 组件、不需要配置 TypeScript，打开 HTML 文件直接改你想改的部分就行。想加个徽章就复制一行 ",[25,178,179],{"code":179},"\u003Ca>","，想换个图标就改一下 SVG，零学习成本。",{"title":70,"searchDepth":182,"depth":182,"links":183},4,[184,193,194,195],{"id":43,"depth":185,"text":43,"children":186},2,[187,189,190,191,192],{"id":54,"depth":188,"text":55},3,{"id":75,"depth":188,"text":76},{"id":88,"depth":188,"text":89},{"id":101,"depth":188,"text":102},{"id":114,"depth":188,"text":115},{"id":141,"depth":185,"text":141},{"id":151,"depth":185,"text":151},{"id":172,"depth":185,"text":173},[197],"Firefly","2026-07-19 15:03:19","通过修改 FooterConfig.html 自由定制页脚——技术徽章、社交链接、备案号、运行时长。",false,"md","https:\u002F\u002Fimg.olinl.com\u002Ffile\u002Fpost-img\u002Ffooter-config\u002Fcover.webp",{"slots":204},{},true,"\u002Fposts\u002Ffooter-config",null,{"text":209,"minutes":210,"time":211,"words":212},"7 min read",6.75,405000,1350,{"title":5,"description":199},{"loc":206},"posts\u002Fposts\u002Ffooter-config",[197,217,218,219],"博客","二开","配置","tech","2026-07-22 19:30:00","tcW7P-JNMtbpOyom1WIIjFtFbfBTtklXeEwE4Xext-s",[224,229],{"title":225,"path":226,"stem":227,"date":228,"type":220,"children":-1},"Firefly 魔改：基于 Astro redirects 的短链接系统","\u002Fposts\u002Fshortlink","posts\u002Fposts\u002Fshortlink","2026-07-04 17:30:50",{"title":230,"path":231,"stem":232,"date":198,"type":220,"children":-1},"Firefly 魔改：集成 Memos API 作为动态数据源","\u002Fposts\u002Fmemos-dynamic","posts\u002Fposts\u002Fmemos-dynamic",1788712221314]