Deployed 7481252 with MkDocs version: 1.6.1

This commit is contained in:
2025-06-04 07:22:52 +00:00
parent 919964deaa
commit 67642ce0ca
72 changed files with 305 additions and 731 deletions

View File

@ -1,7 +0,0 @@
{
"summary": "本文介绍了Git版本控制系统的核心操作与实用技巧涵盖仓库创建、分支管理、冲突解决等基础功能并重点讲解了stash暂存、rebase/merge策略选择、cherry-pick等高级用法。通过具体代码示例和操作图示详细说明了如何高效处理代码提交、修改撤销、历史记录修改等常见开发场景帮助开发者提升Git使用效率和工作流优化能力。",
"service": "deepseek",
"page_title": "Git 实用技巧",
"timestamp": "2025-06-03T17:49:57.016746",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "MkDocs允许通过自定义HTML文件实现页脚个性化配置。用户需在docs/overrides/partials/目录下创建或修改footer.html文件插入特定代码片段即可完成设置。该功能适用于需要定制网站底部信息的场景操作简单且无需修改核心配置文件。",
"service": "deepseek",
"page_title": "页脚设置",
"timestamp": "2025-06-03T17:48:51.452489",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "Tidio提供免费、无需梯子的在线聊天解决方案适合网站快速集成。用户只需注册账号从设置中获取专属JavaScript代码将其嵌入网站指定位置即可完成部署。该工具安装简便仅需单行代码即可实现实时聊天功能适用于各类网站提升用户互动体验。",
"service": "deepseek",
"page_title": "添加在线聊天",
"timestamp": "2025-06-03T17:49:39.839561",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "本文介绍了网页圆角化设计的实现方法重点讲解通过CSS样式实现图片和边框的圆角效果。具体包括在mkdocs.yml中引入CSS文件、使用border-radius属性设置圆角参数以及通过grid cards和按钮组件的圆角化应用示例。这些技术可提升网页视觉美感适用于文档网站和UI组件的美化设计。",
"service": "deepseek",
"page_title": "网页圆角化设计",
"timestamp": "2025-06-03T17:49:48.821549",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "该技术方案通过git-revision-date-localized插件为MKdocs文档系统添加文章修订时间戳功能。核心实现是在CI工作流中配置选择性启用策略既避免了本地渲染时全量检查git历史导致的性能损耗又能在发布时准确显示各页面的最后更新时间。该方法显著提升了文档系统的维护效率特别适合需要展示内容时效性的技术文档场景。",
"service": "deepseek",
"page_title": "为MKdocs添加文章修订时间戳",
"timestamp": "2025-06-03T17:49:33.387495",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "MIT许可证授予用户自由使用、修改、分发软件的广泛权利仅要求保留版权声明和许可条款。该许可证明确声明软件不提供任何担保作者不对使用后果承担责任。作为宽松开源协议MIT许可适用于希望最大限度允许代码重用和分发的场景是开发者常用的标准化授权方式之一。",
"service": "deepseek",
"page_title": "许可声明",
"timestamp": "2025-06-03T17:46:59.367221",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "在GitHub Pages部署mkdocs时自定义域名失效的主要原因是本地项目未同步远程仓库的CNAME文件。解决方法是在/docs目录下创建无后缀的CNAME文件并填入域名确保该文件随项目推送至仓库。此操作可避免因未拉取远程变更导致的域名配置被清除问题适用于需要长期维护自定义域名的静态站点部署场景。",
"service": "deepseek",
"page_title": "3.解决Github Pages部署mkdocs自定义域名失效的问题",
"timestamp": "2025-06-03T17:47:22.241614",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "本文总结了MkDocs文档系统中相对地址引用的常见问题与解决方案重点分析了图片、PDF、跨页面及静态资源的正确引用方式。核心要点包括以docs目录为根路径进行相对定位路径需严格区分大小写推荐统一资源目录结构以确保本地与线上环境一致性。同时指出了路径错误、大小写不一致等典型问题的排查方法为MkDocs项目资源管理提供了实用指导。",
"service": "deepseek",
"page_title": "相对地址的一些问题",
"timestamp": "2025-06-03T17:48:27.261980",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "唐·诺曼提出的情感设计三层次理论包括本能层、行为层和反思层。本能层关注产品外观引发的即时情感反应;行为层强调使用过程中的功能性和效率;反思层涉及用户对产品的理性分析和自我认同。这三个层次相互影响,共同塑造用户对产品的整体体验。该理论为设计提供了系统框架,帮助平衡美学、功能与情感需求,广泛应用于产品开发和用户体验优化。",
"service": "deepseek",
"page_title": "唐·诺曼—情感设计的三个层次",
"timestamp": "2025-06-03T17:50:31.324103",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "Mkdocs内置博客插件可快速搭建技术博客只需在mkdocs.yml中添加简单配置即可启用。支持通过docs/blog/.authors.yml文件管理作者信息无需额外创建文件。该插件简化了技术文档与博客的集成流程适合开发者快速构建内容发布平台同时保持与Mkdocs文档系统的无缝衔接。",
"service": "deepseek",
"page_title": "添加Mkdocs博客",
"timestamp": "2025-06-03T17:47:29.076646",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "本次网站更新主要围绕性能优化和功能修复展开,持续进行\"流畅度优化\"工作包括提升加载速度、重写部分代码。重点修复了Markdown解析异常、评论区重定位等核心问题改进了友链统计和留言板功能。同时保持教程内容与官方版本同步更新并清理了失效资源链接。更新体现了对用户体验和技术稳定性的持续改进。",
"service": "deepseek",
"page_title": "2025网站更新记录",
"timestamp": "2025-06-03T17:48:10.707128",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "本文介绍了开源中文字体霞鹜文楷LXGW WenKai的技术特点与应用场景。该字体基于日本FONTWORKS公司的Klee One衍生而来包含简繁日韩多语言支持提供屏幕阅读版、轻便版等多个版本。文章详细说明了字体的开发背景、补字计划以及获取方式特别强调了其开源特性与跨平台适用性适合网页设计、移动端显示等场景。同时提供了字体使用注意事项和版本更新渠道。",
"service": "deepseek",
"page_title": "修改网站字体",
"timestamp": "2025-06-03T17:49:15.570155",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "该技术文档介绍了三种网页背景特效的实现方法雪花、樱花和粒子效果。核心是通过JavaScript动态加载特效脚本并利用LocalStorage控制特效的显示状态。代码示例展示了如何通过创建script元素并设置src属性来引入外部特效脚本适用于需要动态美化网页界面的场景。",
"service": "deepseek",
"page_title": "背景特效",
"timestamp": "2025-06-03T17:48:44.779996",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "本文详细介绍了使用MkDocs框架部署静态网页到GitHub Pages的完整流程。重点包括通过GitHub Desktop管理仓库、配置mkdocs.yml基础文件、设置GitHub Workflow自动化部署流程以及最终发布网站的关键步骤。教程采用Material for MkDocs主题特别强调了目录结构管理和GitHub Pages的发布设置要点适合需要快速搭建技术文档网站的开发人员。",
"service": "deepseek",
"page_title": "1.利用Mkdocs部署静态网页",
"timestamp": "2025-06-03T17:47:06.876020",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "MWeb Pro是一款专为macOS设计的专业Markdown写作与笔记应用支持GFM语法扩展含表格、LaTeX、代码块等及多种图表库mermaid/PlantUML等。提供高效的图文混排功能支持拖拽插入图片与自定义宽度。支持导出多种格式PDF/HTML/Epub等及发布到主流博客平台集成七牛云等图床服务。内置强大的文档管理功能支持分类树、标签体系和快速搜索适合知识管理与静态网站生成。原生优化界面兼顾简洁性与高性能。",
"service": "deepseek",
"page_title": "MWeb Pro",
"timestamp": "2025-06-03T17:50:13.676009",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "本文介绍如何在文档项目中添加顶部公告栏,通过修改`docs/overrides/main.html`文件实现自定义公告内容。操作步骤包括创建指定目录结构编辑HTML文件进行个性化配置。该方法适用于需要突出显示重要通知的技术文档网站具有修改灵活、部署简单的特点无需改动核心代码即可实现公告功能。",
"service": "deepseek",
"page_title": "添加顶部公告栏",
"timestamp": "2025-06-03T17:48:58.818728",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "本文介绍了MkDocs文档工具的学习资源和使用指南包括官方教程、Material主题教程及插件列表并提供了作者的中文教程语雀、CSDN、知乎。内容涵盖快速部署静态网页到GitHub Pages、配置mkdocs.yml文件以及添加博客功能同时附有视频教程。最后请求使用者注明教程来源并支持友链申请。",
"service": "deepseek",
"page_title": "0.Mkdocs教程前言",
"timestamp": "2025-06-03T17:47:36.335858",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "本文介绍了使用MkDocs构建网站时的性能优化方案包括采用WebP等现代图片格式压缩资源、通过CDN分发静态文件以降低延迟以及合理配置git插件来加速本地渲染。重点提出了开发/生产环境差异化配置策略并推荐使用Lighthouse工具进行性能测试验证。这些措施能有效提升网站加载速度和用户体验。",
"service": "deepseek",
"page_title": "加速网站访问的一些心得",
"timestamp": "2025-06-03T17:48:37.346674",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "Markdown是一种轻量级标记语言支持易读易写的纯文本格式可转换为HTML/PDF等多种格式。本文介绍了其核心语法标题分级、文本样式斜体/粗体/高亮)、列表(有序/无序/任务列表)、表格、超链接、图片/视频插入、代码块及特殊字符转义。同时推荐了各平台常用编辑工具如MacDown、StackEdit等和学习资源适用于快速创建结构化文档。",
"service": "deepseek",
"page_title": "Markdown指南",
"timestamp": "2025-06-03T17:50:23.689041",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "该文介绍了通过JavaScript和CSS自定义网页鼠标样式的实现方法重点说明了关键参数设置包括鼠标尺寸、颜色支持RGB值和颜色名称以及跟随圆形的颜色调整。提供了具体的代码示例并提示需在mkdocs.yml中引入相关文件。适用于需要个性化鼠标交互效果的网页开发场景。",
"service": "deepseek",
"page_title": "JS实现鼠标样式",
"timestamp": "2025-06-03T17:49:25.603096",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "2024年网站持续优化重点提升流畅度和访问速度包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及MKdocs主题更新、代码显示优化、图片迁移至SMMS平台并引入自动新标签页打开功能。网站被百度/谷歌收录友链扩展至16位同时完善了文档修改时间记录功能。",
"service": "deepseek",
"page_title": "2024网站更新记录",
"timestamp": "2025-06-03T17:48:03.477533",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "本文阐述了设计领域的核心原则与实践要点。强调简洁性、视觉美感和用户体验是优秀设计的三大支柱,提出通过精简元素、优化交互流程和注重细节来提升产品质感。同时指出创新思维和情感共鸣对设计的重要性,主张融合故事性与品牌价值来创造差异化体验。全文系统性地总结了从功能实现到情感连接的多维度设计方法论。",
"service": "deepseek",
"page_title": "我对设计的一些观点",
"timestamp": "2025-06-03T17:50:38.719582",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "本文详细介绍了Mkdocs配置文件mkdocs.yml的核心配置项包括站点基本信息设置、主题配色方案支持明暗模式切换、导航功能优化如目录展开、返回顶部按钮以及搜索增强功能。重点讲解了标签系统实现方法、Markdown扩展配置并提供了自定义CSS/JS的路径引入方式。配置支持中文界面可通过修改palette参数调整主题色适合需要快速搭建文档网站的技术人员参考。",
"service": "deepseek",
"page_title": "2.Mkdocs配置说明(mkdocs.yml)",
"timestamp": "2025-06-03T17:47:14.573310",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "Lighthouse是谷歌开发的网站性能测试工具可评估页面加载速度、可访问性等关键指标。通过浏览器开发者工具F12即可快速运行测试支持Chrome和Edge。该工具能精准定位性能瓶颈帮助开发者优化网页体验适用于各类网站的自动化性能检测与改进。测试结果直观展示各项评分便于针对性提升。",
"service": "deepseek",
"page_title": "利用Lighthouse测试网站性能",
"timestamp": "2025-06-03T17:50:04.498244",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "2022年网站建设过程包括10月建立Github仓库并正式建站取消cookie确认简化访问流程新增首页反馈功能6月确定采用MKdocs框架搭建并全款购入独立域名。更新重点优化了用户体验和隐私保护同时完善了技术基础设施。",
"service": "deepseek",
"page_title": "2022网站更新记录",
"timestamp": "2025-06-03T17:47:47.115295",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "该项目为MkDocs文档系统提供AI驱动的智能摘要和阅读统计功能支持OpenAI、DeepSeek等多API服务。核心特性包括自动生成80-120字多语言摘要、智能内容清理、缓存优化及精准阅读时间估算。通过hooks机制实现灵活配置支持文件夹和页面级控制并采用LRU缓存提升性能。安装简便适合技术文档和博客能有效提升文档可读性和用户体验。",
"service": "deepseek",
"page_title": "MkDocs文档AI摘要",
"timestamp": "2025-06-03T17:48:19.290580",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "giscus是一款基于GitHub Discussions的开源评论系统无需数据库且完全免费。它支持多语言、自定义主题和高可配置性数据自动同步GitHub Discussions。相比传统方案giscus无需维护服务器适合技术博客和文档网站。通过简单配置即可集成到MkDocs等静态网站提供无跟踪、无广告的轻量级评论功能。",
"service": "deepseek",
"page_title": "添加评论系统(giscus为例)",
"timestamp": "2025-06-03T17:49:06.276364",
"language": "zh"
}

