Deployed 8e6f69e with MkDocs version: 1.6.1

This commit is contained in:
2025-06-03 12:51:28 +00:00
parent 6993b83a3d
commit 4939ddb180
62 changed files with 6436 additions and 163 deletions

View File

@ -0,0 +1,6 @@
{
"summary": "该项目为MkDocs文档系统提供AI驱动的智能摘要生成和阅读统计功能支持OpenAI、DeepSeek等多API服务。核心特性包括自动生成80-120字高质量摘要、多语言支持、智能内容清理和高效缓存系统同时提供精准的中文阅读统计和阅读时间估算。通过灵活的配置选项用户可实现文件夹或页面级别的精确控制并自定义API服务和提示词。该工具显著提升了技术文档的可读性和管理效率。",
"service": "deepseek",
"page_title": "MkDocs文档AI摘要",
"timestamp": "2025-06-03T20:49:35.847514"
}

View File

@ -0,0 +1,6 @@
{
"summary": "该项目为MkDocs文档系统提供AI驱动的智能摘要生成和阅读统计功能支持多语言和多种AI服务API。核心特性包括自动生成80-120字高质量摘要、智能内容清理、高效缓存系统以及精准的阅读时间估算。通过灵活的配置选项用户可实现文件夹或页面级别的控制并自定义API服务和提示词。该方案具有经济高效、性能优化等特点适用于技术文档和博客的自动化摘要需求。",
"service": "deepseek",
"page_title": "MkDocs文档AI摘要",
"timestamp": "2025-06-03T20:37:34.409741"
}

View File

@ -828,6 +828,8 @@
@ -875,6 +877,36 @@
<li class="md-nav__item">
<a href="../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -829,6 +829,8 @@
@ -876,6 +878,36 @@
<li class="md-nav__item">
<a href="../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -825,6 +825,8 @@
@ -872,6 +874,36 @@
<li class="md-nav__item">
<a href="../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -832,6 +832,8 @@
@ -879,6 +881,36 @@
<li class="md-nav__item">
<a href="../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -828,6 +828,8 @@
@ -875,6 +877,36 @@
<li class="md-nav__item">
<a href="../../../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../../../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2485,10 +2517,10 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2022年网站更新主要包括技术框架搭建和用户体验优化。6月选定MKdocs作为建站框架10月完成Github仓库创建并启用独立域名。关键改进包括取消cookie确认弹窗以简化访问流程、增强隐私保护并新增首页反馈功能。更新体现了从技术选型到交互优化的完整建设路径重点关注用户友好性和数据隐私。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../../../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2575,10 +2607,10 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2023年网站更新聚焦功能优化与体验提升包括引入AI问答机器人25条/月限制、多语言支持含台湾语言、国内镜像站点和Mkdocs-Wcowin主题。技术改进涉及Latex渲染修复、图片懒加载、移动端适配及搜索功能实现同时优化了网页流畅度与字体显示。新增Blog板块、留言板及友链功能持续完善用户交互体验。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../../../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2665,10 +2697,10 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>该网站2024年持续优化性能与用户体验主要改进包括通过CDN加速提升访问速度精简冗余JS/CSS代码优化UI设计和注脚显示迁移图片至稳定图床。技术层面引入自动新标签页打开功能集成git-revision插件记录文档变更并完善MKdocs教程体系。全站被主流搜索引擎收录友链扩展至16个同时保持代码简洁性与可维护性。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>522</strong> | 有效代码行数:<strong>43</strong></p>

View File

@ -832,6 +832,8 @@
@ -879,6 +881,36 @@
<li class="md-nav__item">
<a href="../../../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2582,10 +2614,10 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2025年网站更新主要围绕性能优化和功能改进展开包括持续优化网站流畅度、修复Markdown解析器渲染问题、改进友链统计准确性、修复评论区定位bug。同时更新了MKdocs教程以适应最新版本优化留言板布局并清理失效图片链接。此外还尝试引入glightbox插件提升图片查看体验并通过代码重写显著提升加载速度。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>

View File

@ -841,6 +841,8 @@
@ -891,6 +893,36 @@
<li class="md-nav__item">
<a href="../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2369,10 +2401,10 @@
<h1>许可声明</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>MIT许可证授予用户自由使用、修改、分发软件的广泛权利仅要求保留版权声明和许可条款。该许可证明确声明软件不提供任何担保作者不对使用后果承担责任。作为宽松开源协议MIT允许商业用途和私有修改是开发者广泛采用的标准许可之一。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>252</strong></p>

View File

@ -912,6 +912,8 @@
@ -962,6 +964,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../mkdocsblog/" class="md-nav__link">
@ -2490,13 +2522,13 @@
<h1>1.利用Mkdocs部署静态网页</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>本文介绍了使用MkDocs构建静态网站并部署到GitHub Pages的完整流程。重点讲解了通过GitHub Desktop管理仓库、配置mkdocs.yml文件、设置GitHub Actions自动化部署等关键步骤并提供了Material主题的配置建议。该方法适合快速搭建技术文档或博客网站具有版本控制友好、部署简单的特点最后还提供了实时预览和自定义域名的实现方式。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>485</strong> | 有效代码行数:<strong>75</strong></p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>485</strong> | 有效代码行数:<strong>73</strong></p>
</div>
<div class="admonition info">
<p class="admonition-title">Info</p>

View File

