{"version":1,"pages":[{"id":"uiYV4rKt4NmT0QFjT6z5","title":"README","pathname":"/blog","siteSpaceId":"sitesp_qPpU6","description":""},{"id":"EMD9fHtSRbmy6rJUgFDg","title":"CLAUDE.md","pathname":"/blog/claude","siteSpaceId":"sitesp_qPpU6","description":""},{"id":"BHUYofHwt2iVm8Wuz0ai","title":"Docs","pathname":"/blog/docs","siteSpaceId":"sitesp_qPpU6"},{"id":"YodB5L5NvEG6p0sX6xWF","title":"index","pathname":"/blog/docs/index","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"}]},{"id":"UKQyqfkVJGy9t03Bfn5x","title":"Articles","pathname":"/blog/docs/articles","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"}]},{"id":"SwTQ80AcRZOXc1YOQMDy","title":"AI","pathname":"/blog/docs/articles/ai","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"GIfHcNZhHpWNKO1TRR3a","title":"chrome开发者工具mcp","pathname":"/blog/docs/articles/ai/chrome-kai-fa-zhe-gong-ju-mcp","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"dI7dFbAoLrWKzF0mBis6","title":"modelscope安装和使用","pathname":"/blog/docs/articles/ai/modelscope-an-zhuang-he-shi-yong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"9A2NWy8cD2Uotm4MOszJ","title":"qwen禁用思考模式","pathname":"/blog/docs/articles/ai/qwen-jin-yong-si-kao-mo-shi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"1jqskAgYNylVErSck54a","title":"体验Chrome AI","pathname":"/blog/docs/articles/ai/ti-yan-chrome-ai","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"07RT4M2mgEaMmLisXOdc","title":"体验Cloudflare Workers AI","pathname":"/blog/docs/articles/ai/ti-yan-cloudflare-workers-ai","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"YOam542EJRfM4iEvjnnh","title":"体验Gemini Cli","pathname":"/blog/docs/articles/ai/ti-yan-gemini-cli","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"RxnnUEOnfEwj2hlYw8Pt","title":"体验deepseek","pathname":"/blog/docs/articles/ai/ti-yan-deepseek","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"fRIsjy82D9KeSS1GNxKX","title":"体验ollama","pathname":"/blog/docs/articles/ai/ti-yan-ollama","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"OhNfmWQbhyp7p1a6K0V3","title":"前端代码评审指南","pathname":"/blog/docs/articles/ai/qian-duan-dai-ma-ping-shen-zhi-nan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"W7bcgs7DPQLtOQomQS3k","title":"前端快速熟悉python概念","pathname":"/blog/docs/articles/ai/qian-duan-kuai-su-shu-xi-python-gai-nian","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"2hmwTah20cBEahW9rKbn","title":"推荐前端安装的cc插件和skills","pathname":"/blog/docs/articles/ai/tui-jian-qian-duan-an-zhuang-de-cc-cha-jian-he-skills","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"AI"}]},{"id":"kjpg2PJDxN9h5yQMUPht","title":"CSS","pathname":"/blog/docs/articles/css","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"S4lEbhCxJFKQzNfBrhzf","title":"CSS优化-PurgeCSS","pathname":"/blog/docs/articles/css/css-you-hua-purgecss","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"CSS"}]},{"id":"tLmUNyaz4wwCPPNoczIw","title":"实用效果","pathname":"/blog/docs/articles/css/shi-yong-xiao-guo","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"CSS"}]},{"id":"ysm5HbgD7re96COsAUcb","title":"开发常用样式","pathname":"/blog/docs/articles/css/kai-fa-chang-yong-yang-shi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"CSS"}]},{"id":"jb4hoxVYNJIxEQrtnNjB","title":"Deepin","pathname":"/blog/docs/articles/deepin","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"ye8UaOeodgOpn3HFRxde","title":"deepin20安装mysql","pathname":"/blog/docs/articles/deepin/deepin20-an-zhuang-mysql","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Deepin"}]},{"id":"I96Kgdkz9sbLieUqX8Jy","title":"deepin25浏览器提示webgl不可用","pathname":"/blog/docs/articles/deepin/deepin25-liu-lan-qi-ti-shi-webgl-bu-ke-yong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Deepin"}]},{"id":"fT5lfy2Q0VxLylYjyzwh","title":"deepin使用tensorflow入门机器学习","pathname":"/blog/docs/articles/deepin/deepin-shi-yong-tensorflow-ru-men-ji-qi-xue-xi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Deepin"}]},{"id":"7WrL5buxdn3SjLgDppPX","title":"deepin安装cuda和cuDNN","pathname":"/blog/docs/articles/deepin/deepin-an-zhuang-cuda-he-cudnn","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Deepin"}]},{"id":"OGisW0JZ8BqQhBfMDmWx","title":"deepin安装lamp","pathname":"/blog/docs/articles/deepin/deepin-an-zhuang-lamp","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Deepin"}]},{"id":"4qNnSzlZcpkrCivl97QX","title":"deepin安装nvidia驱动","pathname":"/blog/docs/articles/deepin/deepin-an-zhuang-nvidia-qu-dong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Deepin"}]},{"id":"E5IUywOP5toRPUPPHSOA","title":"deepin安装oh my Zsh","pathname":"/blog/docs/articles/deepin/deepin-an-zhuang-oh-my-zsh","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Deepin"}]},{"id":"qX3QrIcq9Z2NiXOBi2Sk","title":"deepin安装p7zip","pathname":"/blog/docs/articles/deepin/deepin-an-zhuang-p7zip","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Deepin"}]},{"id":"MLpEuMGHIV36GrHDiSa8","title":"deepin换源","pathname":"/blog/docs/articles/deepin/deepin-huan-yuan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Deepin"}]},{"id":"I7u7F9wGrkxt6VtEawbX","title":"安装deepin系统后要做的事","pathname":"/blog/docs/articles/deepin/an-zhuang-deepin-xi-tong-hou-yao-zuo-de-shi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Deepin"}]},{"id":"oZY1BDxdiEG0DIBto6uu","title":"Docker","pathname":"/blog/docs/articles/docker","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"fyHr1ynSMx2uwWjLvefu","title":"CI/CD搭建配置","pathname":"/blog/docs/articles/docker/ci-he-cd-da-jian-pei-zhi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Docker"}]},{"id":"R6qsKXAItny9ZWi2Sxbh","title":"deepin搭建docker环境","pathname":"/blog/docs/articles/docker/deepin-da-jian-docker-huan-jing","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Docker"}]},{"id":"urIEnYLWUyGGuHaUOl7a","title":"docker安装和使用gitlab","pathname":"/blog/docs/articles/docker/docker-an-zhuang-he-shi-yong-gitlab","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Docker"}]},{"id":"aowMTH0Z6Pf1RxxfSfZy","title":"docker搭建nginx+php环境","pathname":"/blog/docs/articles/docker/docker-da-jian-nginx+php-huan-jing","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Docker"}]},{"id":"brauIYAaZdvESbzIngGD","title":"Essay","pathname":"/blog/docs/articles/essay","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"eYEnZsPzbckX6M1ZDKtX","title":"IOS申请邓白氏编码","pathname":"/blog/docs/articles/essay/ios-shen-qing-deng-bai-shi-bian-ma","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"OL7V3R4VX5amsYdPJ331","title":"Markdown-Mermaid","pathname":"/blog/docs/articles/essay/markdown-mermaid","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"tCTJC3lhPAnCy2ZmhgrB","title":"Markdown Use","pathname":"/blog/docs/articles/essay/markdownuse","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"cHcZIs80CBS2VXbFdbN1","title":"webview白屏的问题查找和修复","pathname":"/blog/docs/articles/essay/webview-bai-ping-de-wen-ti-cha-zhao-he-xiu-fu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"cYgvE7t67HWhshKURqdN","title":"前端开发对接问题和解决办法汇总","pathname":"/blog/docs/articles/essay/qian-duan-kai-fa-dui-jie-wen-ti-he-jie-jue-ban-fa-hui-zong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"mvwSi1Qp5ixHAyxTxbvA","title":"国务院机构改革方案","pathname":"/blog/docs/articles/essay/guo-wu-yuan-ji-gou-gai-ge-fang-an","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"lhhj5bW2AsFvWXSFw4yD","title":"国家级智库","pathname":"/blog/docs/articles/essay/guo-jia-ji-zhi-ku","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"LInofVlzhcGTrUwUXiiD","title":"实用网站推荐","pathname":"/blog/docs/articles/essay/shi-yong-wang-zhan-tui-jian","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"PBIFbScc0AS5w917GytJ","title":"常用Markdown数学公式语法","pathname":"/blog/docs/articles/essay/chang-yong-markdown-shu-xue-gong-shi-yu-fa","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"PVFyfq1YeAalrgdk5f5f","title":"强烈推荐前端要安装的vscode扩展","pathname":"/blog/docs/articles/essay/qiang-lie-tui-jian-qian-duan-yao-an-zhuang-de-vscode-kuo-zhan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"UrkpHOJ6vRn47PLeArIP","title":"新建销售计划-页面卡死问题分析","pathname":"/blog/docs/articles/essay/xin-jian-xiao-shou-ji-hua-ye-mian-ka-si-wen-ti-fen-xi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"K0dazequFH6yQ2G9cunj","title":"海淘入坑手册","pathname":"/blog/docs/articles/essay/hai-tao-ru-keng-shou-ce","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"OVwDlOEDjkdEvXJqZjfT","title":"竞品研究","pathname":"/blog/docs/articles/essay/jing-pin-yan-jiu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"0VBJNaxjdlEVFKWY3KZO","title":"足球知识速成","pathname":"/blog/docs/articles/essay/zu-qiu-zhi-shi-su-cheng","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Essay"}]},{"id":"k43lQIDS7ujgYxoth9vn","title":"Git","pathname":"/blog/docs/articles/git","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"KBN4iuoJjDbjsWgVTt9v","title":"GitBook安装和常用命令","pathname":"/blog/docs/articles/git/gitbook-an-zhuang-he-chang-yong-ming-ling","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Git"}]},{"id":"98BABoDKsfmIpSeXm590","title":"GitKraken免费版本","pathname":"/blog/docs/articles/git/gitkraken-mian-fei-ban-ben","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Git"}]},{"id":"AjvWxQ2Qu5Nk2Xi7YCAM","title":"Git安装和配置","pathname":"/blog/docs/articles/git/git-an-zhuang-he-pei-zhi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Git"}]},{"id":"FsbuVgWoR0hIL98yFBlI","title":"Git异常处理","pathname":"/blog/docs/articles/git/git-yi-chang-chu-li","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Git"}]},{"id":"yLEjP5MhzfWavLbhAJOf","title":"Git Worktree使用","pathname":"/blog/docs/articles/git/gitworktree-shi-yong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Git"}]},{"id":"9CNys84tIuYpGQbmM55B","title":"前端工程化相关的实用git命令","pathname":"/blog/docs/articles/git/qian-duan-gong-cheng-hua-xiang-guan-de-shi-yong-git-ming-ling","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Git"}]},{"id":"7P12hiTt7DZxLzfPBKFS","title":"JAVA","pathname":"/blog/docs/articles/java","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"4JLMPqDI8ANRV8IfYCVv","title":"Java环境搭建","pathname":"/blog/docs/articles/java/java-huan-jing-da-jian","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JAVA"}]},{"id":"7D5jordzwUarfEy75STh","title":"使用vscode进行java开发","pathname":"/blog/docs/articles/java/shi-yong-vscode-jin-xing-java-kai-fa","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JAVA"}]},{"id":"SEDp2XD7jF8fMMtZeWN4","title":"JS","pathname":"/blog/docs/articles/js","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"isV4digh06yXdGST2IbS","title":"ESM模块导出方式对比","pathname":"/blog/docs/articles/js/esm-mo-kuai-dao-chu-fang-shi-dui-bi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"h0zOC6eWCcwZ8h9IPpDS","title":"Emoji多端统一处理","pathname":"/blog/docs/articles/js/emoji-duo-duan-tong-yi-chu-li","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"6xY68tDFabyfo9A9yBOc","title":"JS发布订阅模式","pathname":"/blog/docs/articles/js/js-fa-bu-ding-yue-mo-shi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"1OZoKniW0uZ7F7eINTS4","title":"JS性能优化","pathname":"/blog/docs/articles/js/js-xing-neng-you-hua","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"YGDpcgmzhL44ww75W3GB","title":"JS标准内置对象","pathname":"/blog/docs/articles/js/js-biao-zhun-nei-zhi-dui-xiang","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"YJlAfHS2UekIoke8wTuU","title":"JS链式调用原理","pathname":"/blog/docs/articles/js/js-lian-shi-diao-yong-yuan-li","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"klhjk3do4JddalP0RFO1","title":"Promise介绍和使用","pathname":"/blog/docs/articles/js/promise-jie-shao-he-shi-yong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"PnGhbJ8o40QXkZNdwXmY","title":"Range的使用","pathname":"/blog/docs/articles/js/range-de-shi-yong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"ujyp99s2qQxIVGeJBgUn","title":"Vue+Oauth登录实现","pathname":"/blog/docs/articles/js/vue+oauth-deng-lu-shi-xian","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"npFBwMNBnZcqOOv0vj5a","title":"Vue实现富文本插入Emoji","pathname":"/blog/docs/articles/js/vue-shi-xian-fu-wen-ben-cha-ru-emoji","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"ZzEHsANynSJtVilkboF7","title":"chrome扩展入门","pathname":"/blog/docs/articles/js/chrome-kuo-zhan-ru-men","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"bRQ3TzfVZsKv4zWIx07x","title":"es5新特性","pathname":"/blog/docs/articles/js/es5-xin-te-xing","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"BmnpEYZHosRjpd7oooUl","title":"es6常用特性","pathname":"/blog/docs/articles/js/es6-chang-yong-te-xing","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"KZhCMLjIcsyPvMbUM96H","title":"es常用片段","pathname":"/blog/docs/articles/js/es-chang-yong-pian-duan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"lVFpUy8sfJYwFyzdPxcO","title":"uniapp使用eslint校验代码","pathname":"/blog/docs/articles/js/uniapp-shi-yong-eslint-jiao-yan-dai-ma","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"Rz4ArTvSqXWk3PrMuytB","title":"与移动端通信","pathname":"/blog/docs/articles/js/yu-yi-dong-duan-tong-xin","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"1CuyEYPTojGpEd3dcyhw","title":"优秀js库moment","pathname":"/blog/docs/articles/js/you-xiu-js-ku-moment","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"MKbfpoEaiUeSgdIhQxPy","title":"使用vue-socketio","pathname":"/blog/docs/articles/js/shi-yong-vuesocketio","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"hoYafWUsFiiW0OhG6CV0","title":"实现一个中间件","pathname":"/blog/docs/articles/js/shi-xian-yi-ge-zhong-jian-jian","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"zzYLHsYbmtvmIloG0cmM","title":"小程序webview调试","pathname":"/blog/docs/articles/js/xiao-cheng-xu-webview-tiao-shi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"GOfSqyLym0SO0CKSUVg0","title":"常用snippets","pathname":"/blog/docs/articles/js/chang-yong-snippets","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"9OqnNME9gQ9iNSw80H9H","title":"常用正则","pathname":"/blog/docs/articles/js/chang-yong-zheng-ze","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"XtWvEnF5Kv0hyTZ7CfOU","title":"常用的设计模式","pathname":"/blog/docs/articles/js/chang-yong-de-she-ji-mo-shi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"FW91DYKJ8EtfE2AKEA63","title":"微信jssdk封装使用","pathname":"/blog/docs/articles/js/wei-xin-jssdk-feng-zhuang-shi-yong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"9g0KFa1DPoJR7SpsR987","title":"浏览器宏任务和微任务","pathname":"/blog/docs/articles/js/liu-lan-qi-hong-ren-wu-he-wei-ren-wu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"VeulOxzNSblfbR8t05Xw","title":"浏览器的5种Observer","pathname":"/blog/docs/articles/js/liu-lan-qi-de-5-zhong-observer","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"croXnfynTpzYJnsGSN4U","title":"深入理解赋值、浅拷贝、深拷贝","pathname":"/blog/docs/articles/js/shen-ru-li-jie-fu-zhi-qian-kao-bei-shen-kao-bei","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"5dxEdXJiBdc6SCjURq4O","title":"解析vue指令clickoutside源码","pathname":"/blog/docs/articles/js/jie-xi-vue-zhi-ling-clickoutside-yuan-ma","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"ybCKxVgULUJFUVjvUTbE","title":"键盘事件与KeyBoardWrapper交互","pathname":"/blog/docs/articles/js/jian-pan-shi-jian-yu-keyboardwrapper-jiao-hu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"b75nmRDrVCA0FXmAliv2","title":"高德地图常用方法封装","pathname":"/blog/docs/articles/js/gao-de-di-tu-chang-yong-fang-fa-feng-zhuang","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"hgUNsz4LR9bDVQU5orH0","title":"高阶函数片段","pathname":"/blog/docs/articles/js/gao-jie-han-shu-pian-duan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"JS"}]},{"id":"xaWDv6Rg7LtO0Y4rtmEL","title":"Linux","pathname":"/blog/docs/articles/linux","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"OBZlW1wFcYZLd5MAljQJ","title":"OpenEuler配置nginx","pathname":"/blog/docs/articles/linux/openeuler-pei-zhi-nginx","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"9sKIQIEUddHUWB6jrNY0","title":"Ubuntu安装deepin桌面环境","pathname":"/blog/docs/articles/linux/ubuntu-an-zhuang-deepin-zhuo-mian-huan-jing","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"RKQmIjQjZYVS1K9a4syt","title":"Ubuntu安装flatpak软件","pathname":"/blog/docs/articles/linux/ubuntu-an-zhuang-flatpak-ruan-jian","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"YhvnqvWoF27H8JFmzS0h","title":"Ubuntu安装wireshark","pathname":"/blog/docs/articles/linux/ubuntu-an-zhuang-wireshark","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"JKk64ijuqi0a6Q6oHHKk","title":"Ubuntu常见问题汇总","pathname":"/blog/docs/articles/linux/ubuntu-chang-jian-wen-ti-hui-zong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"NIWC8MoTvN3wIM5poZSF","title":"dell G3装系统无法识别第二块硬盘","pathname":"/blog/docs/articles/linux/dell-g3-zhuang-xi-tong-wu-fa-shi-bie-di-er-kuai-ying-pan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"F61tDsrBccKstYAHq6Ih","title":"linux下virtualbox用gho还原系统","pathname":"/blog/docs/articles/linux/linux-xia-virtualbox-yong-gho-huan-yuan-xi-tong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"zY1s5gPTqHsI5JB6Z1lz","title":"mysql常用命令","pathname":"/blog/docs/articles/linux/mysql-chang-yong-ming-ling","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"sGXT37CQGfju1DvTVrbp","title":"navicat连接一键集成环境的mysql","pathname":"/blog/docs/articles/linux/navicat-lian-jie-yi-jian-ji-cheng-huan-jing-de-mysql","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"9kahZv1lq9snd0BLdu9z","title":"nginx常用命令","pathname":"/blog/docs/articles/linux/nginx-chang-yong-ming-ling","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"R1n8MHdclgiQTmHMPhRU","title":"pm2常用命令","pathname":"/blog/docs/articles/linux/pm2-chang-yong-ming-ling","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"Gi3HFlCJmXtwFa8jGh4y","title":"virtualbox虚拟机和宿主机互相复制粘贴","pathname":"/blog/docs/articles/linux/virtualbox-xu-ni-ji-he-su-zhu-ji-hu-xiang-fu-zhi-nian-tie","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"chK1NVZtVGruCq5sJunm","title":"vps内资源通过mega快传到本地","pathname":"/blog/docs/articles/linux/vps-nei-zi-yuan-tong-guo-mega-kuai-chuan-dao-ben-di","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"Mf1ak952M5neLlD8G339","title":"vps报错temporary failure in name resolution","pathname":"/blog/docs/articles/linux/vps-bao-cuo-temporary-failure-in-name-resolution","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"UA505Zc5UHHQDMDv8uPK","title":"vscode修改文件监控数","pathname":"/blog/docs/articles/linux/vscode-xiu-gai-wen-jian-jian-kong-shu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"l9fiJAXF6juS7zOsQzRM","title":"windows+linux双系统引导修复","pathname":"/blog/docs/articles/linux/windows+linux-shuang-xi-tong-yin-dao-xiu-fu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"aINrgXwvEIQPNgtKJNko","title":"zsh常用插件和命令","pathname":"/blog/docs/articles/linux/zsh-chang-yong-cha-jian-he-ming-ling","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"ucTmPOTh5tr0OBfLeuhZ","title":"一键搭建ChatGPT web版","pathname":"/blog/docs/articles/linux/yi-jian-da-jian-chatgpt-web-ban","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"3qIeb876PAMGzASKZ29f","title":"使用V2ray,CloudFlare Warp解锁GPT","pathname":"/blog/docs/articles/linux/shi-yong-v2raycloudflare-warp-jie-suo-gpt","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"ieh42caqETVrYR5te64v","title":"利用zx和SSHKey发布代码到服务器","pathname":"/blog/docs/articles/linux/li-yong-zx-he-sshkey-fa-bu-dai-ma-dao-fu-wu-qi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"FtHu3f9uKYsIZ8snhL8X","title":"反爬虫一些方案总结和尝试","pathname":"/blog/docs/articles/linux/fan-pa-chong-yi-xie-fang-an-zong-jie-he-chang-shi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"nXYNtqk3aLndapbHUjyK","title":"安装1Panel","pathname":"/blog/docs/articles/linux/an-zhuang-1panel","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"gnzH62dHCXBFRbRF6HR3","title":"安装Bt面板","pathname":"/blog/docs/articles/linux/an-zhuang-bt-mian-ban","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"hyZoRaB1MF8B0a0A7h8J","title":"安装Ubuntu22.04后要做的事","pathname":"/blog/docs/articles/linux/an-zhuang-ubuntu22.04-hou-yao-zuo-de-shi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"WGxtYtUx77HHLVvSiPwf","title":"无显示器linux设置默认分辨率","pathname":"/blog/docs/articles/linux/wu-xian-shi-qi-linux-she-zhi-mo-ren-fen-bian-l","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"gWDeBvvhwLRxKRomlwiI","title":"特别实用的shell命令","pathname":"/blog/docs/articles/linux/te-bie-shi-yong-de-shell-ming-ling","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"FSkBvWc8oGePvtHPoNL0","title":"解决linux安装xmind缺少依赖报错","pathname":"/blog/docs/articles/linux/jie-jue-linux-an-zhuang-xmind-que-shao-yi-lai-bao-cuo","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Linux"}]},{"id":"x0vj352qhdtXqwwyuRpu","title":"Network","pathname":"/blog/docs/articles/network","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"Soo2n9lNUhI57q5NGBwr","title":"使用Lighthouse分析前端性能","pathname":"/blog/docs/articles/network/shi-yong-lighthouse-fen-xi-qian-duan-xing-neng","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Network"}]},{"id":"vkBOV4uIMzK3lU9Yhnsn","title":"前后端启用https","pathname":"/blog/docs/articles/network/qian-hou-duan-qi-yong-https","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Network"}]},{"id":"kBvcQbytpyvxUR7LLOqo","title":"安装使用aria2","pathname":"/blog/docs/articles/network/an-zhuang-shi-yong-aria2","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Network"}]},{"id":"8SP5ZH1KGBDCk4k8l5Be","title":"宝塔nginx安装ngx_brotli","pathname":"/blog/docs/articles/network/bao-ta-nginx-an-zhuang-ngxbrotli","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Network"}]},{"id":"nltuOSflnz5XT6wO2Edy","title":"比较gz与br加载速度","pathname":"/blog/docs/articles/network/bi-jiao-gz-yu-br-jia-zai-su-du","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Network"}]},{"id":"mrvQRSsOLVR2j3DFE1r3","title":"浏览器https提示不安全","pathname":"/blog/docs/articles/network/liu-lan-qi-https-ti-shi-bu-an-quan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Network"}]},{"id":"PS0j3mXRPzwZqrzYJcKH","title":"浏览器提示HSTS","pathname":"/blog/docs/articles/network/liu-lan-qi-ti-shi-hsts","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Network"}]},{"id":"ErvSWsXGo3t5L9pN5Gsy","title":"简单使用tcpdump","pathname":"/blog/docs/articles/network/jian-dan-shi-yong-tcpdump","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Network"}]},{"id":"qLIgTDAePuhpADugsnq9","title":"静态资源gzip优化","pathname":"/blog/docs/articles/network/jing-tai-zi-yuan-gzip-you-hua","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Network"}]},{"id":"2zdVq9VeM4qmW7qlKNL7","title":"Node","pathname":"/blog/docs/articles/node","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"rAYf7NZWPkehAt0aqRJp","title":"CommonJS模块导出方式对比","pathname":"/blog/docs/articles/node/commonjs-mo-kuai-dao-chu-fang-shi-dui-bi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"2IZzj6ZYunNjcVoOl6Pv","title":"Taro command not found 多平台解决方案","pathname":"/blog/docs/articles/node/taro-command-not-found-duo-ping-tai-jie-jue-fang-an","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"tJ40x1pjFlY2mfSsjff5","title":"koa使用和API实现","pathname":"/blog/docs/articles/node/koa-shi-yong-he-api-shi-xian","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"culcvy8i5J5rbyu3EfIo","title":"node安装报错Unexpected-token","pathname":"/blog/docs/articles/node/node-an-zhuang-bao-cuo-unexpectedtoken","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"LwF2CujQaOhYr2c84K1v","title":"使用nvm或者fnm和nrm","pathname":"/blog/docs/articles/node/shi-yong-nvm-he-nrm","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"1VeODvpBFRI2n8OJhLST","title":"使用uniapp给小程序添加云函数","pathname":"/blog/docs/articles/node/shi-yong-uniapp-gei-xiao-cheng-xu-tian-jia-yun-han-shu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"fE7NsP3iD2PQTmTFbU0M","title":"使用verdaccio搭建本地npm仓库","pathname":"/blog/docs/articles/node/shi-yong-verdaccio-da-jian-ben-di-npm-cang-ku","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"VcuvMfMXOWAPm6i2V9EY","title":"使用vue-cli搭建vue项目","pathname":"/blog/docs/articles/node/shi-yong-vuecli-da-jian-vue-xiang-mu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"YBnKxWYZh6Ji1Zrf9csh","title":"安装Node.js和npm配置","pathname":"/blog/docs/articles/node/an-zhuang-node.js-he-npm-pei-zhi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"9FviDr86rOzWRBKy6YjH","title":"编译成cjs和mjs的思路解析","pathname":"/blog/docs/articles/node/bian-yi-cheng-cjs-he-mjs-de-si-lu-jie-xi","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"1GTDn15eFKXS03hBv6AT","title":"让你的npmPackage同时支持cjs和mjs","pathname":"/blog/docs/articles/node/rang-ni-de-npmpackage-tong-shi-zhi-chi-cjs-he-mjs","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"PeQsX4woPAKCP6CdpwV3","title":"通过GithubAction将内容部署到vps","pathname":"/blog/docs/articles/node/tong-guo-githubaction-jiang-nei-rong-bu-shu-dao-vps","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Node"}]},{"id":"zxUVlkA6Z2hZprPeSi9R","title":"Python","pathname":"/blog/docs/articles/python","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"tr0J57RSXX9heqiNPlie","title":"Python源管理","pathname":"/blog/docs/articles/python/python-yuan-guan-li","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Python"}]},{"id":"AVwLUaMi4HTCDiBGtIFE","title":"Python版本管理","pathname":"/blog/docs/articles/python/python-ban-ben-guan-li","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Python"}]},{"id":"pb9IiIA1fJNIAj2PzNvE","title":"mitmproxy抓包","pathname":"/blog/docs/articles/python/mitmproxy-zhua-bao","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Python"}]},{"id":"vq25nrGhlICuk98GRSWz","title":"python项目安装指南","pathname":"/blog/docs/articles/python/python-xiang-mu-an-zhuang-zhi-nan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Python"}]},{"id":"AXGwrtwDA0nuhwV7u486","title":"微信公众平台开发爬坑经历","pathname":"/blog/docs/articles/python/wei-xin-gong-zhong-hao-kai-fa-pa-keng-jing-li","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Python"}]},{"id":"CkeX1jPjG4klZbOPtiix","title":"Standards","pathname":"/blog/docs/articles/standards","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"qmChqz5JSLFgyVCgAtBV","title":"CSS格式化之stylelint","pathname":"/blog/docs/articles/standards/css-ge-shi-hua-zhi-stylelint","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Standards"}]},{"id":"grbnEy9MdMbWQI7JOICG","title":"CSS规范","pathname":"/blog/docs/articles/standards/css-gui-fan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Standards"}]},{"id":"Rvw8NYqbVZVjEpSdFutJ","title":"HTML规范","pathname":"/blog/docs/articles/standards/html-gui-fan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Standards"}]},{"id":"Vh6sjqKGsDjSDSHYmsND","title":"JS规范","pathname":"/blog/docs/articles/standards/js-gui-fan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Standards"}]},{"id":"ss2dlmeY2gv6NfeUSdMg","title":"commit规范","pathname":"/blog/docs/articles/standards/commit-gui-fan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Standards"}]},{"id":"3vQSuj7P0Cs5tjsgWZ2b","title":"使用husky+commitlint规范代码提交","pathname":"/blog/docs/articles/standards/shi-yong-husky+commitlint-gui-fan-dai-ma-ti-jiao","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Standards"}]},{"id":"AI9Tr03IGQnwtJEM5J18","title":"使用semantic-release自动管理版本号","pathname":"/blog/docs/articles/standards/shi-yong-semanticrelease-zi-dong-guan-li-ban-ben-hao","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Standards"}]},{"id":"o218LCeRhZvVefXmMTIR","title":"命名规范","pathname":"/blog/docs/articles/standards/ming-ming-gui-fan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Standards"}]},{"id":"1SChj1xJo3DOfMM9wn9i","title":"图片规范","pathname":"/blog/docs/articles/standards/tu-pian-gui-fan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Standards"}]},{"id":"yZcmBjjpAO2SxfcgSl0d","title":"版本编号规范","pathname":"/blog/docs/articles/standards/ban-ben-bian-hao-gui-fan","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Standards"}]},{"id":"pMQOSYwhKujHbqAroDs6","title":"Wall","pathname":"/blog/docs/articles/wall","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"I4UOyE9b7mpJXSHL1mU6","title":"科学上网-Clash","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-clash","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"sLUO0c3rlVvNIZi5DSUi","title":"科学上网-Cloudflare-Pages","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-cloudflarepages","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"pROvq446z2MRIpum0jxx","title":"科学上网-Cloudflare-Warp","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-cloudflarewarp","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"1uacAVCzjGySu72gvKYB","title":"科学上网-Geph","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-geph","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"gswEYzrjOsz3qNBqSPi2","title":"科学上网-RackNerd","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-racknerd","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"IWb7VbXnR27FKi6qFfy8","title":"科学上网-Slicehosting","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-slicehosting","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"GC6wvKZGBsHpAMPvK7lj","title":"科学上网-Surfshark","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-surfshark","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"uwMmr2dnlSZhLmI8YCfq","title":"科学上网-Tor","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-tor","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"HBEBuSPzmwWmYBSoss7Z","title":"科学上网-XX-NET","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-xxnet","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"D4E9KxjKmcqFUe4REw16","title":"科学上网-heroku","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-heroku","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"aYjL11CWDUjHkthLVQWw","title":"科学上网-shadowsock","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-shadowsock","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"fJTYMkvTa3mJFZVCnqDe","title":"科学上网-v2ray使用","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-v2ray-shi-yong","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"KbkSebvaEtV7qU8kruvd","title":"科学上网-v2ray搭建","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-v2ray-da-jian","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"SEFr7IWDtHMzNH9Wdo9I","title":"科学上网-浏览器代理","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-liu-lan-qi-dai-li","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"9yQa2ddZGYM5ljPJ6vqM","title":"科学上网-让终端走代理","pathname":"/blog/docs/articles/wall/ke-xue-shang-wang-rang-zhong-duan-zou-dai-li","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Wall"}]},{"id":"pW1h63c0R6QdCzPUaLcC","title":"Windows","pathname":"/blog/docs/articles/windows","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Articles"}]},{"id":"ifeSQylYgVzo90WAIM89","title":"SourceTree破解免登录(windows版)","pathname":"/blog/docs/articles/windows/sourcetree-po-jie-mian-deng-lu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"6pGTBQVDKpuY4uoP0HNZ","title":"git bash交互提示符不工作","pathname":"/blog/docs/articles/windows/git-bash-jiao-hu-ti-shi-fu-bu-gong-zuo","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"DoDneLxjmfyLDGoawOmQ","title":"nexus 7 2013 wifi 刷机","pathname":"/blog/docs/articles/windows/nexus-7-2013-wifi-shua-ji","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"du48Dz7ECamIBbYSxOx6","title":"tree命令生成文件目录","pathname":"/blog/docs/articles/windows/tree-ming-ling-sheng-cheng-wen-jian-mu-lu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"ABWzwRBEdzsV7PCLpxfe","title":"利用charles抓包app","pathname":"/blog/docs/articles/windows/li-yong-charles-zhua-bao-app","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"1MC4wt93W3h3tYvXfPsM","title":"安装Openssl","pathname":"/blog/docs/articles/windows/an-zhuang-openssl","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"SQIZPrvypjXQGJZ4bWNa","title":"安装msi文件报错2503和2502","pathname":"/blog/docs/articles/windows/an-zhuang-msi-wen-jian-bao-cuo-2503-he-2502","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"BtNN9X15KEfKAaG3A1le","title":"神器vimium使用说明","pathname":"/blog/docs/articles/windows/shen-qi-vimium-shi-yong-shuo-ming","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"uTfQEyMLeWMX9zzRc46r","title":"自用host","pathname":"/blog/docs/articles/windows/zi-yong-host","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"HdEmYvBX8392S52ufRtD","title":"解决win10扩展出来的屏幕模糊","pathname":"/blog/docs/articles/windows/jie-jue-win10-kuo-zhan-chu-lai-de-ping-mu-mo-hu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"4v5NsewUq7QlzpamvVa1","title":"解决安装Adobe Air时发生错误","pathname":"/blog/docs/articles/windows/jie-jue-an-zhuang-adobe-air-shi-fa-sheng-cuo-wu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Articles"},{"label":"Windows"}]},{"id":"Ax2Rmn7eYuxVMn84HJUF","title":"Snippets","pathname":"/blog/docs/snippets","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"}]},{"id":"EPsiYkAbL0SytLQQFqpM","title":"zsh","pathname":"/blog/docs/snippets/zsh","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"}]},{"id":"F8JnGgQremNENTyJHpiu","title":"docker","pathname":"/blog/docs/snippets/zsh/docker","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"fovWJkfEERHSUYmZPC9G","title":"extract","pathname":"/blog/docs/snippets/zsh/extract","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"UDkeabnXQKfXPEQgDpGQ","title":"git-commit","pathname":"/blog/docs/snippets/zsh/git-commit","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"oAY78imXTXW71VEtuR7f","title":"git","pathname":"/blog/docs/snippets/zsh/git","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"7jmuPEFKJmH5PZSykaML","title":"mysql-macports","pathname":"/blog/docs/snippets/zsh/mysql-macports","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"qyjKkNqPpnjjqMBcpxSe","title":"npm","pathname":"/blog/docs/snippets/zsh/npm","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"x2wSiUMPl2Iztuk77WML","title":"nvm","pathname":"/blog/docs/snippets/zsh/nvm","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"YL0OL721aRIeLv9ZZyhk","title":"pip","pathname":"/blog/docs/snippets/zsh/pip","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"t8cjaISEpvFBNCLTt7NN","title":"pm2","pathname":"/blog/docs/snippets/zsh/pm2","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"qcdG2JTu65fGfRA5zLCd","title":"systemd","pathname":"/blog/docs/snippets/zsh/systemd","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"592Lt23MgFKSfBStqsS5","title":"ubuntu","pathname":"/blog/docs/snippets/zsh/ubuntu","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"4vEFatTFlykOIMnD9Wd4","title":"vscode","pathname":"/blog/docs/snippets/zsh/vscode","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":"Docs"},{"label":"Snippets"},{"label":"zsh"}]},{"id":"AYOo4htOJ7XXsOKglBop","title":".agents","pathname":"/blog/.agents","siteSpaceId":"sitesp_qPpU6"},{"id":"OLvbobsQFZ7vvc7Hg6BW","title":"skills","pathname":"/blog/.agents/skills","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":".agents"}]},{"id":"Dr7g0y7B4xR0F8gbvRI4","title":"vitepress","pathname":"/blog/.agents/skills/vitepress","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":".agents"},{"label":"skills"}]},{"id":"7T5ZKZtC79SfnL9uOrWC","title":"Generation Info","pathname":"/blog/.agents/skills/vitepress/generation","siteSpaceId":"sitesp_qPpU6","description":"","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"}]},{"id":"1PFbMJC0JMbwzKemsJ1h","title":"SKILL","pathname":"/blog/.agents/skills/vitepress/skill","siteSpaceId":"sitesp_qPpU6","description":"VitePress static site generator powered by Vite and Vue. Use when building documentation sites, configuring themes, or writing Markdown with Vue components.","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"}]},{"id":"TvNyex0kiyq53j3Z4OrE","title":"references","pathname":"/blog/.agents/skills/vitepress/references","siteSpaceId":"sitesp_qPpU6","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"}]},{"id":"y5TKpzNIFpplKmwFBaPi","title":"Internationalization","pathname":"/blog/.agents/skills/vitepress/references/advanced-i18n","siteSpaceId":"sitesp_qPpU6","description":"Setting up multi-language sites with locale configuration and RTL support","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"pHqrCc5Q6LQD4WvVw9cF","title":"SSR Compatibility","pathname":"/blog/.agents/skills/vitepress/references/advanced-ssr","siteSpaceId":"sitesp_qPpU6","description":"Server-side rendering compatibility, ClientOnly component, and handling browser-only code","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"KC1kRVtQRIvA625NEIvx","title":"CLI Commands","pathname":"/blog/.agents/skills/vitepress/references/core-cli","siteSpaceId":"sitesp_qPpU6","description":"Command-line interface for development, building, and previewing VitePress sites","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"7nbu7ckETwsurXiLZ30O","title":"Configuration","pathname":"/blog/.agents/skills/vitepress/references/core-config","siteSpaceId":"sitesp_qPpU6","description":"Config file setup, defineConfig helper, site metadata, and build options","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"Ii2yhmdzWNdoUAlgKr2E","title":"Markdown Extensions","pathname":"/blog/.agents/skills/vitepress/references/core-markdown","siteSpaceId":"sitesp_qPpU6","description":"Markdown extensions including frontmatter, custom containers, tables, anchors, and file includes","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"M1cAyNbnYN0oYtref3Lw","title":"Routing","pathname":"/blog/.agents/skills/vitepress/references/core-routing","siteSpaceId":"sitesp_qPpU6","description":"File-based routing, source directory structure, clean URLs, and route rewrites","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"Efrmko9cMA1ngsbAzIK1","title":"Code Blocks","pathname":"/blog/.agents/skills/vitepress/references/features-code-blocks","siteSpaceId":"sitesp_qPpU6","description":"Syntax highlighting, line highlighting, colored diffs, focus, and line numbers","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"kM7ucoNbvQx8Jop4VeH3","title":"Data Loading","pathname":"/blog/.agents/skills/vitepress/references/features-data-loading","siteSpaceId":"sitesp_qPpU6","description":"Build-time data loaders for fetching remote data or processing local files","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"Wx170GgyehmBLP7ZTaoQ","title":"Dynamic Routes","pathname":"/blog/.agents/skills/vitepress/references/features-dynamic-routes","siteSpaceId":"sitesp_qPpU6","description":"Generate multiple pages from a single markdown template using paths loader files","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"BOCd0fpwKEt4RRrYaEJi","title":"Vue in Markdown","pathname":"/blog/.agents/skills/vitepress/references/features-vue","siteSpaceId":"sitesp_qPpU6","description":"Using Vue components, script setup, directives, and templating in markdown files","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"kaGz1raZQHdHEZN8zb0p","title":"Deployment","pathname":"/blog/.agents/skills/vitepress/references/recipes-deploy","siteSpaceId":"sitesp_qPpU6","description":"Deploying VitePress sites to various platforms including GitHub Pages, Netlify, Vercel, and more","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"WBFNbe94aEJitDQLUZZK","title":"Theme Configuration","pathname":"/blog/.agents/skills/vitepress/references/theme-config","siteSpaceId":"sitesp_qPpU6","description":"Default theme configuration for navigation, sidebar, search, social links, and footer","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"DivDTP13qZlRubICTXLa","title":"Custom Themes","pathname":"/blog/.agents/skills/vitepress/references/theme-custom","siteSpaceId":"sitesp_qPpU6","description":"Building custom themes from scratch with the theme interface, Layout component, and enhanceApp","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]},{"id":"2G8tJfabap4Gev5CntNG","title":"Extending Default Theme","pathname":"/blog/.agents/skills/vitepress/references/theme-customization","siteSpaceId":"sitesp_qPpU6","description":"Customize CSS variables, use layout slots, register global components, and override theme fonts","breadcrumbs":[{"label":".agents"},{"label":"skills"},{"label":"vitepress"},{"label":"references"}]}]}