View File

@ -1,7 +0,0 @@
{
"summary": "2023年网站更新主要涉及性能优化、功能增强和用户体验改进。关键更新包括引入AI问答机器人每月25条限制、新增多语言支持含台湾语言、优化移动端适配、修复图片显示和LaTeX渲染等重大Bug。技术改进涵盖图片懒加载、Mkdocs主题定制、搜索功能集成及页面渲染速度提升。同时新增了留言板、友链等互动模块持续优化网站流畅度和视觉设计。",
"service": "deepseek",
"page_title": "2023网站更新记录",
"timestamp": "2025-06-03T17:47:55.002820",
"language": "zh"
}

View File

@ -1,9 +0,0 @@
{
"default_service": "deepseek",
"available_services": [
"deepseek",
"openai"
],
"summary_language": "zh",
"check_time": "2025-06-03T17:46:51.323311"
}

View File

@ -2385,10 +2385,6 @@
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>225</strong></p>
</div>
<h1 id="_1">首頁<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1> <h1 id="_1">首頁<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
<!-- <center><font color= #518FC1 size=6>“循此苦旅,以达星辰”</font></center> --> <!-- <center><font color= #518FC1 size=6>“循此苦旅,以达星辰”</font></center> -->
<center><font color= #518FC1 size=6 class="ml3">“循此苦旅 以達星辰”</font></center> <center><font color= #518FC1 size=6 class="ml3">“循此苦旅 以達星辰”</font></center>

View File

@ -2519,11 +2519,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2022年网站建设过程包括10月建立Github仓库并正式建站取消cookie确认简化访问流程新增首页反馈功能6月确定采用MKdocs框架搭建并全款购入独立域名。更新重点优化了用户体验和隐私保护同时完善了技术基础设施。</p> <p>2022年网站建设过程包括10月建立Github仓库并正式建站取消cookie确认简化访问流程新增首页反馈功能6月确定采用MKdocs框架搭建10月完成独立域名wcowin.work的注册。主要优化了用户体验和隐私保护技术方案选择轻量级文档框架。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>
</div> </div>
<h2 id="2022-10-20"></p><h1 id="01" name="01"><strong>2022-10-20</strong></h1><p><a class="headerlink" href="#2022-10-20" title="Permanent link">&para;</a></h2> <h2 id="2022-10-20"></p><h1 id="01" name="01"><strong>2022-10-20</strong></h1><p><a class="headerlink" href="#2022-10-20" title="Permanent link">&para;</a></h2>
<ul> <ul>

View File

@ -2609,11 +2609,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2023年网站更新主要涉及性能优化、功能增强和用户体验改进。关键更新包括引入AI问答机器人每月25条限制、新增多语言支持含台湾语言、优化移动端适配、修复图片显示和LaTeX渲染等重大Bug。技术改进涵盖图片懒加载、Mkdocs主题定制、搜索功能集成及页面渲染速度提升。同时新增了留言板、友链等互动模块持续优化网站流畅度和视觉设计。</p> <p>2023年网站主要更新包括引入AI问答机器人25条/月限制、多语言支持含台湾地区、国内镜像站点和Mkdocs-Wcowin主题。技术优化涉及图片懒加载、移动端适配、LaTeX渲染修复及网页流畅度提升。新增功能有留言板集成giscus、友链模块和博客板块同时改进了搜索功能与界面设计。全年持续进行性能优化和用户体验改进。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>
</div> </div>
<h2 id="2023-12-21"></p><h1 id="01" name="01"><strong>2023-12-21</strong></h1><p><a class="headerlink" href="#2023-12-21" title="Permanent link">&para;</a></h2> <h2 id="2023-12-21"></p><h1 id="01" name="01"><strong>2023-12-21</strong></h1><p><a class="headerlink" href="#2023-12-21" title="Permanent link">&para;</a></h2>
<ul> <ul>

View File

@ -2699,11 +2699,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2024年网站持续优化重点提升流畅度和访问速度包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及MKdocs主题更新、代码显示优化、图片迁移至SMMS平台并引入自动新标签页打开功能。网站被百度/谷歌收录友链扩展至16位同时完善了文档修改时间记录功能。</p> <p>2024年网站持续优化重点提升流畅度和访问速度包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及JS/CSS代码精简、MKdocs主题更新、图片迁移至SMMS平台并引入自动新标签页打开功能。网站被百度/谷歌收录友链扩展至16个同时完善了文档版本管理插件。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>522</strong> | 有效代码行数:<strong>43</strong></p>
</div> </div>
<h2 id="2024-12-24"></p><h1 id="01" name="01"><strong>2024-12-24</strong></h1><p><a class="headerlink" href="#2024-12-24" title="Permanent link">&para;</a></h2> <h2 id="2024-12-24"></p><h1 id="01" name="01"><strong>2024-12-24</strong></h1><p><a class="headerlink" href="#2024-12-24" title="Permanent link">&para;</a></h2>
<ul> <ul>

View File

@ -2616,11 +2616,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本次网站更新主要围绕性能优化和功能修复展开,持续进行"流畅度优化"工作包括提升加载速度、重写部分代码。重点修复了Markdown解析异常、评论区重定位等核心问题改进了友链统计和留言板功能。同时保持教程内容与官方版本同步更新并清理了失效资源链接。更新体现了对用户体验和技术稳定性的持续改进。</p> <p>本次网站更新主要围绕性能优化和功能完善展开包括持续优化网站流畅度、修复Markdown解析异常、改进友链统计准确性等核心改进。技术层面涉及代码重构、插件调整如取消glightbox及界面交互优化留言板按钮切换。同时更新了教程内容以适配官方最新版本并解决了图片显示、评论区定位等具体问题。更新记录显示开发者兼顾性能提升与用户体验改善的双重目标。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>
</div> </div>
<h2 id="2025-04-30"></p><h1 id="01" name="01"><strong>2025-04-30</strong></h1><p><a class="headerlink" href="#2025-04-30" title="Permanent link">&para;</a></h2> <h2 id="2025-04-30"></p><h1 id="01" name="01"><strong>2025-04-30</strong></h1><p><a class="headerlink" href="#2025-04-30" title="Permanent link">&para;</a></h2>
<ul> <ul>

View File

@ -2403,11 +2403,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>MIT许可证授予用户自由使用、修改、分发软件的广泛权利仅要求保留版权声明和许可条款。该许可证明确声明软件不提供任何担保作者不对使用后果承担责任。作为宽松开源协议MIT许可适用于希望最大限度允许代码重用和分发的场景是开发者常用的标准化授权方式之一。</p> <p>MIT许可证授予用户自由使用、修改、分发软件的广泛权利仅要求保留版权声明和许可条款。该许可证明确声明软件不提供任何担保作者不对使用后果承担责任。作为宽松开源协议MIT许可证允许商业用途和二次开发适用于希望最大限度开放代码的开发者。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>252</strong></p>
</div> </div>
<p><img alt="" src="https://pic3.zhimg.com/80/v2-a0c07e85f2dfdfa5f1eed932883daa50_1440w.webp" /> </p> <p><img alt="" src="https://pic3.zhimg.com/80/v2-a0c07e85f2dfdfa5f1eed932883daa50_1440w.webp" /> </p>
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">麻省理工学院许可证</label><label for="__tabbed_1_2">MIT License</label></div> <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">麻省理工学院许可证</label><label for="__tabbed_1_2">MIT License</label></div>

View File

@ -2524,11 +2524,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本文详细介绍了使用MkDocs框架部署静态网页到GitHub Pages的完整流程。重点包括通过GitHub Desktop管理仓库、配置mkdocs.yml基础文件、设置GitHub Workflow自动化部署流程以及最终发布网站的关键步骤。教程采用Material for MkDocs主题特别强调了目录结构管理和GitHub Pages的发布设置要点适合需要快速搭建技术文档网站的开发人员。</p> <p>本文详细介绍了使用MkDocs框架部署静态网页到GitHub Pages的完整流程。重点讲解了从创建GitHub仓库、本地环境配置、MkDocs初始化到最终部署的关键步骤包括目录结构调整、workflow配置和页面发布设置。教程采用Material for MkDocs主题提供了基础yml配置示例并强调通过GitHub Desktop实现代码同步。该方法适合快速搭建技术文档网站或个人博客具备版本控制优势。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>485</strong> | 有效代码行数:<strong>73</strong></p>
</div> </div>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">Info</p> <p class="admonition-title">Info</p>

View File

@ -2806,11 +2806,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本文详细介绍了Mkdocs配置文件mkdocs.yml的核心配置项包括站点基本信息设置、主题配色方案支持明暗模式切换、导航功能优化如目录展开、返回顶部按钮以及搜索增强功能。重点讲解了标签系统实现方法、Markdown扩展配置并提供了自定义CSS/JS的路径引入方式。配置支持中文界面可通过修改palette参数调整主题色适合需要快速搭建文档网站的技术人员参考。</p> <p>本文详细介绍了Mkdocs配置文件mkdocs.yml的核心配置项包括站点基本信息、主题配色方案、导航功能设置和搜索优化等。重点讲解了如何通过palette配置实现明暗模式切换以及通过features启用目录跟踪、标签页、代码复制等实用功能。此外还涉及多语言支持、图标自定义、标签系统实现方法并提供了扩展Markdown语法和添加自定义CSS/JS的配置指导。该配置文件可帮助用户快速搭建功能完善、界面美观的文档网站。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>2</strong> 分钟 | 中文字符:<strong>818</strong> | 有效代码行数:<strong>555</strong></p>
</div> </div>
<p>官方文件:<a href="https://squidfunk.github.io/mkdocs-material/setup/changing-the-colors/">Changing the colors - Material for MkDocs</a></p> <p>官方文件:<a href="https://squidfunk.github.io/mkdocs-material/setup/changing-the-colors/">Changing the colors - Material for MkDocs</a></p>
<p><strong>建议详细学习一下上面的官方网站↑↑↑</strong></p> <p><strong>建议详细学习一下上面的官方网站↑↑↑</strong></p>

View File

@ -2409,7 +2409,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>在GitHub Pages部署mkdocs时自定义域名失效的主要原因是本地项目未同步远程仓库的CNAME文件。解决方法是在/docs目录下创建无后缀的CNAME文件并填入域名确保该文件随项目推送至仓库。此操作可避免因未拉取远程变更导致的域名配置被清除问题适用于需要长期维护自定义域名的静态站点部署场景</p> <p>在GitHub Pages部署mkdocs时自定义域名失效的原因是本地缺少CNAME文件导致推送后被清除。解决方法是在/docs目录下创建无后缀的CNAME文件并填入域名确保每次推送后配置信息得以保留。该方案有效解决了因文件缺失导致的域名绑定失效问题</p>
</div> </div>
<p>在/docs目录下创建一个 CNAME 的 无后缀 文件,然后在里面填入你的域名<br /> <p>在/docs目录下创建一个 CNAME 的 无后缀 文件,然后在里面填入你的域名<br />
<img alt="" src="https://s1.imagehub.cc/images/2024/02/02/d23082e5d3ebb839dba8b589a1cb5b7c.png" /></p> <img alt="" src="https://s1.imagehub.cc/images/2024/02/02/d23082e5d3ebb839dba8b589a1cb5b7c.png" /></p>

View File