@ -1053,6 +1053,8 @@
@ -1103,6 +1105,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../mkdocsblog/" class="md-nav__link">
@ -2772,10 +2804,10 @@
<h1>2.Mkdocs配置说明(mkdocs.yml)</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>本文详细介绍了Mkdocs配置文件mkdocs.yml的核心配置项包括站点基本信息设置、Material主题配色方案支持明暗模式切换、导航功能优化如目录跟踪、返回顶部按钮、搜索增强功能以及Markdown扩展支持。重点讲解了标签系统实现方法、自定义CSS/JS引入方式并提供了扩展网站功能的实践建议如添加数学公式支持、鼠标样式和评论系统等。配置文件采用YAML语法通过灵活组合各项参数可快速构建功能完善的文档网站。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>2</strong> 分钟 | 中文字符:<strong>818</strong> | 有效代码行数:<strong>555</strong></p>

View File

@ -18,7 +18,7 @@
<link rel="prev" href="../mkdocs2/">
<link rel="next" href="../mkdocsblog/">
<link rel="next" href="../../websitebeauty/MkDocs-AI-Hooks/">
<link rel="icon" href="https://s2.loli.net/2025/02/12/aE5ovtzAlNTd9Uh.png">
@ -841,6 +841,8 @@
@ -891,6 +893,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../mkdocsblog/" class="md-nav__link">
@ -2676,16 +2708,16 @@
<a
href="../mkdocsblog/"
href="../../websitebeauty/MkDocs-AI-Hooks/"
class="md-footer__link md-footer__link--next"
aria-label="下一页: 添加Mkdocs博客"
aria-label="下一页: MkDocs文档AI摘要"
>
<div class="md-footer__title">
<span class="md-footer__direction">
下一页
</span>
<div class="md-ellipsis">
添加Mkdocs博客
MkDocs文档AI摘要
</div>
</div>
<div class="md-footer__button md-icon">

View File

@ -15,7 +15,7 @@
<link rel="canonical" href="http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocsblog/">
<link rel="prev" href="../mkdocs3/">
<link rel="prev" href="../../websitebeauty/MkDocs-AI-Hooks/">
<link rel="next" href="../../websitebeauty/yuanjiaohua/">
@ -835,6 +835,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
@ -2695,9 +2727,9 @@
<a
href="../mkdocs3/"
href="../../websitebeauty/MkDocs-AI-Hooks/"
class="md-footer__link md-footer__link--prev"
aria-label="上一页: 3.解决Github Pages部署mkdocs自定义域名失效的问题"
aria-label="上一页: MkDocs文档AI摘要"
>
<div class="md-footer__button md-icon">
@ -2708,7 +2740,7 @@
上一页
</span>
<div class="md-ellipsis">
3.解决Github Pages部署mkdocs自定义域名失效的问题
MkDocs文档AI摘要
</div>
</div>

View File

@ -921,6 +921,8 @@
@ -971,6 +973,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../mkdocsblog/" class="md-nav__link">
@ -2508,10 +2540,10 @@
<h1>0.Mkdocs教程前言</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>本文介绍了MkDocs文档工具的学习资源和使用指南包括官方教程、Material主题、插件列表以及作者提供的中文教程语雀、CSDN、知乎。内容涵盖快速部署静态网站到GitHub Pages、配置mkdocs.yml文件以及添加博客功能并附有视频教程。最后请求使用者注明教程来源并支持友链申请。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>222</strong> | 有效代码行数:<strong>5</strong></p>

View File

@ -832,6 +832,8 @@
@ -879,6 +881,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -832,6 +832,8 @@
@ -879,6 +881,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2392,10 +2424,10 @@
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2022年网站更新主要包括技术框架搭建和用户体验优化。6月选定MKdocs作为建站框架10月完成Github仓库创建并启用独立域名。关键改进包括取消cookie确认弹窗以简化访问流程、增强隐私保护并新增首页反馈功能。更新体现了从技术选型到交互优化的完整建设路径重点关注用户友好性和数据隐私。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>

View File

@ -832,6 +832,8 @@
@ -879,6 +881,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2392,10 +2424,10 @@
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2023年网站更新聚焦功能优化与体验提升包括引入AI问答机器人25条/月限制、多语言支持含台湾语言、国内镜像站点和Mkdocs-Wcowin主题。技术改进涉及Latex渲染修复、图片懒加载、移动端适配及搜索功能实现同时优化了网页流畅度与字体显示。新增Blog板块、留言板及友链功能持续完善用户交互体验。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>

View File

@ -832,6 +832,8 @@
@ -879,6 +881,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2392,10 +2424,10 @@
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>该网站2024年持续优化性能与用户体验主要改进包括通过CDN加速提升访问速度精简冗余JS/CSS代码优化UI设计和注脚显示迁移图片至稳定图床。技术层面引入自动新标签页打开功能集成git-revision插件记录文档变更并完善MKdocs教程体系。全站被主流搜索引擎收录友链扩展至16个同时保持代码简洁性与可维护性。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>522</strong> | 有效代码行数:<strong>43</strong></p>

View File

@ -832,6 +832,8 @@
@ -879,6 +881,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2392,10 +2424,10 @@
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2025年网站更新主要围绕性能优化和功能改进展开包括持续优化网站流畅度、修复Markdown解析器渲染问题、改进友链统计准确性、修复评论区定位bug。同时更新了MKdocs教程以适应最新版本优化留言板布局并清理失效图片链接。此外还尝试引入glightbox插件提升图片查看体验并通过代码重写显著提升加载速度。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>

View File