@ -2409,11 +2409,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>Mkdocs内置博客插件可快速搭建技术博客只需在mkdocs.yml中添加简单配置即可启用。支持通过docs/blog/.authors.yml文件管理作者信息无需额外创建文件。该插件简化了技术文档与博客的集成流程适合开发者快速构建内容发布平台同时保持与Mkdocs文档系统的无缝衔接。</p> <p>Mkdocs内置博客插件可快速搭建技术博客只需在mkdocs.yml中添加简单配置即可启用。支持通过docs/blog/.authors.yml文件管理作者信息无需额外创建文件。该方案适合文档站点集成博客功能具有配置简单、维护便捷的特点适用于技术团队分享文章或项目动态。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>114</strong> | 有效代码行数:<strong>19</strong></p>
</div> </div>
<p>博客效果展示:<a href="../../">博客</a> </p> <p>博客效果展示:<a href="../../">博客</a> </p>
<p>官方文档:<a href="https://squidfunk.github.io/mkdocs-material/plugins/blog/">Built-in blog plugin</a></p> <p>官方文档:<a href="https://squidfunk.github.io/mkdocs-material/plugins/blog/">Built-in blog plugin</a></p>

View File

@ -2542,11 +2542,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本文介绍了MkDocs文档工具的学习资源和使用指南包括官方教程、Material主题教程及插件列表并提供了作者的中文教程语雀、CSDN、知乎。内容涵盖快速部署静态网页到GitHub Pages、配置mkdocs.yml文件以及添加博客功能同时附有视频教程。最后请求使用者注明教程来源并支持友链申请。</p> <p>本文介绍了MkDocs文档工具的学习资源和使用指南包括官方教程、Material主题、插件列表以及作者提供的中文教程语雀、CSDN、知乎。内容涵盖快速部署静态网页到GitHub Pages、配置mkdocs.yml文件以及添加博客功能并附有视频教程。最后请求使用者注明教程来源并支持友链申请。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>222</strong> | 有效代码行数:<strong>5</strong></p>
</div> </div>
<h2 id="_1">文档教程<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2> <h2 id="_1">文档教程<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
<div class="grid cards"> <div class="grid cards">

View File

@ -2426,11 +2426,7 @@
<h2 id="2022"><a class="toclink" href="../../2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2022网站更新记录</a></h2> <h2 id="2022"><a class="toclink" href="../../2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2022网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2022年网站建设过程包括10月建立Github仓库并正式建站取消cookie确认简化访问流程新增首页反馈功能6月确定采用MKdocs框架搭建并全款购入独立域名。更新重点优化了用户体验和隐私保护同时完善了技术基础设施。</p> <p>2022年网站建设过程包括10月建立Github仓库并正式建站取消cookie确认简化访问流程新增首页反馈功能6月确定采用MKdocs框架搭建10月完成独立域名wcowin.work的注册。主要优化了用户体验和隐私保护技术方案选择轻量级文档框架。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>
</div> </div>
<h3 id="2022-10-20"><a class="toclink" href="../../2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2022-10-20"></p><h1 id="01" name="01"><strong>2022-10-20</strong></h1><p></a></h3> <h3 id="2022-10-20"><a class="toclink" href="../../2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2022-10-20"></p><h1 id="01" name="01"><strong>2022-10-20</strong></h1><p></a></h3>
<ul> <ul>

View File

@ -2426,11 +2426,7 @@
<h2 id="2023"><a class="toclink" href="../../2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2023网站更新记录</a></h2> <h2 id="2023"><a class="toclink" href="../../2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2023网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2023年网站更新主要涉及性能优化、功能增强和用户体验改进。关键更新包括引入AI问答机器人每月25条限制、新增多语言支持含台湾语言、优化移动端适配、修复图片显示和LaTeX渲染等重大Bug。技术改进涵盖图片懒加载、Mkdocs主题定制、搜索功能集成及页面渲染速度提升。同时新增了留言板、友链等互动模块持续优化网站流畅度和视觉设计。</p> <p>2023年网站主要更新包括引入AI问答机器人25条/月限制、多语言支持含台湾地区、国内镜像站点和Mkdocs-Wcowin主题。技术优化涉及图片懒加载、移动端适配、LaTeX渲染修复及网页流畅度提升。新增功能有留言板集成giscus、友链模块和博客板块同时改进了搜索功能与界面设计。全年持续进行性能优化和用户体验改进。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>
</div> </div>
<h3 id="2023-12-21"><a class="toclink" href="../../2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2023-12-21"></p><h1 id="01" name="01"><strong>2023-12-21</strong></h1><p></a></h3> <h3 id="2023-12-21"><a class="toclink" href="../../2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2023-12-21"></p><h1 id="01" name="01"><strong>2023-12-21</strong></h1><p></a></h3>
<ul> <ul>

View File

@ -2426,11 +2426,7 @@
<h2 id="2024"><a class="toclink" href="../../2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2024网站更新记录</a></h2> <h2 id="2024"><a class="toclink" href="../../2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2024网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2024年网站持续优化重点提升流畅度和访问速度包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及MKdocs主题更新、代码显示优化、图片迁移至SMMS平台并引入自动新标签页打开功能。网站被百度/谷歌收录友链扩展至16位同时完善了文档修改时间记录功能。</p> <p>2024年网站持续优化重点提升流畅度和访问速度包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及JS/CSS代码精简、MKdocs主题更新、图片迁移至SMMS平台并引入自动新标签页打开功能。网站被百度/谷歌收录友链扩展至16个同时完善了文档版本管理插件。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>522</strong> | 有效代码行数:<strong>43</strong></p>
</div> </div>
<h3 id="2024-12-24"><a class="toclink" href="../../2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2024-12-24"></p><h1 id="01" name="01"><strong>2024-12-24</strong></h1><p></a></h3> <h3 id="2024-12-24"><a class="toclink" href="../../2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2024-12-24"></p><h1 id="01" name="01"><strong>2024-12-24</strong></h1><p></a></h3>
<ul> <ul>

View File

@ -2426,11 +2426,7 @@
<h2 id="2025"><a class="toclink" href="../../2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2025网站更新记录</a></h2> <h2 id="2025"><a class="toclink" href="../../2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2025网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本次网站更新主要围绕性能优化和功能修复展开,持续进行"流畅度优化"工作包括提升加载速度、重写部分代码。重点修复了Markdown解析异常、评论区重定位等核心问题改进了友链统计和留言板功能。同时保持教程内容与官方版本同步更新并清理了失效资源链接。更新体现了对用户体验和技术稳定性的持续改进。</p> <p>本次网站更新主要围绕性能优化和功能完善展开包括持续优化网站流畅度、修复Markdown解析异常、改进友链统计准确性等核心改进。技术层面涉及代码重构、插件调整如取消glightbox及界面交互优化留言板按钮切换。同时更新了教程内容以适配官方最新版本并解决了图片显示、评论区定位等具体问题。更新记录显示开发者兼顾性能提升与用户体验改善的双重目标。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>
</div> </div>
<h3 id="2025-04-30"><a class="toclink" href="../../2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2025-04-30"></p><h1 id="01" name="01"><strong>2025-04-30</strong></h1><p></a></h3> <h3 id="2025-04-30"><a class="toclink" href="../../2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2025-04-30"></p><h1 id="01" name="01"><strong>2025-04-30</strong></h1><p></a></h3>
<ul> <ul>

View File

@ -2426,11 +2426,7 @@
<h2 id="2025"><a class="toclink" href="../../2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2025网站更新记录</a></h2> <h2 id="2025"><a class="toclink" href="../../2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2025网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本次网站更新主要围绕性能优化和功能修复展开,持续进行"流畅度优化"工作包括提升加载速度、重写部分代码。重点修复了Markdown解析异常、评论区重定位等核心问题改进了友链统计和留言板功能。同时保持教程内容与官方版本同步更新并清理了失效资源链接。更新体现了对用户体验和技术稳定性的持续改进。</p> <p>本次网站更新主要围绕性能优化和功能完善展开包括持续优化网站流畅度、修复Markdown解析异常、改进友链统计准确性等核心改进。技术层面涉及代码重构、插件调整如取消glightbox及界面交互优化留言板按钮切换。同时更新了教程内容以适配官方最新版本并解决了图片显示、评论区定位等具体问题。更新记录显示开发者兼顾性能提升与用户体验改善的双重目标。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>
</div> </div>
<h3 id="2025-04-30"><a class="toclink" href="../../2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2025-04-30"></p><h1 id="01" name="01"><strong>2025-04-30</strong></h1><p></a></h3> <h3 id="2025-04-30"><a class="toclink" href="../../2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2025-04-30"></p><h1 id="01" name="01"><strong>2025-04-30</strong></h1><p></a></h3>
<ul> <ul>
@ -2550,11 +2546,7 @@
<h2 id="2024"><a class="toclink" href="../../2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2024网站更新记录</a></h2> <h2 id="2024"><a class="toclink" href="../../2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2024网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2024年网站持续优化重点提升流畅度和访问速度包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及MKdocs主题更新、代码显示优化、图片迁移至SMMS平台并引入自动新标签页打开功能。网站被百度/谷歌收录友链扩展至16位同时完善了文档修改时间记录功能。</p> <p>2024年网站持续优化重点提升流畅度和访问速度包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及JS/CSS代码精简、MKdocs主题更新、图片迁移至SMMS平台并引入自动新标签页打开功能。网站被百度/谷歌收录友链扩展至16个同时完善了文档版本管理插件。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>522</strong> | 有效代码行数:<strong>43</strong></p>
</div> </div>
<h3 id="2024-12-24"><a class="toclink" href="../../2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2024-12-24"></p><h1 id="01" name="01"><strong>2024-12-24</strong></h1><p></a></h3> <h3 id="2024-12-24"><a class="toclink" href="../../2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2024-12-24"></p><h1 id="01" name="01"><strong>2024-12-24</strong></h1><p></a></h3>
<ul> <ul>
@ -2836,11 +2828,7 @@ Look at this source <a href="https://github.com/JakubAndrysek/mkdocs-open-in-new
<h2 id="2023"><a class="toclink" href="../../2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2023网站更新记录</a></h2> <h2 id="2023"><a class="toclink" href="../../2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2023网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2023年网站更新主要涉及性能优化、功能增强和用户体验改进。关键更新包括引入AI问答机器人每月25条限制、新增多语言支持含台湾语言、优化移动端适配、修复图片显示和LaTeX渲染等重大Bug。技术改进涵盖图片懒加载、Mkdocs主题定制、搜索功能集成及页面渲染速度提升。同时新增了留言板、友链等互动模块持续优化网站流畅度和视觉设计。</p> <p>2023年网站主要更新包括引入AI问答机器人25条/月限制、多语言支持含台湾地区、国内镜像站点和Mkdocs-Wcowin主题。技术优化涉及图片懒加载、移动端适配、LaTeX渲染修复及网页流畅度提升。新增功能有留言板集成giscus、友链模块和博客板块同时改进了搜索功能与界面设计。全年持续进行性能优化和用户体验改进。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>
</div> </div>
<h3 id="2023-12-21"><a class="toclink" href="../../2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2023-12-21"></p><h1 id="01" name="01"><strong>2023-12-21</strong></h1><p></a></h3> <h3 id="2023-12-21"><a class="toclink" href="../../2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2023-12-21"></p><h1 id="01" name="01"><strong>2023-12-21</strong></h1><p></a></h3>
<ul> <ul>
@ -2994,11 +2982,7 @@ Look at this source <a href="https://github.com/JakubAndrysek/mkdocs-open-in-new
<h2 id="2022"><a class="toclink" href="../../2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2022网站更新记录</a></h2> <h2 id="2022"><a class="toclink" href="../../2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2022网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2022年网站建设过程包括10月建立Github仓库并正式建站取消cookie确认简化访问流程新增首页反馈功能6月确定采用MKdocs框架搭建并全款购入独立域名。更新重点优化了用户体验和隐私保护同时完善了技术基础设施。</p> <p>2022年网站建设过程包括10月建立Github仓库并正式建站取消cookie确认简化访问流程新增首页反馈功能6月确定采用MKdocs框架搭建10月完成独立域名wcowin.work的注册。主要优化了用户体验和隐私保护技术方案选择轻量级文档框架。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>
</div> </div>
<h3 id="2022-10-20"><a class="toclink" href="../../2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2022-10-20"></p><h1 id="01" name="01"><strong>2022-10-20</strong></h1><p></a></h3> <h3 id="2022-10-20"><a class="toclink" href="../../2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2022-10-20"></p><h1 id="01" name="01"><strong>2022-10-20</strong></h1><p></a></h3>
<ul> <ul>

View File

@ -2435,11 +2435,7 @@
<h2 id="2025"><a class="toclink" href="2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2025网站更新记录</a></h2> <h2 id="2025"><a class="toclink" href="2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2025网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本次网站更新主要围绕性能优化和功能修复展开,持续进行"流畅度优化"工作包括提升加载速度、重写部分代码。重点修复了Markdown解析异常、评论区重定位等核心问题改进了友链统计和留言板功能。同时保持教程内容与官方版本同步更新并清理了失效资源链接。更新体现了对用户体验和技术稳定性的持续改进。</p> <p>本次网站更新主要围绕性能优化和功能完善展开包括持续优化网站流畅度、修复Markdown解析异常、改进友链统计准确性等核心改进。技术层面涉及代码重构、插件调整如取消glightbox及界面交互优化留言板按钮切换。同时更新了教程内容以适配官方最新版本并解决了图片显示、评论区定位等具体问题。更新记录显示开发者兼顾性能提升与用户体验改善的双重目标。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>
</div> </div>
<h3 id="2025-04-30"><a class="toclink" href="2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2025-04-30"></p><h1 id="01" name="01"><strong>2025-04-30</strong></h1><p></a></h3> <h3 id="2025-04-30"><a class="toclink" href="2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2025-04-30"></p><h1 id="01" name="01"><strong>2025-04-30</strong></h1><p></a></h3>
<ul> <ul>
@ -2559,11 +2555,7 @@
<h2 id="2024"><a class="toclink" href="2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2024网站更新记录</a></h2> <h2 id="2024"><a class="toclink" href="2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2024网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2024年网站持续优化重点提升流畅度和访问速度包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及MKdocs主题更新、代码显示优化、图片迁移至SMMS平台并引入自动新标签页打开功能。网站被百度/谷歌收录友链扩展至16位同时完善了文档修改时间记录功能。</p> <p>2024年网站持续优化重点提升流畅度和访问速度包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及JS/CSS代码精简、MKdocs主题更新、图片迁移至SMMS平台并引入自动新标签页打开功能。网站被百度/谷歌收录友链扩展至16个同时完善了文档版本管理插件。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>522</strong> | 有效代码行数:<strong>43</strong></p>
</div> </div>
<h3 id="2024-12-24"><a class="toclink" href="2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2024-12-24"></p><h1 id="01" name="01"><strong>2024-12-24</strong></h1><p></a></h3> <h3 id="2024-12-24"><a class="toclink" href="2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2024-12-24"></p><h1 id="01" name="01"><strong>2024-12-24</strong></h1><p></a></h3>
<ul> <ul>
@ -2845,11 +2837,7 @@ Look at this source <a href="https://github.com/JakubAndrysek/mkdocs-open-in-new
<h2 id="2023"><a class="toclink" href="2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2023网站更新记录</a></h2> <h2 id="2023"><a class="toclink" href="2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2023网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2023年网站更新主要涉及性能优化、功能增强和用户体验改进。关键更新包括引入AI问答机器人每月25条限制、新增多语言支持含台湾语言、优化移动端适配、修复图片显示和LaTeX渲染等重大Bug。技术改进涵盖图片懒加载、Mkdocs主题定制、搜索功能集成及页面渲染速度提升。同时新增了留言板、友链等互动模块持续优化网站流畅度和视觉设计。</p> <p>2023年网站主要更新包括引入AI问答机器人25条/月限制、多语言支持含台湾地区、国内镜像站点和Mkdocs-Wcowin主题。技术优化涉及图片懒加载、移动端适配、LaTeX渲染修复及网页流畅度提升。新增功能有留言板集成giscus、友链模块和博客板块同时改进了搜索功能与界面设计。全年持续进行性能优化和用户体验改进。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>
</div> </div>
<h3 id="2023-12-21"><a class="toclink" href="2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2023-12-21"></p><h1 id="01" name="01"><strong>2023-12-21</strong></h1><p></a></h3> <h3 id="2023-12-21"><a class="toclink" href="2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2023-12-21"></p><h1 id="01" name="01"><strong>2023-12-21</strong></h1><p></a></h3>
<ul> <ul>
@ -3003,11 +2991,7 @@ Look at this source <a href="https://github.com/JakubAndrysek/mkdocs-open-in-new
<h2 id="2022"><a class="toclink" href="2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2022网站更新记录</a></h2> <h2 id="2022"><a class="toclink" href="2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/">2022网站更新记录</a></h2>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>2022年网站建设过程包括10月建立Github仓库并正式建站取消cookie确认简化访问流程新增首页反馈功能6月确定采用MKdocs框架搭建并全款购入独立域名。更新重点优化了用户体验和隐私保护同时完善了技术基础设施。</p> <p>2022年网站建设过程包括10月建立Github仓库并正式建站取消cookie确认简化访问流程新增首页反馈功能6月确定采用MKdocs框架搭建10月完成独立域名wcowin.work的注册。主要优化了用户体验和隐私保护技术方案选择轻量级文档框架。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>
</div> </div>
<h3 id="2022-10-20"><a class="toclink" href="2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2022-10-20"></p><h1 id="01" name="01"><strong>2022-10-20</strong></h1><p></a></h3> <h3 id="2022-10-20"><a class="toclink" href="2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/#2022-10-20"></p><h1 id="01" name="01"><strong>2022-10-20</strong></h1><p></a></h3>
<ul> <ul>

View File

@ -2486,10 +2486,6 @@
<h1>添加404页面</h1> <h1>添加404页面</h1>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>131</strong> | 有效代码行数:<strong>30</strong></p>
</div>
<p><img alt="" src="https://s1.imagehub.cc/images/2024/02/02/b94cdf67258487f737cfa29829629157.png" /></p> <p><img alt="" src="https://s1.imagehub.cc/images/2024/02/02/b94cdf67258487f737cfa29829629157.png" /></p>
<p>首先在mkdocs.yml文件中添加custom_dir: <p>首先在mkdocs.yml文件中添加custom_dir:
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-1">1</a></span> <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-1">1</a></span>

View File

@ -3111,14 +3111,11 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>该项目为MkDocs文档系统提供AI驱动的智能摘要和阅读统计功能支持OpenAI、DeepSeek等多API服务。核心特性包括自动生成80-120字多语言摘要、智能内容清理、缓存优化及精准阅读时间估算。通过hooks机制实现灵活配置支持文件夹和页面级控制并采用LRU缓存提升性能。安装简便适合技术文档和博客能有效提升文档可读性和用户体验。</p> <p>该插件为MkDocs文档系统提供AI驱动的智能摘要和阅读统计功能支持OpenAI、DeepSeek等多API服务。核心特性包括自动生成80-120字多语言摘要、智能内容清理、高效缓存系统以及精准的中文阅读时间估算。通过灵活的配置选项用户可实现文件夹或页面级别的精确控制并自定义API服务和提示词。安装简便支持直接下载或Git克隆适合技术文档和博客的自动化摘要需求。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>2</strong> 分钟 | 中文字符:<strong>912</strong> | 有效代码行数:<strong>134</strong></p>
</div> </div>
<h1 id="mkdocs-ai-hooks">MkDocs AI Hooks<a class="headerlink" href="#mkdocs-ai-hooks" title="Permanent link">&para;</a></h1> <h1 id="mkdocs-ai-hooks">MkDocs AI Hooks<a class="headerlink" href="#mkdocs-ai-hooks" title="Permanent link">&para;</a></h1>
<p>仓库地址https://github.com/Wcowin/mkdocs-ai-hooks</p> <p>仓库地址https://github.com/Wcowin/mkdocs-ai-hooks <br />
在线预览https://wcowin.work/mkdocs-ai-hooks/ </p>
<p align="center"> <p align="center">
<img src="https://img.shields.io/badge/MkDocs-Hooks-526CFE?style=for-the-badge&logo=MaterialForMkDocs&logoColor=white" alt="MkDocs Hooks"> <img src="https://img.shields.io/badge/MkDocs-Hooks-526CFE?style=for-the-badge&logo=MaterialForMkDocs&logoColor=white" alt="MkDocs Hooks">
<img src="https://img.shields.io/badge/AI_Powered-DeepSeek-FF6B35?style=for-the-badge&logo=openai&logoColor=white" alt="AI Powered"> <img src="https://img.shields.io/badge/AI_Powered-DeepSeek-FF6B35?style=for-the-badge&logo=openai&logoColor=white" alt="AI Powered">
@ -3691,7 +3688,7 @@ https://github.com/Wcowin/mkdocs-ai-hooks/releases </p>
<span class="md-icon" title="最后更新"> <span class="md-icon" title="最后更新">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
</span> </span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="2025年6月3日 12:50:52 UTC">2025-06-03</span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="2025年6月4日 07:22:07 UTC">2025-06-04</span>
</span> </span>

View File

@ -2564,11 +2564,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本文总结了MkDocs文档系统中相对地址引用的常见问题与解决方案重点分析了图片、PDF、跨页面及静态资源的正确引用方式。核心要点包括以docs目录为根路径进行相对定位路径需严格区分大小写推荐统一资源目录结构以确保本地与线上环境一致性。同时指出了路径错误、大小写不一致等典型问题的排查方法为MkDocs项目资源管理提供了实用指导。</p> <p>本文总结了MkDocs文档系统中相对地址引用的常见问题与解决方案重点阐述了图片、PDF、跨页面及静态资源的正确引用方式。核心要点包括以docs目录为根路径进行相对定位保持路径大小写一致统一资源目录结构。针对本地与线上环境差异提供了确保资源可访问性的实用技巧如路径检查、文件压缩等为MkDocs项目的资源管理提供了系统化指导。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>493</strong> | 有效代码行数:<strong>3</strong></p>
</div> </div>
<h1 id="mkdocs">针对MKdocs中相对地址引用的一些问题<a class="headerlink" href="#mkdocs" title="Permanent link">&para;</a></h1> <h1 id="mkdocs">针对MKdocs中相对地址引用的一些问题<a class="headerlink" href="#mkdocs" title="Permanent link">&para;</a></h1>
<p>在使用 MkDocs 构建文档网站时常常会遇到相对地址引用的问题尤其是在图片、PDF、其他静态资源等的引用上。合理使用相对地址可以让你的文档在本地预览和线上部署时都能正常显示。下面总结一些常见场景和注意事项</p> <p>在使用 MkDocs 构建文档网站时常常会遇到相对地址引用的问题尤其是在图片、PDF、其他静态资源等的引用上。合理使用相对地址可以让你的文档在本地预览和线上部署时都能正常显示。下面总结一些常见场景和注意事项</p>

View File

@ -2510,11 +2510,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本文介绍了使用MkDocs构建网站时的性能优化方案包括采用WebP等现代图片格式压缩资源、通过CDN分发静态文件以降低延迟以及合理配置git插件来加速本地渲染。重点提出了开发/生产环境差异化配置策略并推荐使用Lighthouse工具进行性能测试验证。这些措施能有效提升网站加载速度和用户体验。</p> <p>本文介绍了使用MkDocs构建网站时的性能优化方案包括采用WebP等高效图片格式压缩资源、利用CDN加速静态文件分发以及通过合理配置git插件提升本地渲染效率。重点阐述了开发环境与生产环境的差异化配置策略并推荐使用Lighthouse工具进行性能测试验证优化效果。这些措施能有效降低页面加载延迟提升用户体验。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>257</strong> | 有效代码行数:<strong>6</strong></p>
</div> </div>
<h1 id="_1">加速网站访问的一些心得<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1> <h1 id="_1">加速网站访问的一些心得<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
<p>在使用 MkDocs 构建网站时,为了提高访问速度,我们可以采取以下一些措施:</p> <p>在使用 MkDocs 构建网站时,为了提高访问速度,我们可以采取以下一些措施:</p>

View File

@ -2524,7 +2524,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>该技术文档介绍了三种网页背景特效的实现方法雪花、樱花和粒子效果。核心是通过JavaScript动态加载特效脚本并利用LocalStorage控制特效的显示状态。代码示例展示了如何通过创建script元素并设置src属性来引入外部特效脚本适用于需要动态美化网页界面的场景</p> <p>该技术文档介绍了三种网页背景特效的实现方法雪花、樱花和粒子效果。核心是通过JavaScript动态加载特效脚本并利用LocalStorage存储用户偏好设置来控制特效显示。代码示例展示了如何通过DOM操作插入外部脚本实现可配置的动态背景效果适用于增强网页视觉体验</p>
</div> </div>
<div class="admonition note"> <div class="admonition note">
<p class="admonition-title">Note</p> <p class="admonition-title">Note</p>

View File

@ -2488,11 +2488,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>MkDocs允许通过自定义HTML文件实现页脚个性化配置。用户需在docs/overrides/partials/目录下创建或修改footer.html文件插入特定代码片段即可完成设置。该功能适用于需要定制网站底部信息的场景操作简单且无需修改核心配置文件。</p> <p>MkDocs允许通过自定义HTML文件实现页脚个性化配置。用户需在docs/overrides/partials目录下创建或修改footer.html文件插入特定代码片段即可完成页脚定制。该功能适用于需要品牌展示、版权声明或导航链接等场景通过覆盖默认模板实现灵活布局。操作仅需基础HTML知识无需编译过程。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>60</strong> | 有效代码行数:<strong>89</strong></p>
</div> </div>
<h2 id="_1">页脚设置<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2> <h2 id="_1">页脚设置<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
<p>MkDocs 支持自定义页脚。</p> <p>MkDocs 支持自定义页脚。</p>