@ -832,6 +832,8 @@
@ -879,6 +881,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -832,6 +832,8 @@
@ -879,6 +881,36 @@
<li class="md-nav__item">
<a href="../../websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2392,10 +2424,10 @@
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2025年网站更新主要围绕性能优化和功能改进展开包括持续优化网站流畅度、修复Markdown解析器渲染问题、改进友链统计准确性、修复评论区定位bug。同时更新了MKdocs教程以适应最新版本优化留言板布局并清理失效图片链接。此外还尝试引入glightbox插件提升图片查看体验并通过代码重写显著提升加载速度。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>
@ -2516,10 +2548,10 @@
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>该网站2024年持续优化性能与用户体验主要改进包括通过CDN加速提升访问速度精简冗余JS/CSS代码优化UI设计和注脚显示迁移图片至稳定图床。技术层面引入自动新标签页打开功能集成git-revision插件记录文档变更并完善MKdocs教程体系。全站被主流搜索引擎收录友链扩展至16个同时保持代码简洁性与可维护性。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>522</strong> | 有效代码行数:<strong>43</strong></p>
@ -2802,10 +2834,10 @@ Look at this source <a href="https://github.com/JakubAndrysek/mkdocs-open-in-new
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2023年网站更新聚焦功能优化与体验提升包括引入AI问答机器人25条/月限制、多语言支持含台湾语言、国内镜像站点和Mkdocs-Wcowin主题。技术改进涉及Latex渲染修复、图片懒加载、移动端适配及搜索功能实现同时优化了网页流畅度与字体显示。新增Blog板块、留言板及友链功能持续完善用户交互体验。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>
@ -2960,10 +2992,10 @@ Look at this source <a href="https://github.com/JakubAndrysek/mkdocs-open-in-new
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2022年网站更新主要包括技术框架搭建和用户体验优化。6月选定MKdocs作为建站框架10月完成Github仓库创建并启用独立域名。关键改进包括取消cookie确认弹窗以简化访问流程、增强隐私保护并新增首页反馈功能。更新体现了从技术选型到交互优化的完整建设路径重点关注用户友好性和数据隐私。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2401,10 +2433,10 @@
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2025年网站更新主要围绕性能优化和功能改进展开包括持续优化网站流畅度、修复Markdown解析器渲染问题、改进友链统计准确性、修复评论区定位bug。同时更新了MKdocs教程以适应最新版本优化留言板布局并清理失效图片链接。此外还尝试引入glightbox插件提升图片查看体验并通过代码重写显著提升加载速度。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>
@ -2525,10 +2557,10 @@
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>该网站2024年持续优化性能与用户体验主要改进包括通过CDN加速提升访问速度精简冗余JS/CSS代码优化UI设计和注脚显示迁移图片至稳定图床。技术层面引入自动新标签页打开功能集成git-revision插件记录文档变更并完善MKdocs教程体系。全站被主流搜索引擎收录友链扩展至16个同时保持代码简洁性与可维护性。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>522</strong> | 有效代码行数:<strong>43</strong></p>
@ -2811,10 +2843,10 @@ Look at this source <a href="https://github.com/JakubAndrysek/mkdocs-open-in-new
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2023年网站更新聚焦功能优化与体验提升包括引入AI问答机器人25条/月限制、多语言支持含台湾语言、国内镜像站点和Mkdocs-Wcowin主题。技术改进涉及Latex渲染修复、图片懒加载、移动端适配及搜索功能实现同时优化了网页流畅度与字体显示。新增Blog板块、留言板及友链功能持续完善用户交互体验。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>
@ -2969,10 +3001,10 @@ Look at this source <a href="https://github.com/JakubAndrysek/mkdocs-open-in-new
</header>
<div class="md-post__content md-typeset">
<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">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>2022年网站更新主要包括技术框架搭建和用户体验优化。6月选定MKdocs作为建站框架10月完成Github仓库创建并启用独立域名。关键改进包括取消cookie确认弹窗以简化访问流程、增强隐私保护并新增首页反馈功能。更新体现了从技术选型到交互优化的完整建设路径重点关注用户友好性和数据隐私。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>

View File

@ -840,6 +840,8 @@
@ -888,6 +890,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">

File diff suppressed because it is too large Load Diff

View File

@ -840,6 +840,8 @@
@ -888,6 +890,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2530,13 +2562,13 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>本文探讨了MkDocs中使用相对地址引用资源时的常见问题与解决方案涵盖图片、PDF、跨页面及静态资源的引用方法。重点分析了路径规范、大小写敏感性和目录结构管理强调以当前Markdown文件为基准的相对路径写法确保本地预览与线上部署一致性。提供了针对路径错误、资源加载失败等问题的排查建议推荐统一资源目录结构以提升维护性。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>493</strong> | 有效代码行数:<strong>6</strong></p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>493</strong> | 有效代码行数:<strong>3</strong></p>
</div>
<h1 id="mkdocs">针对MKdocs中相对地址引用的一些问题<a class="headerlink" href="#mkdocs" title="Permanent link">&para;</a></h1>
<p>在使用 MkDocs 构建文档网站时常常会遇到相对地址引用的问题尤其是在图片、PDF、其他静态资源等的引用上。合理使用相对地址可以让你的文档在本地预览和线上部署时都能正常显示。下面总结一些常见场景和注意事项</p>

View File

@ -840,6 +840,8 @@
@ -888,6 +890,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2476,10 +2508,10 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>本文介绍了使用MkDocs构建网站时的性能优化方法包括采用WebP等高效图片格式压缩资源、通过CDN分发静态文件减少延迟以及优化git插件配置加速本地渲染。建议开发时禁用非必要插件使用Lighthouse工具测试优化效果。这些措施能显著提升网站加载速度和用户体验。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>257</strong> | 有效代码行数:<strong>6</strong></p>

View File

@ -840,6 +840,8 @@
@ -888,6 +890,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2490,10 +2522,10 @@
<h1>背景特效</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>该技术文档介绍了三种网页背景特效的实现方法雪花、樱花和粒子效果。核心是通过JavaScript动态加载特效脚本并利用LocalStorage控制特效的显示状态。雪花特效通过检测LocalStorage标志决定是否加载外部JS文件其他特效也采用类似实现方式。这些轻量级特效可增强网页视觉体验适用于节日主题或装饰性页面需求。</p>
</div>
</details>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>以下代码均在<code>docs/javascripts/extra.js</code>下复制粘贴</p>