View File

@ -2409,7 +2409,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本文介绍如何在文档项目中添加顶部公告栏,通过修改<code>docs/overrides/main.html</code>文件实现自定义公告内容。操作步骤包括创建指定目录结构编辑HTML文件进行个性化配置。该方法适用于需要突出显示重要通知的技术文档网站具有修改灵活、部署简单的特点无需改动核心代码即可实现公告功能</p> <p>本文介绍如何在文档站点中添加顶部公告栏,通过修改<code>docs/overrides/main.html</code>文件实现自定义公告内容。操作步骤包括创建该HTML文件并编辑其代码结构用户可根据需求灵活调整公告栏样式和内容。该方法适用于需要突出显示重要通知的技术文档网站实现简单且无需改动核心框架</p>
</div> </div>
<p><img alt="image.png" src="https://s2.loli.net/2024/02/02/mvCEgeP4lANuXI8.png" /></p> <p><img alt="image.png" src="https://s2.loli.net/2024/02/02/mvCEgeP4lANuXI8.png" /></p>
<p>docs/overrides下新建main.html 针对main.html文件 <br /> <p>docs/overrides下新建main.html 针对main.html文件 <br />

View File

@ -2542,11 +2542,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>giscus是一款基于GitHub Discussions的开源评论系统无需数据库且完全免费。它支持多语言、自定义主题和高可配置性数据自动同步GitHub Discussions。相比传统方案giscus无需维护服务器适合技术博客和文档网站。通过简单配置即可集成到MkDocs等静态网站提供无跟踪、无广告的轻量级评论功能。</p> <p>giscus是一款基于GitHub Discussions的开源评论系统无需数据库且完全免费。它支持多语言、自定义主题和高可配置性数据自动同步GitHub Discussions。相比传统方案giscus无需维护服务器无跟踪和广告适合技术博客和文档网站集成。通过简单配置即可实现评论功能同时保留自建服务的灵活性。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>389</strong> | 有效代码行数:<strong>116</strong></p>
</div> </div>
<p>官方文档:<a href="https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/">Adding a comment system</a> </p> <p>官方文档:<a href="https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/">Adding a comment system</a> </p>
<p>这里我同样推荐<a href="https://giscus.app/zh-CN">giscus</a></p> <p>这里我同样推荐<a href="https://giscus.app/zh-CN">giscus</a></p>

View File

@ -2726,11 +2726,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本文介绍了开源中文字体霞鹜文楷LXGW WenKai的技术特点与应用场景。该字体基于日本FONTWORKS公司的Klee One衍生而来包含简繁日韩多语言支持提供屏幕阅读版、轻便版等多个版本。文章详细说明了字体的开发背景、补字计划以及获取方式特别强调了其开源特性与跨平台适用性适合网页设计、移动端显示等场景。同时提供了字体使用注意事项和版本更新渠道。</p> <p>本文介绍了开源中文字体"霞鹜文楷"的技术特点与应用。该字体基于日本FONTWORKS公司的Klee One衍生开发包含多个版本屏幕阅读版、轻便版、GB/TC版等支持简繁中文及谚文。文章详细说明了字体的开发背景、补字计划、获取方式及使用注意事项特别强调了其开源特性SIL授权和针对不同场景的优化设计适合网站嵌入和移动设备显示。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>6</strong> 分钟 | 中文字符:<strong>2328</strong> | 有效代码行数:<strong>21</strong></p>
</div> </div>
<p>我目前在用的字体:<a href="https://github.com/lxgw/LxgwWenKai" target="_blank">霞鹜文楷</a><br /> <p>我目前在用的字体:<a href="https://github.com/lxgw/LxgwWenKai" target="_blank">霞鹜文楷</a><br />
想必你可以直观从我的网站感受到,<a href="https://chawyehsu.github.io/lxgw-wenkai-webfont/">这款字体</a>的美观程度。 </p> 想必你可以直观从我的网站感受到,<a href="https://chawyehsu.github.io/lxgw-wenkai-webfont/">这款字体</a>的美观程度。 </p>

View File

@ -2409,11 +2409,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>该文介绍了通过JavaScript和CSS自定义网页鼠标样式的实现方法重点说明了关键参数设置包括鼠标尺寸、颜色支持RGB值和颜色名称以及跟随圆形的颜色调整。提供了具体的代码示例并提示需在mkdocs.yml中引入相关文件。适用于需要个性化鼠标交互效果的网页开发场景。</p> <p>该文介绍了通过JavaScript和CSS自定义网页鼠标样式的实现方法重点说明了关键参数配置包括鼠标尺寸、颜色支持RGB值和颜色名称以及圆形跟随效果。提供了具体的代码示例和配置路径并强调需在mkdocs.yml中引入相关文件。适用于需要个性化鼠标交互效果的网页开发场景。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>129</strong> | 有效代码行数:<strong>114</strong></p>
</div> </div>
<p>不建议更改,因为默认就是最简洁</p> <p>不建议更改,因为默认就是最简洁</p>
<!-- ![](https://s1.vika.cn/space/2022/11/25/7b84e20eee214a5b956f2c96bcc115f4) --> <!-- ![](https://s1.vika.cn/space/2022/11/25/7b84e20eee214a5b956f2c96bcc115f4) -->

View File

@ -2506,11 +2506,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>该技术方案通过git-revision-date-localized插件为MKdocs文档系统添加文章修订时间戳功能。核心实现是在CI工作流中配置选择性启用策略既避免了本地渲染时全量检查git历史导致的性能损耗又能在发布时准确显示各页面的最后更新时间。该方法显著提升了文档系统的维护效率特别适合需要展示内容时效性的技术文档场景。</p> <p>该技术方案通过git-revision-date-localized插件为MKdocs文档系统添加文章修订时间戳功能。核心实现包括在CI工作流中配置智能渲染策略既避免了本地渲染时全量检查git历史导致的性能损耗又能确保发布时准确显示最后更新时间。该方法显著提升了文档系统的维护性和用户体验特别适合需要展示内容时效性的技术文档场景。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>203</strong> | 有效代码行数:<strong>51</strong></p>
</div> </div>
<p><img alt="img" src="https://cn.mcecy.com/image/20240106/ee0ece547112ac1b67fb61ac7f9c1a90.png" /> </p> <p><img alt="img" src="https://cn.mcecy.com/image/20240106/ee0ece547112ac1b67fb61ac7f9c1a90.png" /> </p>
<p>参考方法:<a href="https://squidfunk.github.io/mkdocs-material/setup/adding-a-git-repository/#revisioning">git 修订日期本地化</a></p> <p>参考方法:<a href="https://squidfunk.github.io/mkdocs-material/setup/adding-a-git-repository/#revisioning">git 修订日期本地化</a></p>

View File

@ -2506,11 +2506,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>Tidio提供免费、无需梯子的在线聊天解决方案适合网站快速集成。用户只需注册账号从设置中获取专属JavaScript代码将其嵌入网站指定位置即可完成部署。该工具安装简便仅需单行代码即可实现实时聊天功能适用于各类网站提升用户互动体验。</p> <p>Tidio提供免费、无需梯子的在线聊天解决方案适用于网站集成。用户只需注册账号从设置中获取专属JavaScript代码将其嵌入网站指定位置即可完成部署。该工具安装简便仅需单行代码即可实现实时聊天功能适合快速为网站添加客服系统。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>182</strong> | 有效代码行数:<strong>1</strong></p>
</div> </div>
<p><a href="https://www.tidio.com/">Tidio</a>为例,Tidio免费版已经完全够用且无需梯子</p> <p><a href="https://www.tidio.com/">Tidio</a>为例,Tidio免费版已经完全够用且无需梯子</p>
<h2 id="tidio">访问Tidio官网<a class="headerlink" href="#tidio" title="Permanent link">&para;</a></h2> <h2 id="tidio">访问Tidio官网<a class="headerlink" href="#tidio" title="Permanent link">&para;</a></h2>

View File

@ -2560,11 +2560,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本文介绍了网页圆角化设计的实现方法重点讲解通过CSS样式实现图片和边框的圆角效果。具体包括在mkdocs.yml中引入CSS文件、使用border-radius属性设置圆角参数以及通过grid cards和按钮组件的圆角化应用示例。这些技术可提升网页视觉美感适用于文档网站和UI组件的美化设计。</p> <p>本文介绍了网页圆角化设计的实现方法重点讲解通过CSS样式文件实现图片和边框的圆角效果。具体包括在mkdocs.yml中引入CSS文件、编写圆角样式代码以及在Markdown文件中应用的方法同时展示了按钮和卡片组件的圆角化实现示例。该技术可提升网页视觉美感适用于文档网站和UI组件开发。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>66</strong> | 有效代码行数:<strong>213</strong></p>
</div> </div>
<h2 id="_1">示例<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2> <h2 id="_1">示例<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
<p><img alt="iShot_2024-04-26_12.17.20.png" src="https://s2.loli.net/2024/04/26/gvu7ASWfU8eKVOd.png" /><br /> <p><img alt="iShot_2024-04-26_12.17.20.png" src="https://s2.loli.net/2024/04/26/gvu7ASWfU8eKVOd.png" /><br />

View File

@ -2874,11 +2874,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>MWeb Pro是一款专为macOS设计的专业Markdown写作与笔记应用支持GFM语法扩展含表格、LaTeX、代码块等及多种图表库mermaid/PlantUML等。提供高效的图文混排功能支持拖拽插入图片与自定义宽度。支持导出多种格式PDF/HTML/Epub等及发布到主流博客平台集成七牛云等图床服务。内置强大的文档管理功能支持分类树、标签体系和快速搜索适合知识管理与静态网站生成。原生优化界面兼顾简洁性与高性能。</p> <p>MWeb Pro是一款专为macOS设计的专业Markdown写作与笔记应用支持GFM语法扩展包括表格、LaTeX、代码块及多种图表库。提供便捷的图片插入、表格编辑和文档导出功能支持多种格式输出及主流博客平台发布。内置强大的笔记管理系统支持分类树、标签管理和快速搜索适合个人知识整理与静态网站生成。原生优化界面简洁高效兼顾功能全面与易用性。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>3</strong> 分钟 | 中文字符:<strong>1009</strong> | 有效代码行数:<strong>64</strong></p>
</div> </div>
<p><b>MWeb Pro </b>是一款适用于macOS的专业Markdown写作、笔记本应用软件。喜欢写博客的朋友那你一定会需要 MWeb Pro 这款软件。为您提供最佳的写作体验。</p> <p><b>MWeb Pro </b>是一款适用于macOS的专业Markdown写作、笔记本应用软件。喜欢写博客的朋友那你一定会需要 MWeb Pro 这款软件。为您提供最佳的写作体验。</p>
<p>Markdown 语法支持:</p> <p>Markdown 语法支持:</p>

View File

@ -3088,11 +3088,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>Markdown是一种轻量级标记语言支持易读易写的纯文本格式可转换为HTML/PDF等多种格式。本文介绍了其核心语法标题分级、文本样式斜体/粗体/高亮)、列表(有序/无序/任务列表)、表格、超链接、图片/视频插入、代码块及特殊字符转义。同时推荐了各平台常用编辑工具如MacDown、StackEdit等和学习资源适用于快速创建结构化文档。</p> <p>Markdown是一种轻量级标记语言支持纯文本编写并转换为多种格式如HTML/PDF。本文介绍了其核心语法标题分级、文本样式斜体/粗体)、列表(有序/无序)、表格、链接/图片插入、代码块及特殊字符处理。同时推荐了各平台常用编辑工具如MacDown、Dillinger适用于快速创建结构化文档。语法简洁易学适合技术文档编写与日常笔记整理。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>2</strong> 分钟 | 中文字符:<strong>662</strong> | 有效代码行数:<strong>61</strong></p>
</div> </div>
<h1 id="markdown"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22.27 19.385H1.73A1.73 1.73 0 0 1 0 17.655V6.345a1.73 1.73 0 0 1 1.73-1.73h20.54A1.73 1.73 0 0 1 24 6.345v11.308a1.73 1.73 0 0 1-1.73 1.731zM5.769 15.923v-4.5l2.308 2.885 2.307-2.885v4.5h2.308V8.078h-2.308l-2.307 2.885-2.308-2.885H3.46v7.847zM21.232 12h-2.309V8.077h-2.307V12h-2.308l3.461 4.039z"/></svg></span> <a href="https://www.markdown.xyz/">Markdown语法学习</a> 精简版<a class="headerlink" href="#markdown" title="Permanent link">&para;</a></h1> <h1 id="markdown"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22.27 19.385H1.73A1.73 1.73 0 0 1 0 17.655V6.345a1.73 1.73 0 0 1 1.73-1.73h20.54A1.73 1.73 0 0 1 24 6.345v11.308a1.73 1.73 0 0 1-1.73 1.731zM5.769 15.923v-4.5l2.308 2.885 2.307-2.885v4.5h2.308V8.078h-2.308l-2.307 2.885-2.308-2.885H3.46v7.847zM21.232 12h-2.309V8.077h-2.307V12h-2.308l3.461 4.039z"/></svg></span> <a href="https://www.markdown.xyz/">Markdown语法学习</a> 精简版<a class="headerlink" href="#markdown" title="Permanent link">&para;</a></h1>
<blockquote> <blockquote>

View File

@ -2548,11 +2548,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>唐·诺曼提出的情感设计三层次理论包括本能层、行为层和反思层。本能层关注产品外观引发的即时情感反应;行为层强调使用过程中的功能性和效率;反思层涉及用户对产品的理性分析和自我认同。这三个层次相互影响,共同塑造用户对产品的整体体验。该理论为设计提供了系统框架,帮助平衡美学、功能与情感需求,广泛应用于产品开发和用户体验优化。</p> <p>唐·诺曼提出的情感设计三层次理论包括本能层、行为层和反思层。本能层关注产品外观引发的即时情感反应;行为层强调使用过程中的功能性和效率体验;反思层涉及用户对产品的理性认知和自我形象关联。这三个层次相互影响,共同塑造用户对产品的整体体验。该理论为设计实践提供了系统框架,解释了为何某些产品即使存在功能缺陷仍能获得市场成功。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>5</strong> 分钟 | 中文字符:<strong>2163</strong></p>
</div> </div>
<p>原文:<a href="https://www.interaction-design.org/literature/article/norman-s-three-levels-of-design">Norman's Three Levels of Design</a> <p>原文:<a href="https://www.interaction-design.org/literature/article/norman-s-three-levels-of-design">Norman's Three Levels of Design</a>
<img alt="" src="https://pic2.zhimg.com/80/v2-775977de1d9ccd4ff61344ccc523b5b1_1440w.jpg" /></p> <img alt="" src="https://pic2.zhimg.com/80/v2-775977de1d9ccd4ff61344ccc523b5b1_1440w.jpg" /></p>

View File

@ -2418,11 +2418,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本文阐述了设计领域的核心原则与实践要点。强调简洁性、视觉美感和用户体验是优秀设计的三大支柱,提出通过精简元素、优化交互流程和注重细节来提升产品质感。同时指出创新思维和情感共鸣对设计的重要性,主张融合故事性与品牌价值来创造差异化体验。全文系统性地总结了从功能实现到情感连接的多维度设计方法论。</p> <p>本文阐述了设计的核心原则与实践要点,强调简洁性、美感和用户体验的重要性。作者提出优秀设计应去除冗余元素,注重视觉平衡与细节把控,同时以用户需求为中心构建直观交互。创新思维和情感共鸣被列为关键要素,通过故事性设计传递品牌价值。全文突出了设计在功能性与艺术性之间的平衡,以及细节处理对产品质感的提升作用。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>398</strong></p>
</div> </div>
<h1 id="some-of-my-thoughts-on-design">Some of my thoughts on design<a class="headerlink" href="#some-of-my-thoughts-on-design" title="Permanent link">&para;</a></h1> <h1 id="some-of-my-thoughts-on-design">Some of my thoughts on design<a class="headerlink" href="#some-of-my-thoughts-on-design" title="Permanent link">&para;</a></h1>
<center> <center>

View File

@ -2824,11 +2824,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>本文介绍了Git版本控制系统的核心操作与实用技巧涵盖仓库创建、分支管理、冲突解决等基础功能并重点讲解了stash暂存、rebase/merge策略选择、cherry-pick等高级用法。通过具体代码示例和操作图示详细说明了如何高效处理代码提交、修改撤销、历史记录修改等常见开发场景帮助开发者提升Git使用效率和工作流优化能力。</p> <p>本文介绍了Git版本控制系统的核心操作与实用技巧涵盖仓库创建、分支管理、冲突解决等基础功能重点讲解了stash暂存、rebase/merge策略选择、cherry-pick等高效工作方法。通过具体代码示例和场景说明帮助开发者掌握提交修改、撤销变更、生成补丁等关键操作提升团队协作和代码管理效率。</p>
</div>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>199</strong> | 有效代码行数:<strong>48</strong></p>
</div> </div>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">Info</p> <p class="admonition-title">Info</p>

View File

@ -2411,7 +2411,7 @@
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p> <p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
<p>Lighthouse是谷歌开发的网站性能测试工具可评估页面加载速度、可访问性等关键指标。通过浏览器开发者工具F12即可快速运行测试支持Chrome和Edge。该工具能精准定位性能瓶颈帮助开发者优化网页体验适用于各类网站的自动化性能检测与改进。测试结果直观展示各项评分便于针对性提升</p> <p>Lighthouse是谷歌开发的网站性能测试工具可评估页面加载速度、可访问性等关键指标。通过浏览器开发者工具F12即可快速启动测试适用于各类网站的性能优化。该工具提供直观的评分和详细改进建议帮助开发者定位性能瓶颈提升用户体验。测试过程简单无需额外安装支持主流Chromium内核浏览器</p>
</div> </div>
<p><img alt="image.png" src="https://s2.loli.net/2024/02/04/yxwcmJLXADqMa8P.png" /></p> <p><img alt="image.png" src="https://s2.loli.net/2024/02/04/yxwcmJLXADqMa8P.png" /></p>
<p><img width="1363" alt="image" src="https://s2.loli.net/2025/01/02/VHeITXxJgwOKSsu.jpg"> <p><img width="1363" alt="image" src="https://s2.loli.net/2025/01/02/VHeITXxJgwOKSsu.jpg">

View File