View File

@ -840,6 +840,8 @@
@ -888,6 +890,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -835,6 +835,8 @@
@ -883,6 +885,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -842,6 +842,8 @@
@ -890,6 +892,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -840,6 +840,8 @@
@ -888,6 +890,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2508,10 +2540,10 @@
<h1>添加评论系统(giscus为例)</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>giscus是一款基于GitHub Discussions的开源评论系统无需数据库数据直接存储在GitHub中。它具有无跟踪、无广告、永久免费的特点支持多语言、自定义主题和高可配置性。系统能自动同步GitHub的评论更新适用于静态网站集成提供轻量级、隐私友好的评论解决方案同时允许用户自建服务。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>389</strong> | 有效代码行数:<strong>116</strong></p>

View File

@ -840,6 +840,8 @@
@ -888,6 +890,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2692,10 +2724,10 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>霞鹜文楷是一款基于日本FONTWORKS公司Klee One衍生的开源中文字体兼具仿宋和楷体特点适合诗词和注释排版。提供多个版本屏幕阅读版、轻便版、GB/TC规范版等支持简繁日韩字符。该字体解决了商业字体侵权风险问题填补了开源中文字体中楷体类的空白。用户可通过GitHub、Gitee等平台获取支持Windows/macOS系统安装。字体采用SIL Open Font License 1.1授权,适合网站和移动设备使用。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>6</strong> 分钟 | 中文字符:<strong>2328</strong> | 有效代码行数:<strong>21</strong></p>

View File

@ -835,6 +835,8 @@
@ -883,6 +885,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -835,6 +835,8 @@
@ -883,6 +885,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2375,10 +2407,10 @@
<h1>JS实现鼠标样式</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>该文章介绍了通过JavaScript和CSS自定义网页鼠标样式的实现方法重点说明了关键参数配置包括鼠标尺寸、颜色支持RGB值和颜色名称以及圆形跟随效果。提供了具体的代码示例和配置路径并强调需在mkdocs.yml中引入相关文件。适用于需要个性化鼠标交互效果的网页开发场景。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>129</strong> | 有效代码行数:<strong>114</strong></p>

View File

@ -840,6 +840,8 @@
@ -888,6 +890,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2472,10 +2504,10 @@
<h1>为MKdocs添加文章修订时间戳</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>该技术方案通过git-revision-date-localized插件为MKdocs文档系统添加文章修订时间戳功能。核心实现是在CI工作流中优化git历史检查策略既提升了本地渲染速度又确保发布时准确显示最后更新时间。该方法适用于需要展示文档时效性的场景通过修改ci.yml配置文件即可快速部署兼顾了开发效率和功能完整性。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>203</strong> | 有效代码行数:<strong>51</strong></p>

View File

@ -840,6 +840,8 @@
@ -888,6 +890,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2472,10 +2504,10 @@
<h1>添加在线聊天</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>Tidio提供免费、无需梯子的在线聊天解决方案通过简单的JavaScript代码集成到网站。用户只需注册账号从设置中获取专属代码并嵌入网页即可实现实时聊天功能。该工具安装便捷适合快速部署满足基础客服需求尤其适合中小型网站使用。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>182</strong> | 有效代码行数:<strong>1</strong></p>

View File

@ -840,6 +840,8 @@
@ -888,6 +890,36 @@
<li class="md-nav__item">
<a href="../MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2526,10 +2558,10 @@
<h1>网页圆角化设计</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>本文介绍了网页圆角化设计的实现方法重点讲解通过CSS样式实现图片和边框的圆角效果。具体包括创建CSS文件并在mkdocs.yml中引入使用border-radius属性设置圆角半径以及在Markdown文件中应用样式的代码示例。同时展示了利用内置grid cards组件和按钮样式的圆角化实现方案为网页UI设计提供了简洁美观的视觉解决方案。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>66</strong> | 有效代码行数:<strong>213</strong></p>

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2840,13 +2872,13 @@
<h1>MWeb Pro</h1>
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>MWeb Pro是一款专为macOS设计的专业Markdown写作与笔记应用支持GFM语法扩展含表格、LaTeX、代码块等及多种图表库mermaid/PlantUML等。提供高效的图文混排功能支持拖拽插入图片并调整宽度可导出为PDF/HTML/Epub等格式或直接发布至WordPress/印象笔记等平台。其文档库支持分类树、标签管理及静态网站生成,兼具快速笔记收集和全局搜索功能,适合技术写作、知识管理及博客发布场景。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>3</strong> 分钟 | 中文字符:<strong>1009</strong> | 有效代码行数:<strong>67</strong></p>
<p>阅读时间:<strong>3</strong> 分钟 | 中文字符:<strong>1009</strong> | 有效代码行数:<strong>64</strong></p>
</div>
<p><b>MWeb Pro </b>是一款适用于macOS的专业Markdown写作、笔记本应用软件。喜欢写博客的朋友那你一定会需要 MWeb Pro 这款软件。为您提供最佳的写作体验。</p>
<p>Markdown 语法支持:</p>

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">
@ -3054,13 +3086,13 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>Markdown是一种轻量级标记语言支持纯文本编写并转换为多种格式如HTML/PDF。其核心语法包括标题、列表、表格、代码块等结构化元素以及文本样式粗体/斜体)、链接/图片嵌入功能。兼容HTML标签并支持特殊字符转义适用于文档编写、笔记记录等场景。主流编辑器如MacDown、StackEdit提供跨平台支持具有易读易写的特性。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>2</strong> 分钟 | 中文字符:<strong>662</strong> | 有效代码行数:<strong>67</strong></p>
<p>阅读时间:<strong>2</strong> 分钟 | 中文字符:<strong>662</strong> | 有效代码行数:<strong>61</strong></p>
</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>
<blockquote>

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2514,10 +2546,10 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>唐·诺曼提出的情感设计三层次理论包括本能层、行为层和反思层。本能层关注产品外观引发的即时情感反应,行为层强调使用过程中的功能性和效率,反思层涉及用户对产品的理性认知和自我形象关联。这三个层次相互影响,共同塑造用户对产品的整体体验。该理论为设计提供了系统框架,解释了为何某些产品即使存在功能缺陷仍能获得市场成功。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>5</strong> 分钟 | 中文字符:<strong>2163</strong></p>

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2384,10 +2416,10 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>该文章阐述了设计的关键原则与价值主张,强调简洁性、视觉美感与用户体验的核心地位。作者提出六项设计准则:通过精简元素实现功能聚焦;运用视觉平衡提升优雅感;以用户行为模式优化交互流程;精细化处理视觉细节;融合创新思维突破传统;借助故事性建立情感连接。这些观点系统性地揭示了优秀设计应兼具功能性、审美性与情感共鸣的特质。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>398</strong></p>

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2790,10 +2822,10 @@
<div class="admonition info">
<p class="admonition-title">💾 AI智能摘要</p>
<details class="info">
<summary>🤖 AI智能摘要</summary>
<p>本文介绍了Git版本控制的核心操作与实用技巧涵盖仓库创建、分支管理、冲突解决等基础功能并重点讲解了stash暂存、rebase/merge策略选择、cherry-pick热修复等高级用法。通过具体代码示例和操作图示系统演示了如何高效处理日常开发中的版本控制需求特别针对代码回退、提交修改等常见场景提供了专业解决方案。</p>
</div>
</details>
<div class="admonition info">
<p class="admonition-title">📖 阅读信息</p>
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>199</strong> | 有效代码行数:<strong>48</strong></p>