@ -1,3 +1,6 @@
from dotenv import load_dotenv
load_dotenv() # 自动加载 .env 文件
import re import re
import json import json
import hashlib import hashlib
@ -9,18 +12,33 @@ import shutil
class AISummaryGenerator: class AISummaryGenerator:
def __init__(self): def __init__(self):
self.cache_dir = Path("site/.ai_cache") # 🗂️ 统一缓存路径策略 - 本地和CI环境都使用项目根目录
# 这样避免了CI构建时被清理也简化了路径管理
self.cache_dir = Path(".ai_cache")
self.cache_dir.mkdir(parents=True, exist_ok=True) self.cache_dir.mkdir(parents=True, exist_ok=True)
# 🚀 CI 环境配置 - 默认只在 CI 环境中启用 # 🚀 CI 环境配置 - 默认只在 CI 环境中启用
# AI摘要环境配置
self.ci_config = { self.ci_config = {
'enabled_in_ci': os.getenv('AI_SUMMARY_CI_ENABLED', 'true').lower() == 'true', # 默认 CI 中启用 # CI部署环境开关 (true=CI中启用AI摘要生成)
'enabled_in_local': os.getenv('AI_SUMMARY_LOCAL_ENABLED', 'false').lower() == 'true', # 默认本地禁用 'enabled_in_ci': os.getenv('AI_SUMMARY_CI_ENABLED', 'true').lower() == 'true',
# 'enabled_in_local': os.getenv('AI_SUMMARY_LOCAL_ENABLED', 'true').lower() == 'true', # 默认本地启用
'ci_only_cache': os.getenv('AI_SUMMARY_CI_ONLY_CACHE', 'false').lower() == 'true', # CI 中也允许生成新摘要 # 本地部署环境开关 (true=本地开发时启用AI摘要)
'ci_fallback_enabled': os.getenv('AI_SUMMARY_CI_FALLBACK', 'true').lower() == 'true' 'enabled_in_local': os.getenv('AI_SUMMARY_LOCAL_ENABLED', 'false').lower() == 'true',
# CI部署仅缓存模式 (true=仅使用缓存不调用API, false=允许生成新摘要)
'ci_only_cache': os.getenv('AI_SUMMARY_CI_ONLY_CACHE', 'false').lower() == 'true',
# 本地部署缓存功能开关 (true=启用缓存避免重复生成, false=总是生成新摘要)
'cache_enabled': os.getenv('AI_SUMMARY_CACHE_ENABLED', 'true').lower() == 'true',
# CI部署备用摘要开关 (true=API失败时生成基础摘要, false=失败时不显示摘要)
'ci_fallback_enabled': os.getenv('AI_SUMMARY_CI_FALLBACK', 'true').lower() == 'true',
} }
# 🔄 自动缓存迁移逻辑(一次性迁移旧缓存) - 移到ci_config初始化之后
self._auto_migrate_cache()
# 添加服务配置文件,用于跟踪当前使用的服务 # 添加服务配置文件,用于跟踪当前使用的服务
self.service_config_file = self.cache_dir / "service_config.json" self.service_config_file = self.cache_dir / "service_config.json"
@ -47,17 +65,17 @@ class AISummaryGenerator:
# 'max_tokens': 150, # 'max_tokens': 150,
# 'temperature': 0.3 # 'temperature': 0.3
# }, # },
# 'gemini': { 'gemini': {
# 'url': 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent', 'url': 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent',
# 'model': 'gemini-pro', 'model': 'gemini-pro',
# 'api_key': os.getenv('GOOGLE_API_KEY', 'your-claude-api-key'), 'api_key': os.getenv('GOOGLE_API_KEY', 'AIzaSyDwWgffCCyVFZVsRasX3B3arWFaCT1PzNI'),
# 'max_tokens': 150, 'max_tokens': 150,
# 'temperature': 0.3 'temperature': 0.3
# } }
} }
# 默认使用的AI服务 # 默认使用的AI服务
self.default_service = 'deepseek' # 默认使用 DeepSeek self.default_service = 'deepseek'
# 服务优先级(按顺序尝试) # 服务优先级(按顺序尝试)
self.service_fallback_order = ['openai', 'deepseek', 'claude', 'gemini'] self.service_fallback_order = ['openai', 'deepseek', 'claude', 'gemini']
@ -66,44 +84,29 @@ class AISummaryGenerator:
self.enabled_folders = [ self.enabled_folders = [
'blog/', # blog文件夹 'blog/', # blog文件夹
'develop/', # develop文件夹 'develop/', # develop文件夹
# 'posts/', # posts文件夹
# 'trip/', # trip文件夹
# 'about/', # about文件夹 # 'about/', # about文件夹
# 在这里添加您想要启用AI摘要的文件夹
] ]
# 📋 Excluded files and folders # 📋 排除的文件和文件夹
self.exclude_patterns = [ self.exclude_patterns = [
'404.md', 'tag.md', 'tags.md', 'waline.md', 'link.md', '404.md', 'tag.md', 'tags.md',
'/about/', '/search/', '/sitemap', '/admin/',
'index.md', # 根目录index.md
] ]
# 📋 Excluded specific files # 📋 排除的特定文件
self.exclude_files = [ self.exclude_files = [
'blog/index.md', 'blog/index.md',
'blog/indexblog.md',
'docs/index.md',
'develop/index.md',
] ]
# 🌍 语言配置/Language Configuration # 🌍 语言配置/Language Configuration
self.summary_language = 'zh' # 默认中文,可选 'zh'、'en'、'both' self.summary_language = 'zh' # 默认中文,可选 'zh'、'en'、'both'
# 初始化阅读统计相关的正则表达式
self.chinese_chars_pattern = re.compile(r'[\u4e00-\u9fff\u3400-\u4dbf]')
self.code_block_pattern = re.compile(r'```.*?```', re.DOTALL)
self.inline_code_pattern = re.compile(r'`[^`]+`')
self.yaml_front_pattern = re.compile(r'^---.*?---\s*', re.DOTALL)
self.html_tag_pattern = re.compile(r'<[^>]+>')
self.image_pattern = re.compile(r'!\[.*?\]\([^)]+\)')
self.link_pattern = re.compile(r'\[([^\]]+)\]\([^)]+\)')
# 支持的编程语言
self.programming_languages = frozenset({
'python', 'py', 'javascript', 'js', 'typescript', 'ts', 'java', 'cpp', 'c',
'go', 'rust', 'php', 'ruby', 'swift', 'kotlin', 'csharp', 'cs',
'bash', 'sh', 'powershell', 'ps1', 'zsh', 'fish', 'bat', 'cmd',
'html', 'css', 'scss', 'sass', 'less', 'yaml', 'yml', 'json', 'xml',
'toml', 'ini', 'conf', 'dockerfile', 'makefile',
'sql', 'mysql', 'postgresql', 'sqlite', 'mongodb',
'r', 'matlab', 'scala', 'perl', 'lua', 'dart', 'tex', 'latex',
'csv', 'properties', ''
})
# 在初始化时就进行环境检查 # 在初始化时就进行环境检查
self._check_environment() self._check_environment()
@ -133,6 +136,10 @@ class AISummaryGenerator:
def _check_service_change(self): def _check_service_change(self):
"""检查AI服务是否发生变更如有变更则自动清理缓存""" """检查AI服务是否发生变更如有变更则自动清理缓存"""
# 如果禁用了缓存功能,跳过服务变更检查
if not self.ci_config['cache_enabled']:
return
current_config = { current_config = {
'default_service': self.default_service, 'default_service': self.default_service,
'available_services': list(self.ai_services.keys()), 'available_services': list(self.ai_services.keys()),
@ -284,6 +291,10 @@ class AISummaryGenerator:
def get_cached_summary(self, content_hash): def get_cached_summary(self, content_hash):
"""获取缓存的摘要""" """获取缓存的摘要"""
# 如果禁用了缓存功能直接返回None
if not self.ci_config['cache_enabled']:
return None
cache_file = self.cache_dir / f"{content_hash}.json" cache_file = self.cache_dir / f"{content_hash}.json"
if cache_file.exists(): if cache_file.exists():
try: try:
@ -299,6 +310,10 @@ class AISummaryGenerator:
def save_summary_cache(self, content_hash, summary_data): def save_summary_cache(self, content_hash, summary_data):
"""保存摘要到缓存""" """保存摘要到缓存"""
# 如果禁用了缓存功能,不保存缓存
if not self.ci_config['cache_enabled']:
return
cache_file = self.cache_dir / f"{content_hash}.json" cache_file = self.cache_dir / f"{content_hash}.json"
try: try:
summary_data['timestamp'] = datetime.now().isoformat() summary_data['timestamp'] = datetime.now().isoformat()
@ -573,7 +588,7 @@ Please generate bilingual summary:"""
# 如果在 CI 环境中且配置为只使用缓存 # 如果在 CI 环境中且配置为只使用缓存
if is_ci and self.ci_config['ci_only_cache']: if is_ci and self.ci_config['ci_only_cache']:
print(f"📦 CI 环仅使用缓存模式") print(f"📦 CI 环 environment仅使用缓存模式")
return None, 'ci_cache_only' return None, 'ci_cache_only'
# 按优先级尝试不同服务 # 按优先级尝试不同服务
@ -672,118 +687,33 @@ Please generate bilingual summary:"""
def _generate_chinese_fallback(self, page_title=""): def _generate_chinese_fallback(self, page_title=""):
"""生成中文备用摘要""" """生成中文备用摘要"""
if any(keyword in page_title for keyword in ['教程', '指南', 'Tutorial']): if page_title:
return '本文提供了详细的教程指南,通过实例演示帮助读者掌握相关技术要点。' # 根据标题生成通用摘要
elif any(keyword in page_title for keyword in ['配置', '设置', '安装', 'Config']): if any(keyword in page_title for keyword in ['教程', '指南', '配置', '安装']):
return '本文介绍了系统配置的方法和步骤,提供实用的设置建议和最佳实践。' return f"本文介绍了{page_title}的相关内容,包括具体的操作步骤和注意事项,为读者提供实用的技术指导。"
elif any(keyword in page_title for keyword in ['开发', '编程', 'Development']): elif any(keyword in page_title for keyword in ['分析', '研究', '探讨', '原理']):
return '本文分享了开发经验和技术实践,提供了实用的代码示例和解决方案。' return f"本文深入分析了{page_title}的核心概念和技术原理,为读者提供详细的理论解析和实践见解。"
elif any(keyword in page_title for keyword in ['开发', '构建', '实现', '设计']):
return f"本文详细讲解了{page_title}的开发过程和实现方法,分享了实际的开发经验和技术方案。"
else: else:
return '本文深入探讨了相关技术内容,提供了实用的方法和解决方案。' return f"本文围绕{page_title}展开讨论,介绍了相关的技术概念、应用场景和实践方法。"
else:
return "本文介绍了相关的技术概念和实践方法,为读者提供有价值的参考信息。"
def _generate_english_fallback(self, page_title=""): def _generate_english_fallback(self, page_title=""):
"""生成英文备用摘要""" """生成英文备用摘要"""
if any(keyword in page_title.lower() for keyword in ['tutorial', 'guide', '教程', '指南']): if page_title:
return 'This article provides a detailed tutorial guide with practical examples to help readers master relevant technical points.' # 根据标题生成通用摘要
elif any(keyword in page_title.lower() for keyword in ['config', 'setup', 'install', '配置', '设置', '安装']): if any(keyword in page_title.lower() for keyword in ['tutorial', 'guide', 'setup', 'install', 'config']):
return 'This article introduces system configuration methods and procedures, providing practical setup suggestions and best practices.' return f"This article provides a comprehensive guide on {page_title}, including step-by-step instructions and important considerations for practical implementation."
elif any(keyword in page_title.lower() for keyword in ['develop', 'programming', 'code', '开发', '编程']): elif any(keyword in page_title.lower() for keyword in ['analysis', 'research', 'study', 'principle']):
return 'This article shares development experience and technical practices, providing practical code examples and solutions.' return f"This article presents an in-depth analysis of {page_title}, exploring core concepts and technical principles with detailed theoretical insights."
elif any(keyword in page_title.lower() for keyword in ['develop', 'build', 'implement', 'design']):
return f"This article explains the development process and implementation methods for {page_title}, sharing practical development experience and technical solutions."
else: else:
return 'This article explores relevant technical content in depth, providing practical methods and solutions.' return f"This article discusses {page_title}, covering relevant technical concepts, application scenarios, and practical methods."
else:
def calculate_reading_stats(self, markdown): return "This article introduces relevant technical concepts and practical methods, providing valuable reference information for readers."
"""计算中文字符数和代码行数"""
# 清理内容用于中文字符统计
content = markdown
content = self.yaml_front_pattern.sub('', content)
content = self.html_tag_pattern.sub('', content)
content = self.image_pattern.sub('', content)
content = self.link_pattern.sub(r'\1', content)
content = self.code_block_pattern.sub('', content)
content = self.inline_code_pattern.sub('', content)
chinese_chars = len(self.chinese_chars_pattern.findall(content))
# 统计代码行数
code_lines = self.count_code_lines(markdown)
# 计算阅读时间中文400字/分钟)
reading_time = max(1, round(chinese_chars / 400))
return reading_time, chinese_chars, code_lines
def count_code_lines(self, markdown):
"""统计代码行数"""
code_blocks = self.code_block_pattern.findall(markdown)
total_code_lines = 0
for block in code_blocks:
# 提取语言标识
lang_match = re.match(r'^```(\w*)', block)
language = lang_match.group(1).lower() if lang_match else ''
# 移除开头的语言标识和结尾的```
code_content = re.sub(r'^```\w*\n?', '', block)
code_content = re.sub(r'\n?```$', '', code_content)
# 过滤空代码块
if not code_content.strip():
continue
# 计算有效行数
lines = [line for line in code_content.split('\n') if line.strip()]
line_count = len(lines)
# 如果有明确的编程语言标识,直接统计
if language and language in self.programming_languages:
total_code_lines += line_count
continue
# 检测是否为代码内容
if self.is_code_content(code_content):
total_code_lines += line_count
return total_code_lines
def is_code_content(self, content):
"""判断内容是否为代码"""
# 命令行检测
command_indicators = [
'sudo ', 'npm ', 'pip ', 'git ', 'cd ', 'ls ', 'mkdir ', 'rm ', 'cp ', 'mv ',
'chmod ', 'chown ', 'grep ', 'find ', 'ps ', 'kill ', 'top ', 'cat ', 'echo ',
'wget ', 'curl ', 'tar ', 'zip ', 'unzip ', 'ssh ', 'scp ', 'rsync ',
'$ ', '# ', '% ', '> ', 'C:\\>', 'PS>', '#!/',
'/Applications/', '/usr/', '/etc/', '/var/', '/home/', '~/',
]
if any(indicator in content for indicator in command_indicators):
return True
# 编程语法检测
programming_indicators = [
'def ', 'class ', 'import ', 'from ', 'return ', 'function', 'var ', 'let ', 'const ',
'public ', 'private ', 'protected ', 'static ', 'void ', 'int ', 'string ',
'==', '!=', '<=', '>=', '&&', '||', '++', '--', '+=', '-=',
'while ', 'for ', 'if ', 'else:', 'switch ', 'case ',
'<!DOCTYPE', '<html', '<div', '<span', 'display:', 'color:', 'background:',
]
if any(indicator in content for indicator in programming_indicators):
return True
# 结构化检测
lines = content.split('\n')
if len(lines) > 1 and any(line.startswith(' ') or line.startswith('\t') for line in lines):
return True
if '<' in content and '>' in content:
return True
if any(char in content for char in ['{', '}', '(', ')', '[', ']']) and ('=' in content or ':' in content):
return True
return False
def is_ci_environment(self): def is_ci_environment(self):
"""检测是否在 CI 环境中运行""" """检测是否在 CI 环境中运行"""
@ -839,33 +769,68 @@ Please generate bilingual summary:"""
else: else:
return 'Unknown CI' return 'Unknown CI'
def _auto_migrate_cache(self):
"""自动迁移缓存文件(仅在需要时执行一次)"""
# 如果禁用了缓存功能,跳过缓存迁移
if not self.ci_config.get('cache_enabled', True):
return
old_cache_dir = Path("site/.ai_cache")
new_cache_dir = Path(".ai_cache")
# 检查是否需要迁移
if old_cache_dir.exists() and not new_cache_dir.exists():
print("🔄 检测到旧缓存目录,开始自动迁移...")
try:
# 创建新目录
new_cache_dir.mkdir(exist_ok=True)
# 复制文件
cache_files = list(old_cache_dir.glob("*.json"))
copied_count = 0
for cache_file in cache_files:
target_file = new_cache_dir / cache_file.name
try:
shutil.copy2(cache_file, target_file)
copied_count += 1
except Exception as e:
print(f"⚠️ 复制缓存文件失败 {cache_file.name}: {e}")
if copied_count > 0:
print(f"✅ 自动迁移完成!共迁移 {copied_count} 个缓存文件")
print("💡 提示:请将 .ai_cache 目录提交到 Git 仓库")
else:
print(" 没有缓存文件需要迁移")
except Exception as e:
print(f"❌ 自动迁移失败: {e}")
elif new_cache_dir.exists():
# 新缓存目录已存在,检查是否有文件
cache_files = list(new_cache_dir.glob("*.json"))
if cache_files:
is_ci = self.is_ci_environment()
env_desc = '(CI)' if is_ci else '(本地)'
print(f"📦 发现根目录缓存 {env_desc},共 {len(cache_files)} 个缓存文件")
def process_page(self, markdown, page, config): def process_page(self, markdown, page, config):
"""处理页面生成AI摘要和阅读统计支持CI环境检测""" """处理页面生成AI摘要支持CI环境检测"""
# 检查是否应该在当前环境运行 # 检查是否应该在当前环境运行
if not self.should_run_in_current_environment(): if not self.should_run_in_current_environment():
return markdown return markdown
# 检查是否需要显示阅读信息 if not self.should_generate_summary(page, markdown):
show_reading_info = self.should_show_reading_info(page, markdown)
# 检查是否需要生成AI摘要
should_generate_ai_summary = self.should_generate_summary(page, markdown)
# 如果两者都不需要,直接返回原内容
if not show_reading_info and not should_generate_ai_summary:
return markdown return markdown
# 计算阅读统计
reading_time, chinese_chars, code_lines = self.calculate_reading_stats(markdown)
result_blocks = []
# 处理AI摘要
if should_generate_ai_summary:
clean_content = self.clean_content_for_ai(markdown) clean_content = self.clean_content_for_ai(markdown)
# 内容长度检查 # 内容长度检查
if len(clean_content) >= 100: if len(clean_content) < 100:
print(f"📄 内容太短,跳过摘要生成: {page.file.src_path}")
return markdown
content_hash = self.get_content_hash(clean_content) content_hash = self.get_content_hash(clean_content)
page_title = getattr(page, 'title', '') page_title = getattr(page, 'title', '')
is_ci = self.is_ci_environment() is_ci = self.is_ci_environment()
@ -878,6 +843,11 @@ Please generate bilingual summary:"""
env_desc = '(CI)' if is_ci else '(本地)' env_desc = '(CI)' if is_ci else '(本地)'
print(f"✅ 使用缓存摘要 {env_desc}: {page.file.src_path}") print(f"✅ 使用缓存摘要 {env_desc}: {page.file.src_path}")
else: else:
# 如果在 CI 环境中且配置为只使用缓存,直接跳过摘要生成
if is_ci and self.ci_config['ci_only_cache']:
print(f"📦 CI 环境仅使用缓存模式,无缓存可用,跳过摘要生成: {page.file.src_path}")
return markdown
# 生成新摘要 # 生成新摘要
lang_desc = {'zh': '中文', 'en': '英文', 'both': '双语'} lang_desc = {'zh': '中文', 'en': '英文', 'both': '双语'}
env_desc = '(CI)' if is_ci else '(本地)' env_desc = '(CI)' if is_ci else '(本地)'
@ -892,6 +862,7 @@ Please generate bilingual summary:"""
print(f"📝 使用备用摘要 {env_desc}: {page.file.src_path}") print(f"📝 使用备用摘要 {env_desc}: {page.file.src_path}")
else: else:
print(f"❌ 无法生成摘要 {env_desc}: {page.file.src_path}") print(f"❌ 无法生成摘要 {env_desc}: {page.file.src_path}")
return markdown
else: else:
print(f"✅ AI摘要生成成功 ({ai_service}) {env_desc}: {page.file.src_path}") print(f"✅ AI摘要生成成功 ({ai_service}) {env_desc}: {page.file.src_path}")
@ -903,19 +874,10 @@ Please generate bilingual summary:"""
'page_title': page_title 'page_title': page_title
}) })
# 添加AI摘要块 # 添加摘要到页面最上面
if summary: if summary:
ai_summary_block = self.format_summary(summary, ai_service) summary_html = self.format_summary(summary, ai_service)
result_blocks.append(ai_summary_block) return summary_html + '\n\n' + markdown
# 添加阅读信息块
if show_reading_info:
reading_info_block = self.format_reading_info(reading_time, chinese_chars, code_lines)
result_blocks.append(reading_info_block)
# 合并所有块并返回
if result_blocks:
return '\n'.join(result_blocks) + '\n\n' + markdown
else: else:
return markdown return markdown
@ -953,52 +915,6 @@ Please generate bilingual summary:"""
# 默认不生成摘要 # 默认不生成摘要
return False return False
def should_show_reading_info(self, page, markdown):
"""判断是否应该显示阅读信息"""
# 检查页面元数据
if hasattr(page, 'meta') and page.meta.get('hide_reading_time', False):
return False
# 获取文件路径
src_path = page.file.src_path.replace('\\', '/')
# 使用现有的排除模式检查
exclude_patterns = [
r'^index\.md$', r'^about/', r'^trip/index\.md$', r'^relax/index\.md$',
r'^blog/indexblog\.md$', r'^blog/posts\.md$', r'^develop/index\.md$',
r'waline\.md$', r'link\.md$', r'404\.md$'
]
for pattern in exclude_patterns:
if re.match(pattern, src_path):
return False
# 检查页面类型
if hasattr(page, 'meta'):
page_type = page.meta.get('type', '')
if page_type in {'landing', 'special', 'widget'}:
return False
# 内容长度检查
if len(markdown) < 300:
return False
# 计算中文字符数
_, chinese_chars, _ = self.calculate_reading_stats(markdown)
if chinese_chars < 50:
return False
return True
def format_reading_info(self, reading_time, chinese_chars, code_lines):
"""格式化阅读信息显示"""
if code_lines > 0:
return f'''!!! info "📖 阅读信息"
阅读时间**{reading_time}** 分钟 | 中文字符**{chinese_chars}** | 有效代码行数**{code_lines}**'''
else:
return f'''!!! info "📖 阅读信息"
阅读时间**{reading_time}** 分钟 | 中文字符**{chinese_chars}**'''
def format_summary(self, summary, ai_service): def format_summary(self, summary, ai_service):
"""格式化摘要显示包含CI环境标识""" """格式化摘要显示包含CI环境标识"""
# 根据语言设置显示不同的标题 # 根据语言设置显示不同的标题
@ -1053,7 +969,7 @@ ai_summary_generator = AISummaryGenerator()
# 🔧 配置函数 # 🔧 配置函数
def configure_ai_summary(enabled_folders=None, exclude_patterns=None, exclude_files=None, def configure_ai_summary(enabled_folders=None, exclude_patterns=None, exclude_files=None,
ai_service=None, service_config=None, language='zh', ai_service=None, service_config=None, language='zh',
ci_enabled=None, local_enabled=None, ci_only_cache=None, ci_fallback=None): ci_enabled=None, local_enabled=None, ci_only_cache=None, ci_fallback=None, cache_enabled=None):
""" """
配置AI摘要功能支持CI和本地环境分别配置 配置AI摘要功能支持CI和本地环境分别配置
@ -1068,24 +984,33 @@ def configure_ai_summary(enabled_folders=None, exclude_patterns=None, exclude_fi
local_enabled: 是否在本地环境中启用 local_enabled: 是否在本地环境中启用
ci_only_cache: CI 环境是否仅使用缓存 ci_only_cache: CI 环境是否仅使用缓存
ci_fallback: CI 环境是否启用备用摘要 ci_fallback: CI 环境是否启用备用摘要
cache_enabled: 是否启用缓存功能
Example: Example:
# 推荐配置:只在 CI 中启用,本地禁用 # 本地开发时禁用缓存,总是生成新摘要
configure_ai_summary( configure_ai_summary(
enabled_folders=['blog/', 'docs/'], enabled_folders=['blog/', 'docs/'],
language='zh', language='zh',
ci_enabled=True, # CI 中启用 local_enabled=True,
local_enabled=False, # 本地禁用 cache_enabled=False # 禁用缓存
ci_only_cache=False, # CI 中允许生成新摘要 )
ci_fallback=True # CI 中启用备用摘要
# CI中启用缓存本地禁用缓存
configure_ai_summary(
enabled_folders=['blog/', 'docs/'],
language='zh',
ci_enabled=True,
local_enabled=True,
ci_only_cache=True, # CI仅使用缓存
cache_enabled=True # 启用缓存功能
) )
""" """
ai_summary_generator.configure_folders(enabled_folders, exclude_patterns, exclude_files) ai_summary_generator.configure_folders(enabled_folders, exclude_patterns, exclude_files)
ai_summary_generator.configure_language(language) ai_summary_generator.configure_language(language)
# 配置环境行为 # 配置环境行为
if any(x is not None for x in [ci_enabled, local_enabled, ci_only_cache, ci_fallback]): if any(x is not None for x in [ci_enabled, local_enabled, ci_only_cache, ci_fallback, cache_enabled]):
configure_ci_behavior(ci_enabled, local_enabled, ci_only_cache, ci_fallback) configure_ci_behavior(ci_enabled, local_enabled, ci_only_cache, ci_fallback, cache_enabled)
if ai_service: if ai_service:
if service_config: if service_config:
@ -1097,7 +1022,7 @@ def configure_ai_summary(enabled_folders=None, exclude_patterns=None, exclude_fi
ai_summary_generator.configure_ai_service(ai_service) ai_summary_generator.configure_ai_service(ai_service)
# 🔧 新增 CI 配置函数 # 🔧 新增 CI 配置函数
def configure_ci_behavior(enabled_in_ci=None, enabled_in_local=None, ci_only_cache=None, ci_fallback_enabled=None): def configure_ci_behavior(enabled_in_ci=None, enabled_in_local=None, ci_only_cache=None, ci_fallback_enabled=None, cache_enabled=None):
""" """
配置 CI 和本地环境行为 配置 CI 和本地环境行为
@ -1106,16 +1031,17 @@ def configure_ci_behavior(enabled_in_ci=None, enabled_in_local=None, ci_only_cac
enabled_in_local: 是否在本地环境中启用 AI 摘要 enabled_in_local: 是否在本地环境中启用 AI 摘要
ci_only_cache: CI 环境是否仅使用缓存 ci_only_cache: CI 环境是否仅使用缓存
ci_fallback_enabled: CI 环境是否启用备用摘要 ci_fallback_enabled: CI 环境是否启用备用摘要
cache_enabled: 是否启用缓存功能默认True
Example: Example:
# 只在 CI 中启用,本地禁用(推荐配置) # 完全禁用缓存
configure_ci_behavior(enabled_in_ci=True, enabled_in_local=False) configure_ci_behavior(cache_enabled=False)
# 本地和 CI 都启用 # 本地开发时禁用缓存,总是生成新摘要
configure_ci_behavior(enabled_in_ci=True, enabled_in_local=True) configure_ci_behavior(enabled_in_local=True, cache_enabled=False)
# 只在本地启用,CI 中禁用 # CI中使用缓存,本地禁用缓存
configure_ci_behavior(enabled_in_ci=False, enabled_in_local=True) configure_ci_behavior(enabled_in_ci=True, enabled_in_local=True, ci_only_cache=True, cache_enabled=True)
""" """
if enabled_in_ci is not None: if enabled_in_ci is not None:
ai_summary_generator.ci_config['enabled_in_ci'] = enabled_in_ci ai_summary_generator.ci_config['enabled_in_ci'] = enabled_in_ci
@ -1133,6 +1059,10 @@ def configure_ci_behavior(enabled_in_ci=None, enabled_in_local=None, ci_only_cac
ai_summary_generator.ci_config['ci_fallback_enabled'] = ci_fallback_enabled ai_summary_generator.ci_config['ci_fallback_enabled'] = ci_fallback_enabled
print(f"✅ CI 环境备用摘要: {'启用' if ci_fallback_enabled else '禁用'}") print(f"✅ CI 环境备用摘要: {'启用' if ci_fallback_enabled else '禁用'}")
if cache_enabled is not None:
ai_summary_generator.ci_config['cache_enabled'] = cache_enabled
print(f"✅ 缓存功能: {'启用' if cache_enabled else '禁用'}")
def on_page_markdown(markdown, page, config, files): def on_page_markdown(markdown, page, config, files):
"""MkDocs hook入口点""" """MkDocs hook入口点"""
return ai_summary_generator.process_page(markdown, page, config) return ai_summary_generator.process_page(markdown, page, config)

File diff suppressed because one or more lines are too long

View File

@ -2,206 +2,206 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/link/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/link/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/liuyanban/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/liuyanban/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/tag/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/tag/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/ZH-TW/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/ZH-TW/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/about/geren/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/about/geren/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/about/resume/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/about/resume/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/about/test/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/about/test/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/about/zcw/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/about/zcw/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/MIT/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/MIT/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocs1/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocs1/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocs2/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocs2/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocs3/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocs3/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocsblog/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocsblog/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkfirst/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkfirst/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/2021/12/18/%E5%8D%9A%E5%AE%A2%E6%96%87%E7%AB%A0%E6%B5%8B%E8%AF%95/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/2021/12/18/%E5%8D%9A%E5%AE%A2%E6%96%87%E7%AB%A0%E6%B5%8B%E8%AF%95/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/2022/06/06/2022%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/2023/12/21/2023%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/2024/01/01/2024%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/2025/01/01/2025%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/404/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/404/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/MkDocs-AI-Hooks/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/MkDocs-AI-Hooks/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/Relativeaddress/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/Relativeaddress/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/accelerate/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/accelerate/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/backgroud/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/backgroud/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/footer/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/footer/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/header/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/header/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/linktech/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/linktech/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/mkcomments/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/mkcomments/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/mkdocsfont/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/mkdocsfont/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/mkpdf/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/mkpdf/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/shubiao/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/shubiao/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/time/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/time/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/webtalknow/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/webtalknow/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/yuanjiaohua/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/yuanjiaohua/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/git/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/develop/git/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/lighthouse/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/develop/lighthouse/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/vercel/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/develop/vercel/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/Markdown/MWeb/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/develop/Markdown/MWeb/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/Markdown/markdown/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/develop/Markdown/markdown/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/designbeauty/db1/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/develop/designbeauty/db1/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/designbeauty/my-to-desihn/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/develop/designbeauty/my-to-desihn/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/en/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/en/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2025/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2025/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2024/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2024/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2023/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2023/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2022/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2022/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2021/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2021/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/category/%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/category/%E7%BD%91%E7%AB%99%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
<url> <url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/category/hello-world/</loc> <loc>http://wcowin.work/Mkdocs-Wcowin/blog/category/hello-world/</loc>
<lastmod>2025-06-03</lastmod> <lastmod>2025-06-04</lastmod>
</url> </url>
</urlset> </urlset>

Binary file not shown.