View File

@ -829,6 +829,8 @@
@ -876,6 +878,36 @@
<li class="md-nav__item">
<a href="../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -829,6 +829,8 @@
@ -876,6 +878,36 @@
<li class="md-nav__item">
<a href="../../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../../blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -828,6 +828,8 @@
@ -875,6 +877,36 @@
<li class="md-nav__item">
<a href="../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -823,6 +823,8 @@
@ -870,6 +872,36 @@
<li class="md-nav__item">
<a href="blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../blog/Mkdocs/mkdocsblog/" class="md-nav__link">

View File

@ -4,6 +4,7 @@ import hashlib
import requests
from pathlib import Path
from datetime import datetime
from functools import lru_cache
class AISummaryGenerator:
def __init__(self):
@ -41,6 +42,27 @@ class AISummaryGenerator:
'docs/index.md',
'develop/index.md',
]
# 初始化阅读统计相关的正则表达式
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', ''
})
def configure_folders(self, folders=None, exclude_patterns=None, exclude_files=None):
"""
@ -207,7 +229,7 @@ class AISummaryGenerator:
clean_text = re.sub(r'\*([^*]+)\*', r'\1', clean_text)
# 分割成句子
sentences = re.split(r'[。!?.!?]', clean_text)
sentences = re.split(r'[\u3002\uff01\uff1f.!?]', clean_text)
sentences = [s.strip() for s in sentences if len(s.strip()) > 15]
# 优先选择包含关键词的句子
@ -246,10 +268,10 @@ class AISummaryGenerator:
total_length += len(sentence)
if selected_sentences:
summary = ''.join(selected_sentences) + ''
summary = '.'.join(selected_sentences) + '.'
# 简化冗长的摘要
if len(summary) > 120:
summary = selected_sentences[0] + ''
summary = selected_sentences[0] + '.'
return summary
else:
# 根据标题生成通用摘要
@ -263,49 +285,71 @@ class AISummaryGenerator:
return '本文深入探讨了相关技术内容,提供了实用的方法和解决方案。'
def process_page(self, markdown, page, config):
"""处理页面生成AI摘要"""
if not self.should_generate_summary(page, markdown):
"""处理页面生成AI摘要和阅读统计"""
# 检查是否需要显示阅读信息
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
clean_content = self.clean_content_for_ai(markdown)
# 计算阅读统计
reading_time, chinese_chars, code_lines = self.calculate_reading_stats(markdown)
# 内容长度检查
if len(clean_content) < 200:
print(f"📄 内容太短,跳过摘要生成: {page.file.src_path}")
return markdown
result_blocks = []
content_hash = self.get_content_hash(clean_content)
page_title = getattr(page, 'title', '')
# 处理AI摘要
if should_generate_ai_summary:
clean_content = self.clean_content_for_ai(markdown)
# 内容长度检查
if len(clean_content) >= 200:
content_hash = self.get_content_hash(clean_content)
page_title = getattr(page, 'title', '')
# 检查缓存
cached_summary = self.get_cached_summary(content_hash)
if cached_summary:
summary = cached_summary.get('summary', '')
ai_service = 'cached'
print(f"✅ 使用缓存摘要: {page.file.src_path}")
else:
# 生成新摘要
print(f"🤖 正在生成AI摘要: {page.file.src_path}")
summary = self.generate_ai_summary(clean_content, page_title)
if not summary:
summary = self.generate_fallback_summary(clean_content, page_title)
ai_service = 'fallback'
print(f"📝 使用备用摘要: {page.file.src_path}")
else:
ai_service = 'deepseek'
print(f"✅ AI摘要生成成功: {page.file.src_path}")
# 保存到缓存
self.save_summary_cache(content_hash, {
'summary': summary,
'service': ai_service,
'page_title': page_title
})
# 添加AI摘要块
ai_summary_block = self.format_ai_summary(summary, ai_service)
result_blocks.append(ai_summary_block)
# 检查缓存
cached_summary = self.get_cached_summary(content_hash)
if cached_summary:
summary = cached_summary.get('summary', '')
ai_service = 'cached'
print(f"✅ 使用缓存摘要: {page.file.src_path}")
# 添加阅读信息块
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:
# 生成新摘要
print(f"🤖 正在生成AI摘要: {page.file.src_path}")
summary = self.generate_ai_summary(clean_content, page_title)
if not summary:
summary = self.generate_fallback_summary(clean_content, page_title)
ai_service = 'fallback'
print(f"📝 使用备用摘要: {page.file.src_path}")
else:
ai_service = 'deepseek'
print(f"✅ AI摘要生成成功: {page.file.src_path}")
# 保存到缓存
self.save_summary_cache(content_hash, {
'summary': summary,
'service': ai_service,
'page_title': page_title
})
# 添加摘要到页面最上面
summary_html = self.format_summary(summary, ai_service)
return summary_html + '\n\n' + markdown
return markdown
def should_generate_summary(self, page, markdown):
"""判断是否应该生成摘要 - 可自定义文件夹"""
@ -340,8 +384,139 @@ class AISummaryGenerator:
# 默认不生成摘要
return False
def format_summary(self, summary, ai_service):
"""格式化摘要显示"""
def calculate_reading_stats(self, markdown):
"""计算中文字符数和代码行数"""
# 清理内容用于中文字符统计
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
# 检测是否为代码内容
is_code = self.is_code_content(code_content)
if is_code:
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 should_show_reading_info(self, page, markdown):
"""判断是否应该显示阅读信息"""
# 检查页面元数据
if 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
# 检查页面类型
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_ai_summary(self, summary, ai_service):
"""格式化AI摘要显示"""
service_config = {
'deepseek': {
'icon': '🤖',
@ -354,7 +529,7 @@ class AISummaryGenerator:
'color': 'tip'
},
'cached': {
'icon': '💾',
'icon': '🤖',
'name': 'AI智能摘要',
'color': 'info'
}
@ -362,10 +537,21 @@ class AISummaryGenerator:
config = service_config.get(ai_service, service_config['deepseek'])
return f'''!!! {config['color']} "{config['icon']} {config['name']}"
{summary}
'''
return f'''??? {config['color']} "{config['icon']} {config['name']}"
{summary}'''
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):
"""保持向后兼容的格式化方法"""
return self.format_ai_summary(summary, ai_service)
# 创建全局实例
ai_summary_generator = AISummaryGenerator()
@ -390,5 +576,5 @@ def configure_ai_summary(enabled_folders=None, exclude_patterns=None, exclude_fi
ai_summary_generator.configure_folders(enabled_folders, exclude_patterns, exclude_files)
def on_page_markdown(markdown, page, config, files):
"""MkDocs hook入口点"""
"""MkDocs hook入口点 - 统一处理AI摘要和阅读统计"""
return ai_summary_generator.process_page(markdown, page, config)

397
overrides/hooks/test.py Normal file
View File

@ -0,0 +1,397 @@
# 备份智能摘要代码
import re
import json
import hashlib
import requests
from pathlib import Path
from datetime import datetime
from functools import lru_cache
class AISummaryGenerator:
def __init__(self):
self.cache_dir = Path("site/.ai_cache")
self.cache_dir.mkdir(exist_ok=True)
# DeepSeek API配置
self.api_config = {
'url': 'https://api.deepseek.com/v1/chat/completions',
'model': 'deepseek-chat',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer sk-7dbcd6e21fb3417299b50aecff76c7bf'
}
}
# 📂 可自定义的文件夹配置
self.enabled_folders = [
'blog/', # blog文件夹
'develop/', # develop文件夹
# 'about/', # about文件夹
# 在这里添加您想要启用AI摘要的文件夹
]
# 📋 排除的文件和文件夹
self.exclude_patterns = [
'liuyanban.md', 'link.md', '404.md', 'tag.md', 'tags.md',
'/about/', '/search/', '/sitemap', 'index.md', # 根目录index.md
]
# 📋 排除的特定文件
self.exclude_files = [
'blog/index.md',
'blog/indexblog.md',
'docs/index.md',
'develop/index.md',
]
def configure_folders(self, folders=None, exclude_patterns=None, exclude_files=None):
"""
配置启用AI摘要的文件夹
Args:
folders: 启用AI摘要的文件夹列表
exclude_patterns: 排除的模式列表
exclude_files: 排除的特定文件列表
"""
if folders is not None:
self.enabled_folders = folders
if exclude_patterns is not None:
self.exclude_patterns = exclude_patterns
if exclude_files is not None:
self.exclude_files = exclude_files
def get_content_hash(self, content):
"""生成内容hash用于缓存"""
return hashlib.md5(content.encode('utf-8')).hexdigest()
def get_cached_summary(self, content_hash):
"""获取缓存的摘要"""
cache_file = self.cache_dir / f"{content_hash}.json"
if cache_file.exists():
try:
with open(cache_file, 'r', encoding='utf-8') as f:
cache_data = json.load(f)
# 检查缓存是否过期7天
cache_time = datetime.fromisoformat(cache_data.get('timestamp', '1970-01-01'))
if (datetime.now() - cache_time).days < 7:
return cache_data
except:
pass
return None
def save_summary_cache(self, content_hash, summary_data):
"""保存摘要到缓存"""
cache_file = self.cache_dir / f"{content_hash}.json"
try:
summary_data['timestamp'] = datetime.now().isoformat()
with open(cache_file, 'w', encoding='utf-8') as f:
json.dump(summary_data, f, ensure_ascii=False, indent=2)
except Exception as e:
print(f"保存摘要缓存失败: {e}")
def clean_content_for_ai(self, markdown):
"""清理内容提取主要文本用于AI处理"""
content = markdown
# 移除YAML front matter
content = re.sub(r'^---.*?---\s*', '', content, flags=re.DOTALL)
# 移除已存在的阅读信息块和AI摘要块
content = re.sub(r'!!! info "📖 阅读信息".*?(?=\n\n|\n#|\Z)', '', content, flags=re.DOTALL)
content = re.sub(r'!!! info "🤖 AI智能摘要".*?(?=\n\n|\n#|\Z)', '', content, flags=re.DOTALL)
content = re.sub(r'!!! tip "📝 自动摘要".*?(?=\n\n|\n#|\Z)', '', content, flags=re.DOTALL)
# 移除HTML标签
content = re.sub(r'<[^>]+>', '', content)
# 移除图片保留alt文本作为内容提示
content = re.sub(r'!\[([^\]]*)\]\([^)]+\)', r'[图片:\1]', content)
# 移除链接,保留文本
content = re.sub(r'\[([^\]]+)\]\([^)]+\)', r'\1', content)
# 移除代码块,但保留关键信息
content = re.sub(r'```(\w+)?\n(.*?)\n```', r'[代码示例]', content, flags=re.DOTALL)
# 移除行内代码
content = re.sub(r'`[^`]+`', '[代码]', content)
# 移除表格格式但保留内容
content = re.sub(r'\|[^\n]+\|', '', content)
content = re.sub(r'^[-|:\s]+$', '', content, flags=re.MULTILINE)
# 清理格式符号
content = re.sub(r'\*\*([^*]+)\*\*', r'\1', content) # 粗体
content = re.sub(r'\*([^*]+)\*', r'\1', content) # 斜体
content = re.sub(r'^#+\s*', '', content, flags=re.MULTILINE) # 标题符号
# 移除多余的空行和空格
content = re.sub(r'\n\s*\n', '\n\n', content)
content = re.sub(r'^[ \t]+', '', content, flags=re.MULTILINE)
content = content.strip()
return content
def generate_ai_summary(self, content, page_title=""):
"""使用DeepSeek生成摘要"""
# 优化的提示词
prompt = f"""请为以下技术文章生成一个高质量的摘要,要求:
1. **长度控制**严格控制在80-120字以内
2. **内容要求**
- 准确概括文章的核心主题和关键要点
- 突出技术特点应用场景或解决的问题
- 使用专业但易懂的语言
- 避免重复文章标题的内容
3. **格式要求**
- 直接返回摘要内容无需任何前缀或后缀
- 使用简洁的陈述句
- 可以适当使用技术术语
文章标题{page_title}
文章内容
{content[:2500]}
请生成摘要"""
try:
payload = {
"model": self.api_config['model'],
"messages": [
{
"role": "system",
"content": "你是一个专业的技术文档摘要专家,擅长提取文章核心要点并生成简洁准确的摘要。"
},
{
"role": "user",
"content": prompt
}
],
"max_tokens": 150,
"temperature": 0.3, # 降低随机性,提高准确性
"top_p": 0.9
}
response = requests.post(
self.api_config['url'],
headers=self.api_config['headers'],
json=payload,
timeout=30
)
if response.status_code == 200:
result = response.json()
summary = result['choices'][0]['message']['content'].strip()
# 清理可能的格式问题
summary = re.sub(r'^["""''`]+|["""''`]+$', '', summary)
summary = re.sub(r'^\s*摘要[:]\s*', '', summary)
summary = re.sub(r'^\s*总结[:]\s*', '', summary)
return summary
else:
print(f"DeepSeek API请求失败: {response.status_code} - {response.text}")
return None
except requests.exceptions.RequestException as e:
print(f"DeepSeek API请求异常: {e}")
return None
except Exception as e:
print(f"AI摘要生成异常: {e}")
return None
def generate_fallback_summary(self, content, page_title=""):
"""生成备用摘要(基于规则的智能摘要)"""
# 移除格式符号
clean_text = re.sub(r'^#+\s*', '', content, flags=re.MULTILINE)
clean_text = re.sub(r'\*\*([^*]+)\*\*', r'\1', clean_text)
clean_text = re.sub(r'\*([^*]+)\*', r'\1', clean_text)
# 分割成句子
sentences = re.split(r'[\u3002\uff01\uff1f.!?]', clean_text)
sentences = [s.strip() for s in sentences if len(s.strip()) > 15]
# 优先选择包含关键词的句子
key_indicators = [
'介绍', '讲解', '说明', '分析', '探讨', '研究', '实现', '应用',
'方法', '技术', '算法', '原理', '概念', '特点', '优势', '解决',
'教程', '指南', '配置', '安装', '部署', '开发', '设计', '构建'
]
priority_sentences = []
normal_sentences = []
for sentence in sentences[:10]: # 处理前10句
if any(keyword in sentence for keyword in key_indicators):
priority_sentences.append(sentence)
else:
normal_sentences.append(sentence)
# 组合摘要
selected_sentences = []
total_length = 0
# 优先使用关键句子
for sentence in priority_sentences:
if total_length + len(sentence) > 100:
break
selected_sentences.append(sentence)
total_length += len(sentence)
# 如果还有空间,添加普通句子
if total_length < 80:
for sentence in normal_sentences:
if total_length + len(sentence) > 100:
break
selected_sentences.append(sentence)
total_length += len(sentence)
if selected_sentences:
summary = '.'.join(selected_sentences) + '.'
# 简化冗长的摘要
if len(summary) > 120:
summary = selected_sentences[0] + '.'
return summary
else:
# 根据标题生成通用摘要
if any(keyword in page_title for keyword in ['教程', '指南', 'Tutorial']):
return '本文提供了详细的教程指南,通过实例演示帮助读者掌握相关技术要点。'
elif any(keyword in page_title for keyword in ['配置', '设置', '安装', 'Config']):
return '本文介绍了系统配置的方法和步骤,提供实用的设置建议和最佳实践。'
elif any(keyword in page_title for keyword in ['开发', '编程', 'Development']):
return '本文分享了开发经验和技术实践,提供了实用的代码示例和解决方案。'
else:
return '本文深入探讨了相关技术内容,提供了实用的方法和解决方案。'
def process_page(self, markdown, page, config):
"""处理页面生成AI摘要"""
if not self.should_generate_summary(page, markdown):
return markdown
clean_content = self.clean_content_for_ai(markdown)
# 内容长度检查
if len(clean_content) < 200:
print(f"📄 内容太短,跳过摘要生成: {page.file.src_path}")
return markdown
content_hash = self.get_content_hash(clean_content)
page_title = getattr(page, 'title', '')
# 检查缓存
cached_summary = self.get_cached_summary(content_hash)
if cached_summary:
summary = cached_summary.get('summary', '')
ai_service = 'cached'
print(f"✅ 使用缓存摘要: {page.file.src_path}")
else:
# 生成新摘要
print(f"🤖 正在生成AI摘要: {page.file.src_path}")
summary = self.generate_ai_summary(clean_content, page_title)
if not summary:
summary = self.generate_fallback_summary(clean_content, page_title)
ai_service = 'fallback'
print(f"📝 使用备用摘要: {page.file.src_path}")
else:
ai_service = 'deepseek'
print(f"✅ AI摘要生成成功: {page.file.src_path}")
# 保存到缓存
self.save_summary_cache(content_hash, {
'summary': summary,
'service': ai_service,
'page_title': page_title
})
# 添加摘要到页面最上面
summary_html = self.format_summary(summary, ai_service)
return summary_html + '\n\n' + markdown
def should_generate_summary(self, page, markdown):
"""判断是否应该生成摘要 - 可自定义文件夹"""
# 检查页面元数据
if hasattr(page, 'meta'):
# 明确禁用
if page.meta.get('ai_summary') == False:
return False
# 强制启用
if page.meta.get('ai_summary') == True:
return True
# 获取文件路径
src_path = page.file.src_path.replace('\\', '/') # 统一路径分隔符
# 检查排除模式
if any(pattern in src_path for pattern in self.exclude_patterns):
return False
# 检查排除的特定文件
if src_path in self.exclude_files:
return False
# 检查是否在启用的文件夹中
for folder in self.enabled_folders:
if src_path.startswith(folder) or f'/{folder}' in src_path:
folder_name = folder.rstrip('/')
print(f"🎯 {folder_name}文件夹文章检测到启用AI摘要: {src_path}")
return True
# 默认不生成摘要
return False
def format_summary(self, summary, ai_service):
"""格式化摘要显示"""
service_config = {
'deepseek': {
'icon': '🤖',
'name': 'AI智能摘要',
'color': 'info'
},
'fallback': {
'icon': '📝',
'name': '自动摘要',
'color': 'tip'
},
'cached': {
'icon': '💾',
'name': 'AI智能摘要',
'color': 'info'
}
}
config = service_config.get(ai_service, service_config['deepseek'])
return f'''??? {config['color']} "{config['icon']} {config['name']}"
{summary}
'''
# 创建全局实例
ai_summary_generator = AISummaryGenerator()
# 🔧 自定义配置函数
def configure_ai_summary(enabled_folders=None, exclude_patterns=None, exclude_files=None):
"""
配置AI摘要功能
Args:
enabled_folders: 启用AI摘要的文件夹列表例如 ['blog/', 'docs/', 'posts/']
exclude_patterns: 排除的模式列表例如 ['404.md', '/admin/']
exclude_files: 排除的特定文件列表例如 ['blog/index.md']
Example:
# 只在blog和docs文件夹启用
configure_ai_summary(['blog/', 'docs/'])
# 在所有文件夹启用,但排除特定文件
configure_ai_summary([''], exclude_files=['index.md', 'about.md'])
"""
ai_summary_generator.configure_folders(enabled_folders, exclude_patterns, exclude_files)
def on_page_markdown(markdown, page, config, files):
"""MkDocs hook入口点"""
return ai_summary_generator.process_page(markdown, page, config)

File diff suppressed because one or more lines are too long

View File

@ -88,6 +88,10 @@
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/404/</loc>
<lastmod>2025-06-03</lastmod>
</url>
<url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/MkDocs-AI-Hooks/</loc>
<lastmod>2025-06-03</lastmod>
</url>
<url>
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/Relativeaddress/</loc>
<lastmod>2025-06-03</lastmod>

Binary file not shown.

View File

@ -834,6 +834,8 @@
@ -881,6 +883,36 @@
<li class="md-nav__item">
<a href="../blog/websitebeauty/MkDocs-AI-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs文档AI摘要
</span>
<span class="md-status md-status--new"></span>
</a>
</li>
<li class="md-nav__item">
<a href="../blog/Mkdocs/mkdocsblog/" class="md-nav__link">
@ -2553,6 +2585,12 @@
</a>
</li>
<li>
<a href="../blog/websitebeauty/MkDocs-AI-Hooks/">
MkDocs文档AI摘要
</a>
</li>
<li>
<a href="../blog/websitebeauty/time/">
为MKdocs添加文章修订时间戳