mirror of
https://github.com/Wcowin/Mkdocs-Wcowin.git
synced 2025-07-20 08:56:35 +00:00
Deployed 7481252 with MkDocs version: 1.6.1
This commit is contained in:
parent
919964deaa
commit
67642ce0ca
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "Tidio提供免费、无需梯子的在线聊天解决方案,适合网站快速集成。用户只需注册账号,从设置中获取专属JavaScript代码,将其嵌入网站指定位置即可完成部署。该工具安装简便,仅需单行代码即可实现实时聊天功能,适用于各类网站提升用户互动体验。",
|
||||
"service": "deepseek",
|
||||
"page_title": "添加在线聊天",
|
||||
"timestamp": "2025-06-03T17:49:39.839561",
|
||||
"language": "zh"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "MIT许可证授予用户自由使用、修改、分发软件的广泛权利,仅要求保留版权声明和许可条款。该许可证明确声明软件不提供任何担保,作者不对使用后果承担责任。作为宽松开源协议,MIT许可适用于希望最大限度允许代码重用和分发的场景,是开发者常用的标准化授权方式之一。",
|
||||
"service": "deepseek",
|
||||
"page_title": "许可声明",
|
||||
"timestamp": "2025-06-03T17:46:59.367221",
|
||||
"language": "zh"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "本文总结了MkDocs文档系统中相对地址引用的常见问题与解决方案,重点分析了图片、PDF、跨页面及静态资源的正确引用方式。核心要点包括:以docs目录为根路径进行相对定位,路径需严格区分大小写,推荐统一资源目录结构以确保本地与线上环境一致性。同时指出了路径错误、大小写不一致等典型问题的排查方法,为MkDocs项目资源管理提供了实用指导。",
|
||||
"service": "deepseek",
|
||||
"page_title": "相对地址的一些问题",
|
||||
"timestamp": "2025-06-03T17:48:27.261980",
|
||||
"language": "zh"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "唐·诺曼提出的情感设计三层次理论包括本能层、行为层和反思层。本能层关注产品外观引发的即时情感反应;行为层强调使用过程中的功能性和效率;反思层涉及用户对产品的理性分析和自我认同。这三个层次相互影响,共同塑造用户对产品的整体体验。该理论为设计提供了系统框架,帮助平衡美学、功能与情感需求,广泛应用于产品开发和用户体验优化。",
|
||||
"service": "deepseek",
|
||||
"page_title": "唐·诺曼—情感设计的三个层次",
|
||||
"timestamp": "2025-06-03T17:50:31.324103",
|
||||
"language": "zh"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "本次网站更新主要围绕性能优化和功能修复展开,持续进行\"流畅度优化\"工作,包括提升加载速度、重写部分代码。重点修复了Markdown解析异常、评论区重定位等核心问题,改进了友链统计和留言板功能。同时保持教程内容与官方版本同步更新,并清理了失效资源链接。更新体现了对用户体验和技术稳定性的持续改进。",
|
||||
"service": "deepseek",
|
||||
"page_title": "2025网站更新记录",
|
||||
"timestamp": "2025-06-03T17:48:10.707128",
|
||||
"language": "zh"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "本文介绍了开源中文字体霞鹜文楷(LXGW WenKai)的技术特点与应用场景。该字体基于日本FONTWORKS公司的Klee One衍生而来,包含简繁日韩多语言支持,提供屏幕阅读版、轻便版等多个版本。文章详细说明了字体的开发背景、补字计划以及获取方式,特别强调了其开源特性与跨平台适用性,适合网页设计、移动端显示等场景。同时提供了字体使用注意事项和版本更新渠道。",
|
||||
"service": "deepseek",
|
||||
"page_title": "修改网站字体",
|
||||
"timestamp": "2025-06-03T17:49:15.570155",
|
||||
"language": "zh"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "该技术文档介绍了三种网页背景特效的实现方法:雪花、樱花和粒子效果。核心是通过JavaScript动态加载特效脚本,并利用LocalStorage控制特效的显示状态。代码示例展示了如何通过创建script元素并设置src属性来引入外部特效脚本,适用于需要动态美化网页界面的场景。",
|
||||
"service": "deepseek",
|
||||
"page_title": "背景特效",
|
||||
"timestamp": "2025-06-03T17:48:44.779996",
|
||||
"language": "zh"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "本文介绍如何在文档项目中添加顶部公告栏,通过修改`docs/overrides/main.html`文件实现自定义公告内容。操作步骤包括创建指定目录结构,编辑HTML文件进行个性化配置。该方法适用于需要突出显示重要通知的技术文档网站,具有修改灵活、部署简单的特点,无需改动核心代码即可实现公告功能。",
|
||||
"service": "deepseek",
|
||||
"page_title": "添加顶部公告栏",
|
||||
"timestamp": "2025-06-03T17:48:58.818728",
|
||||
"language": "zh"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "本文介绍了使用MkDocs构建网站时的性能优化方案,包括采用WebP等现代图片格式压缩资源、通过CDN分发静态文件以降低延迟,以及合理配置git插件来加速本地渲染。重点提出了开发/生产环境差异化配置策略,并推荐使用Lighthouse工具进行性能测试验证。这些措施能有效提升网站加载速度和用户体验。",
|
||||
"service": "deepseek",
|
||||
"page_title": "加速网站访问的一些心得",
|
||||
"timestamp": "2025-06-03T17:48:37.346674",
|
||||
"language": "zh"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "Markdown是一种轻量级标记语言,支持易读易写的纯文本格式,可转换为HTML/PDF等多种格式。本文介绍了其核心语法:标题分级、文本样式(斜体/粗体/高亮)、列表(有序/无序/任务列表)、表格、超链接、图片/视频插入、代码块及特殊字符转义。同时推荐了各平台常用编辑工具(如MacDown、StackEdit等)和学习资源,适用于快速创建结构化文档。",
|
||||
"service": "deepseek",
|
||||
"page_title": "Markdown指南",
|
||||
"timestamp": "2025-06-03T17:50:23.689041",
|
||||
"language": "zh"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "该文介绍了通过JavaScript和CSS自定义网页鼠标样式的实现方法,重点说明了关键参数设置,包括鼠标尺寸、颜色(支持RGB值和颜色名称)以及跟随圆形的颜色调整。提供了具体的代码示例,并提示需在mkdocs.yml中引入相关文件。适用于需要个性化鼠标交互效果的网页开发场景。",
|
||||
"service": "deepseek",
|
||||
"page_title": "JS实现鼠标样式",
|
||||
"timestamp": "2025-06-03T17:49:25.603096",
|
||||
"language": "zh"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "本文阐述了设计领域的核心原则与实践要点。强调简洁性、视觉美感和用户体验是优秀设计的三大支柱,提出通过精简元素、优化交互流程和注重细节来提升产品质感。同时指出创新思维和情感共鸣对设计的重要性,主张融合故事性与品牌价值来创造差异化体验。全文系统性地总结了从功能实现到情感连接的多维度设计方法论。",
|
||||
"service": "deepseek",
|
||||
"page_title": "我对设计的一些观点",
|
||||
"timestamp": "2025-06-03T17:50:38.719582",
|
||||
"language": "zh"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"summary": "Lighthouse是谷歌开发的网站性能测试工具,可评估页面加载速度、可访问性等关键指标。通过浏览器开发者工具(F12)即可快速运行测试,支持Chrome和Edge。该工具能精准定位性能瓶颈,帮助开发者优化网页体验,适用于各类网站的自动化性能检测与改进。测试结果直观展示各项评分,便于针对性提升。",
|
||||
"service": "deepseek",
|
||||
"page_title": "利用Lighthouse测试网站性能",
|
||||
"timestamp": "2025-06-03T17:50:04.498244",
|
||||
"language": "zh"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
{
|
||||
"default_service": "deepseek",
|
||||
"available_services": [
|
||||
"deepseek",
|
||||
"openai"
|
||||
],
|
||||
"summary_language": "zh",
|
||||
"check_time": "2025-06-03T17:46:51.323311"
|
||||
}
|
@ -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">¶</a></h1>
|
||||
<!-- <center><font color= #518FC1 size=6>“循此苦旅,以达星辰”</font></center> -->
|
||||
<center><font color= #518FC1 size=6 class="ml3">“循此苦旅 以達星辰”</font></center>
|
||||
|
@ -2519,11 +2519,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2022年网站建设过程包括:10月建立Github仓库并正式建站,取消cookie确认简化访问流程,新增首页反馈功能;6月确定采用MKdocs框架搭建,并全款购入独立域名。更新重点优化了用户体验和隐私保护,同时完善了技术基础设施。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>
|
||||
<p>2022年网站建设过程包括:10月建立Github仓库并正式建站,取消cookie确认简化访问流程,新增首页反馈功能;6月确定采用MKdocs框架搭建,10月完成独立域名wcowin.work的注册。主要优化了用户体验和隐私保护,技术方案选择轻量级文档框架。</p>
|
||||
</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">¶</a></h2>
|
||||
<ul>
|
||||
|
@ -2609,11 +2609,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2023年网站更新主要涉及性能优化、功能增强和用户体验改进。关键更新包括:引入AI问答机器人(每月25条限制)、新增多语言支持(含台湾语言)、优化移动端适配、修复图片显示和LaTeX渲染等重大Bug。技术改进涵盖图片懒加载、Mkdocs主题定制、搜索功能集成及页面渲染速度提升。同时新增了留言板、友链等互动模块,持续优化网站流畅度和视觉设计。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>
|
||||
<p>2023年网站主要更新包括:引入AI问答机器人(25条/月限制)、多语言支持(含台湾地区)、国内镜像站点和Mkdocs-Wcowin主题。技术优化涉及图片懒加载、移动端适配、LaTeX渲染修复及网页流畅度提升。新增功能有留言板(集成giscus)、友链模块和博客板块,同时改进了搜索功能与界面设计。全年持续进行性能优化和用户体验改进。</p>
|
||||
</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">¶</a></h2>
|
||||
<ul>
|
||||
|
@ -2699,11 +2699,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2024年网站持续优化,重点提升流畅度和访问速度,包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及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>
|
||||
<p>2024年网站持续优化,重点提升流畅度和访问速度,包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及JS/CSS代码精简、MKdocs主题更新、图片迁移至SMMS平台,并引入自动新标签页打开功能。网站被百度/谷歌收录,友链扩展至16个,同时完善了文档版本管理插件。</p>
|
||||
</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">¶</a></h2>
|
||||
<ul>
|
||||
|
@ -2616,11 +2616,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>本次网站更新主要围绕性能优化和功能修复展开,持续进行"流畅度优化"工作,包括提升加载速度、重写部分代码。重点修复了Markdown解析异常、评论区重定位等核心问题,改进了友链统计和留言板功能。同时保持教程内容与官方版本同步更新,并清理了失效资源链接。更新体现了对用户体验和技术稳定性的持续改进。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>
|
||||
<p>本次网站更新主要围绕性能优化和功能完善展开,包括持续优化网站流畅度、修复Markdown解析异常、改进友链统计准确性等核心改进。技术层面涉及代码重构、插件调整(如取消glightbox)及界面交互优化(留言板按钮切换)。同时更新了教程内容以适配官方最新版本,并解决了图片显示、评论区定位等具体问题。更新记录显示开发者兼顾性能提升与用户体验改善的双重目标。</p>
|
||||
</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">¶</a></h2>
|
||||
<ul>
|
||||
|
@ -2403,11 +2403,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>MIT许可证授予用户自由使用、修改、分发软件的广泛权利,仅要求保留版权声明和许可条款。该许可证明确声明软件不提供任何担保,作者不对使用后果承担责任。作为宽松开源协议,MIT许可适用于希望最大限度允许代码重用和分发的场景,是开发者常用的标准化授权方式之一。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>252</strong></p>
|
||||
<p>MIT许可证授予用户自由使用、修改、分发软件的广泛权利,仅要求保留版权声明和许可条款。该许可证明确声明软件不提供任何担保,作者不对使用后果承担责任。作为宽松开源协议,MIT许可证允许商业用途和二次开发,适用于希望最大限度开放代码的开发者。</p>
|
||||
</div>
|
||||
<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>
|
||||
|
@ -2524,11 +2524,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>本文详细介绍了使用MkDocs框架部署静态网页到GitHub Pages的完整流程。重点包括:通过GitHub Desktop管理仓库、配置mkdocs.yml基础文件、设置GitHub Workflow自动化部署流程,以及最终发布网站的关键步骤。教程采用Material for MkDocs主题,特别强调了目录结构管理和GitHub Pages的发布设置要点,适合需要快速搭建技术文档网站的开发人员。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>485</strong> | 有效代码行数:<strong>73</strong></p>
|
||||
<p>本文详细介绍了使用MkDocs框架部署静态网页到GitHub Pages的完整流程。重点讲解了从创建GitHub仓库、本地环境配置、MkDocs初始化到最终部署的关键步骤,包括目录结构调整、workflow配置和页面发布设置。教程采用Material for MkDocs主题,提供了基础yml配置示例,并强调通过GitHub Desktop实现代码同步。该方法适合快速搭建技术文档网站或个人博客,具备版本控制优势。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Info</p>
|
||||
|
@ -2806,11 +2806,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>本文详细介绍了Mkdocs配置文件mkdocs.yml的核心配置项,包括站点基本信息设置、主题配色方案(支持明暗模式切换)、导航功能优化(如目录展开、返回顶部按钮)以及搜索增强功能。重点讲解了标签系统实现方法、Markdown扩展配置,并提供了自定义CSS/JS的路径引入方式。配置支持中文界面,可通过修改palette参数调整主题色,适合需要快速搭建文档网站的技术人员参考。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>2</strong> 分钟 | 中文字符:<strong>818</strong> | 有效代码行数:<strong>555</strong></p>
|
||||
<p>本文详细介绍了Mkdocs配置文件mkdocs.yml的核心配置项,包括站点基本信息、主题配色方案、导航功能设置和搜索优化等。重点讲解了如何通过palette配置实现明暗模式切换,以及通过features启用目录跟踪、标签页、代码复制等实用功能。此外还涉及多语言支持、图标自定义、标签系统实现方法,并提供了扩展Markdown语法和添加自定义CSS/JS的配置指导。该配置文件可帮助用户快速搭建功能完善、界面美观的文档网站。</p>
|
||||
</div>
|
||||
<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>
|
||||
|
@ -2409,7 +2409,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>在GitHub Pages部署mkdocs时,自定义域名失效的主要原因是本地项目未同步远程仓库的CNAME文件。解决方法是在/docs目录下创建无后缀的CNAME文件并填入域名,确保该文件随项目推送至仓库。此操作可避免因未拉取远程变更导致的域名配置被清除问题,适用于需要长期维护自定义域名的静态站点部署场景。</p>
|
||||
<p>在GitHub Pages部署mkdocs时,自定义域名失效的原因是本地缺少CNAME文件导致推送后被清除。解决方法是在/docs目录下创建无后缀的CNAME文件并填入域名,确保每次推送后配置信息得以保留。该方案有效解决了因文件缺失导致的域名绑定失效问题。</p>
|
||||
</div>
|
||||
<p>在/docs目录下创建一个 CNAME 的 无后缀 文件,然后在里面填入你的域名<br />
|
||||
<img alt="" src="https://s1.imagehub.cc/images/2024/02/02/d23082e5d3ebb839dba8b589a1cb5b7c.png" /></p>
|
||||
|
@ -2409,11 +2409,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>Mkdocs内置博客插件可快速搭建技术博客,只需在mkdocs.yml中添加简单配置即可启用。支持通过docs/blog/.authors.yml文件管理作者信息,无需额外创建文件。该插件简化了技术文档与博客的集成流程,适合开发者快速构建内容发布平台,同时保持与Mkdocs文档系统的无缝衔接。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>114</strong> | 有效代码行数:<strong>19</strong></p>
|
||||
<p>Mkdocs内置博客插件可快速搭建技术博客,只需在mkdocs.yml中添加简单配置即可启用。支持通过docs/blog/.authors.yml文件管理作者信息,无需额外创建文件。该方案适合文档站点集成博客功能,具有配置简单、维护便捷的特点,适用于技术团队分享文章或项目动态。</p>
|
||||
</div>
|
||||
<p>博客效果展示:<a href="../../">博客</a> </p>
|
||||
<p>官方文档:<a href="https://squidfunk.github.io/mkdocs-material/plugins/blog/">Built-in blog plugin</a></p>
|
||||
|
@ -2542,11 +2542,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</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>
|
||||
<p>本文介绍了MkDocs文档工具的学习资源和使用指南,包括官方教程、Material主题、插件列表以及作者提供的中文教程(语雀、CSDN、知乎)。内容涵盖快速部署静态网页到GitHub Pages、配置mkdocs.yml文件以及添加博客功能,并附有视频教程。最后请求使用者注明教程来源并支持友链申请。</p>
|
||||
</div>
|
||||
<h2 id="_1">文档教程<a class="headerlink" href="#_1" title="Permanent link">¶</a></h2>
|
||||
<div class="grid cards">
|
||||
|
@ -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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2022年网站建设过程包括:10月建立Github仓库并正式建站,取消cookie确认简化访问流程,新增首页反馈功能;6月确定采用MKdocs框架搭建,并全款购入独立域名。更新重点优化了用户体验和隐私保护,同时完善了技术基础设施。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>
|
||||
<p>2022年网站建设过程包括:10月建立Github仓库并正式建站,取消cookie确认简化访问流程,新增首页反馈功能;6月确定采用MKdocs框架搭建,10月完成独立域名wcowin.work的注册。主要优化了用户体验和隐私保护,技术方案选择轻量级文档框架。</p>
|
||||
</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>
|
||||
<ul>
|
||||
|
@ -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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2023年网站更新主要涉及性能优化、功能增强和用户体验改进。关键更新包括:引入AI问答机器人(每月25条限制)、新增多语言支持(含台湾语言)、优化移动端适配、修复图片显示和LaTeX渲染等重大Bug。技术改进涵盖图片懒加载、Mkdocs主题定制、搜索功能集成及页面渲染速度提升。同时新增了留言板、友链等互动模块,持续优化网站流畅度和视觉设计。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>
|
||||
<p>2023年网站主要更新包括:引入AI问答机器人(25条/月限制)、多语言支持(含台湾地区)、国内镜像站点和Mkdocs-Wcowin主题。技术优化涉及图片懒加载、移动端适配、LaTeX渲染修复及网页流畅度提升。新增功能有留言板(集成giscus)、友链模块和博客板块,同时改进了搜索功能与界面设计。全年持续进行性能优化和用户体验改进。</p>
|
||||
</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>
|
||||
<ul>
|
||||
|
@ -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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2024年网站持续优化,重点提升流畅度和访问速度,包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及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>
|
||||
<p>2024年网站持续优化,重点提升流畅度和访问速度,包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及JS/CSS代码精简、MKdocs主题更新、图片迁移至SMMS平台,并引入自动新标签页打开功能。网站被百度/谷歌收录,友链扩展至16个,同时完善了文档版本管理插件。</p>
|
||||
</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>
|
||||
<ul>
|
||||
|
@ -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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>本次网站更新主要围绕性能优化和功能修复展开,持续进行"流畅度优化"工作,包括提升加载速度、重写部分代码。重点修复了Markdown解析异常、评论区重定位等核心问题,改进了友链统计和留言板功能。同时保持教程内容与官方版本同步更新,并清理了失效资源链接。更新体现了对用户体验和技术稳定性的持续改进。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>
|
||||
<p>本次网站更新主要围绕性能优化和功能完善展开,包括持续优化网站流畅度、修复Markdown解析异常、改进友链统计准确性等核心改进。技术层面涉及代码重构、插件调整(如取消glightbox)及界面交互优化(留言板按钮切换)。同时更新了教程内容以适配官方最新版本,并解决了图片显示、评论区定位等具体问题。更新记录显示开发者兼顾性能提升与用户体验改善的双重目标。</p>
|
||||
</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>
|
||||
<ul>
|
||||
|
@ -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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>本次网站更新主要围绕性能优化和功能修复展开,持续进行"流畅度优化"工作,包括提升加载速度、重写部分代码。重点修复了Markdown解析异常、评论区重定位等核心问题,改进了友链统计和留言板功能。同时保持教程内容与官方版本同步更新,并清理了失效资源链接。更新体现了对用户体验和技术稳定性的持续改进。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>
|
||||
<p>本次网站更新主要围绕性能优化和功能完善展开,包括持续优化网站流畅度、修复Markdown解析异常、改进友链统计准确性等核心改进。技术层面涉及代码重构、插件调整(如取消glightbox)及界面交互优化(留言板按钮切换)。同时更新了教程内容以适配官方最新版本,并解决了图片显示、评论区定位等具体问题。更新记录显示开发者兼顾性能提升与用户体验改善的双重目标。</p>
|
||||
</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>
|
||||
<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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2024年网站持续优化,重点提升流畅度和访问速度,包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及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>
|
||||
<p>2024年网站持续优化,重点提升流畅度和访问速度,包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及JS/CSS代码精简、MKdocs主题更新、图片迁移至SMMS平台,并引入自动新标签页打开功能。网站被百度/谷歌收录,友链扩展至16个,同时完善了文档版本管理插件。</p>
|
||||
</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>
|
||||
<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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2023年网站更新主要涉及性能优化、功能增强和用户体验改进。关键更新包括:引入AI问答机器人(每月25条限制)、新增多语言支持(含台湾语言)、优化移动端适配、修复图片显示和LaTeX渲染等重大Bug。技术改进涵盖图片懒加载、Mkdocs主题定制、搜索功能集成及页面渲染速度提升。同时新增了留言板、友链等互动模块,持续优化网站流畅度和视觉设计。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>
|
||||
<p>2023年网站主要更新包括:引入AI问答机器人(25条/月限制)、多语言支持(含台湾地区)、国内镜像站点和Mkdocs-Wcowin主题。技术优化涉及图片懒加载、移动端适配、LaTeX渲染修复及网页流畅度提升。新增功能有留言板(集成giscus)、友链模块和博客板块,同时改进了搜索功能与界面设计。全年持续进行性能优化和用户体验改进。</p>
|
||||
</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>
|
||||
<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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2022年网站建设过程包括:10月建立Github仓库并正式建站,取消cookie确认简化访问流程,新增首页反馈功能;6月确定采用MKdocs框架搭建,并全款购入独立域名。更新重点优化了用户体验和隐私保护,同时完善了技术基础设施。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>
|
||||
<p>2022年网站建设过程包括:10月建立Github仓库并正式建站,取消cookie确认简化访问流程,新增首页反馈功能;6月确定采用MKdocs框架搭建,10月完成独立域名wcowin.work的注册。主要优化了用户体验和隐私保护,技术方案选择轻量级文档框架。</p>
|
||||
</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>
|
||||
<ul>
|
||||
|
@ -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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>本次网站更新主要围绕性能优化和功能修复展开,持续进行"流畅度优化"工作,包括提升加载速度、重写部分代码。重点修复了Markdown解析异常、评论区重定位等核心问题,改进了友链统计和留言板功能。同时保持教程内容与官方版本同步更新,并清理了失效资源链接。更新体现了对用户体验和技术稳定性的持续改进。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>349</strong></p>
|
||||
<p>本次网站更新主要围绕性能优化和功能完善展开,包括持续优化网站流畅度、修复Markdown解析异常、改进友链统计准确性等核心改进。技术层面涉及代码重构、插件调整(如取消glightbox)及界面交互优化(留言板按钮切换)。同时更新了教程内容以适配官方最新版本,并解决了图片显示、评论区定位等具体问题。更新记录显示开发者兼顾性能提升与用户体验改善的双重目标。</p>
|
||||
</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>
|
||||
<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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2024年网站持续优化,重点提升流畅度和访问速度,包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及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>
|
||||
<p>2024年网站持续优化,重点提升流畅度和访问速度,包括启用CDN加速、删除冗余代码、优化UI显示效果。技术改进涉及JS/CSS代码精简、MKdocs主题更新、图片迁移至SMMS平台,并引入自动新标签页打开功能。网站被百度/谷歌收录,友链扩展至16个,同时完善了文档版本管理插件。</p>
|
||||
</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>
|
||||
<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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2023年网站更新主要涉及性能优化、功能增强和用户体验改进。关键更新包括:引入AI问答机器人(每月25条限制)、新增多语言支持(含台湾语言)、优化移动端适配、修复图片显示和LaTeX渲染等重大Bug。技术改进涵盖图片懒加载、Mkdocs主题定制、搜索功能集成及页面渲染速度提升。同时新增了留言板、友链等互动模块,持续优化网站流畅度和视觉设计。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>392</strong></p>
|
||||
<p>2023年网站主要更新包括:引入AI问答机器人(25条/月限制)、多语言支持(含台湾地区)、国内镜像站点和Mkdocs-Wcowin主题。技术优化涉及图片懒加载、移动端适配、LaTeX渲染修复及网页流畅度提升。新增功能有留言板(集成giscus)、友链模块和博客板块,同时改进了搜索功能与界面设计。全年持续进行性能优化和用户体验改进。</p>
|
||||
</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>
|
||||
<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>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>2022年网站建设过程包括:10月建立Github仓库并正式建站,取消cookie确认简化访问流程,新增首页反馈功能;6月确定采用MKdocs框架搭建,并全款购入独立域名。更新重点优化了用户体验和隐私保护,同时完善了技术基础设施。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>64</strong></p>
|
||||
<p>2022年网站建设过程包括:10月建立Github仓库并正式建站,取消cookie确认简化访问流程,新增首页反馈功能;6月确定采用MKdocs框架搭建,10月完成独立域名wcowin.work的注册。主要优化了用户体验和隐私保护,技术方案选择轻量级文档框架。</p>
|
||||
</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>
|
||||
<ul>
|
||||
|
@ -2486,10 +2486,6 @@
|
||||
|
||||
<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>首先在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>
|
||||
|
@ -3111,14 +3111,11 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>该项目为MkDocs文档系统提供AI驱动的智能摘要和阅读统计功能,支持OpenAI、DeepSeek等多API服务。核心特性包括自动生成80-120字多语言摘要、智能内容清理、缓存优化及精准阅读时间估算。通过hooks机制实现灵活配置,支持文件夹和页面级控制,并采用LRU缓存提升性能。安装简便,适合技术文档和博客,能有效提升文档可读性和用户体验。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>2</strong> 分钟 | 中文字符:<strong>912</strong> | 有效代码行数:<strong>134</strong></p>
|
||||
<p>该插件为MkDocs文档系统提供AI驱动的智能摘要和阅读统计功能,支持OpenAI、DeepSeek等多API服务。核心特性包括自动生成80-120字多语言摘要、智能内容清理、高效缓存系统,以及精准的中文阅读时间估算。通过灵活的配置选项,用户可实现文件夹或页面级别的精确控制,并自定义API服务和提示词。安装简便,支持直接下载或Git克隆,适合技术文档和博客的自动化摘要需求。</p>
|
||||
</div>
|
||||
<h1 id="mkdocs-ai-hooks">MkDocs AI Hooks<a class="headerlink" href="#mkdocs-ai-hooks" title="Permanent link">¶</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">
|
||||
<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">
|
||||
@ -3691,7 +3688,7 @@ https://github.com/Wcowin/mkdocs-ai-hooks/releases </p>
|
||||
<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>
|
||||
</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>
|
||||
|
||||
|
||||
|
@ -2564,11 +2564,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</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>
|
||||
<p>本文总结了MkDocs文档系统中相对地址引用的常见问题与解决方案,重点阐述了图片、PDF、跨页面及静态资源的正确引用方式。核心要点包括:以docs目录为根路径进行相对定位,保持路径大小写一致,统一资源目录结构。针对本地与线上环境差异,提供了确保资源可访问性的实用技巧,如路径检查、文件压缩等,为MkDocs项目的资源管理提供了系统化指导。</p>
|
||||
</div>
|
||||
<h1 id="mkdocs">针对MKdocs中相对地址引用的一些问题<a class="headerlink" href="#mkdocs" title="Permanent link">¶</a></h1>
|
||||
<p>在使用 MkDocs 构建文档网站时,常常会遇到相对地址引用的问题,尤其是在图片、PDF、其他静态资源等的引用上。合理使用相对地址可以让你的文档在本地预览和线上部署时都能正常显示。下面总结一些常见场景和注意事项:</p>
|
||||
|
@ -2510,11 +2510,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</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>
|
||||
<p>本文介绍了使用MkDocs构建网站时的性能优化方案,包括采用WebP等高效图片格式压缩资源、利用CDN加速静态文件分发,以及通过合理配置git插件提升本地渲染效率。重点阐述了开发环境与生产环境的差异化配置策略,并推荐使用Lighthouse工具进行性能测试验证优化效果。这些措施能有效降低页面加载延迟,提升用户体验。</p>
|
||||
</div>
|
||||
<h1 id="_1">加速网站访问的一些心得<a class="headerlink" href="#_1" title="Permanent link">¶</a></h1>
|
||||
<p>在使用 MkDocs 构建网站时,为了提高访问速度,我们可以采取以下一些措施:</p>
|
||||
|
@ -2524,7 +2524,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>该技术文档介绍了三种网页背景特效的实现方法:雪花、樱花和粒子效果。核心是通过JavaScript动态加载特效脚本,并利用LocalStorage控制特效的显示状态。代码示例展示了如何通过创建script元素并设置src属性来引入外部特效脚本,适用于需要动态美化网页界面的场景。</p>
|
||||
<p>该技术文档介绍了三种网页背景特效的实现方法:雪花、樱花和粒子效果。核心是通过JavaScript动态加载特效脚本,并利用LocalStorage存储用户偏好设置来控制特效显示。代码示例展示了如何通过DOM操作插入外部脚本,实现可配置的动态背景效果,适用于增强网页视觉体验。</p>
|
||||
</div>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
|
@ -2488,11 +2488,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>MkDocs允许通过自定义HTML文件实现页脚个性化配置。用户需在docs/overrides/partials/目录下创建或修改footer.html文件,插入特定代码片段即可完成设置。该功能适用于需要定制网站底部信息的场景,操作简单且无需修改核心配置文件。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>60</strong> | 有效代码行数:<strong>89</strong></p>
|
||||
<p>MkDocs允许通过自定义HTML文件实现页脚个性化配置。用户需在docs/overrides/partials目录下创建或修改footer.html文件,插入特定代码片段即可完成页脚定制。该功能适用于需要品牌展示、版权声明或导航链接等场景,通过覆盖默认模板实现灵活布局。操作仅需基础HTML知识,无需编译过程。</p>
|
||||
</div>
|
||||
<h2 id="_1">页脚设置<a class="headerlink" href="#_1" title="Permanent link">¶</a></h2>
|
||||
<p>MkDocs 支持自定义页脚。</p>
|
||||
|
@ -2409,7 +2409,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<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>
|
||||
<p><img alt="image.png" src="https://s2.loli.net/2024/02/02/mvCEgeP4lANuXI8.png" /></p>
|
||||
<p>docs/overrides下新建main.html ,针对main.html文件 <br />
|
||||
|
@ -2542,11 +2542,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>giscus是一款基于GitHub Discussions的开源评论系统,无需数据库且完全免费。它支持多语言、自定义主题和高可配置性,数据自动同步GitHub Discussions。相比传统方案,giscus无需维护服务器,适合技术博客和文档网站。通过简单配置即可集成到MkDocs等静态网站,提供无跟踪、无广告的轻量级评论功能。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>389</strong> | 有效代码行数:<strong>116</strong></p>
|
||||
<p>giscus是一款基于GitHub Discussions的开源评论系统,无需数据库且完全免费。它支持多语言、自定义主题和高可配置性,数据自动同步GitHub Discussions。相比传统方案,giscus无需维护服务器,无跟踪和广告,适合技术博客和文档网站集成。通过简单配置即可实现评论功能,同时保留自建服务的灵活性。</p>
|
||||
</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://giscus.app/zh-CN">giscus</a></p>
|
||||
|
@ -2726,11 +2726,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>本文介绍了开源中文字体霞鹜文楷(LXGW WenKai)的技术特点与应用场景。该字体基于日本FONTWORKS公司的Klee One衍生而来,包含简繁日韩多语言支持,提供屏幕阅读版、轻便版等多个版本。文章详细说明了字体的开发背景、补字计划以及获取方式,特别强调了其开源特性与跨平台适用性,适合网页设计、移动端显示等场景。同时提供了字体使用注意事项和版本更新渠道。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>6</strong> 分钟 | 中文字符:<strong>2328</strong> | 有效代码行数:<strong>21</strong></p>
|
||||
<p>本文介绍了开源中文字体"霞鹜文楷"的技术特点与应用。该字体基于日本FONTWORKS公司的Klee One衍生开发,包含多个版本(屏幕阅读版、轻便版、GB/TC版等),支持简繁中文及谚文。文章详细说明了字体的开发背景、补字计划、获取方式及使用注意事项,特别强调了其开源特性(SIL授权)和针对不同场景的优化设计,适合网站嵌入和移动设备显示。</p>
|
||||
</div>
|
||||
<p>我目前在用的字体:<a href="https://github.com/lxgw/LxgwWenKai" target="_blank">霞鹜文楷</a><br />
|
||||
想必你可以直观从我的网站感受到,<a href="https://chawyehsu.github.io/lxgw-wenkai-webfont/">这款字体</a>的美观程度。 </p>
|
||||
|
@ -2409,11 +2409,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</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>
|
||||
<p>该文介绍了通过JavaScript和CSS自定义网页鼠标样式的实现方法,重点说明了关键参数配置,包括鼠标尺寸、颜色(支持RGB值和颜色名称)以及圆形跟随效果。提供了具体的代码示例和配置路径,并强调需在mkdocs.yml中引入相关文件。适用于需要个性化鼠标交互效果的网页开发场景。</p>
|
||||
</div>
|
||||
<p>不建议更改,因为默认就是最简洁</p>
|
||||
<!--  -->
|
||||
|
@ -2506,11 +2506,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</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>
|
||||
<p>该技术方案通过git-revision-date-localized插件为MKdocs文档系统添加文章修订时间戳功能。核心实现包括在CI工作流中配置智能渲染策略,既避免了本地渲染时全量检查git历史导致的性能损耗,又能确保发布时准确显示最后更新时间。该方法显著提升了文档系统的维护性和用户体验,特别适合需要展示内容时效性的技术文档场景。</p>
|
||||
</div>
|
||||
<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>
|
||||
|
@ -2506,11 +2506,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</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>
|
||||
<p>Tidio提供免费、无需梯子的在线聊天解决方案,适用于网站集成。用户只需注册账号,从设置中获取专属JavaScript代码,将其嵌入网站指定位置即可完成部署。该工具安装简便,仅需单行代码即可实现实时聊天功能,适合快速为网站添加客服系统。</p>
|
||||
</div>
|
||||
<p>以<a href="https://www.tidio.com/">Tidio</a>为例,Tidio免费版已经完全够用且无需梯子</p>
|
||||
<h2 id="tidio">访问Tidio官网<a class="headerlink" href="#tidio" title="Permanent link">¶</a></h2>
|
||||
|
@ -2560,11 +2560,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>本文介绍了网页圆角化设计的实现方法,重点讲解通过CSS样式实现图片和边框的圆角效果。具体包括在mkdocs.yml中引入CSS文件、使用border-radius属性设置圆角参数,以及通过grid cards和按钮组件的圆角化应用示例。这些技术可提升网页视觉美感,适用于文档网站和UI组件的美化设计。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>66</strong> | 有效代码行数:<strong>213</strong></p>
|
||||
<p>本文介绍了网页圆角化设计的实现方法,重点讲解通过CSS样式文件实现图片和边框的圆角效果。具体包括在mkdocs.yml中引入CSS文件、编写圆角样式代码以及在Markdown文件中应用的方法,同时展示了按钮和卡片组件的圆角化实现示例。该技术可提升网页视觉美感,适用于文档网站和UI组件开发。</p>
|
||||
</div>
|
||||
<h2 id="_1">示例<a class="headerlink" href="#_1" title="Permanent link">¶</a></h2>
|
||||
<p><img alt="iShot_2024-04-26_12.17.20.png" src="https://s2.loli.net/2024/04/26/gvu7ASWfU8eKVOd.png" /><br />
|
||||
|
@ -2874,11 +2874,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>MWeb Pro是一款专为macOS设计的专业Markdown写作与笔记应用,支持GFM语法扩展(含表格、LaTeX、代码块等)及多种图表库(mermaid/PlantUML等)。提供高效的图文混排功能,支持拖拽插入图片与自定义宽度。支持导出多种格式(PDF/HTML/Epub等)及发布到主流博客平台,集成七牛云等图床服务。内置强大的文档管理功能,支持分类树、标签体系和快速搜索,适合知识管理与静态网站生成。原生优化界面,兼顾简洁性与高性能。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>3</strong> 分钟 | 中文字符:<strong>1009</strong> | 有效代码行数:<strong>64</strong></p>
|
||||
<p>MWeb Pro是一款专为macOS设计的专业Markdown写作与笔记应用,支持GFM语法扩展,包括表格、LaTeX、代码块及多种图表库。提供便捷的图片插入、表格编辑和文档导出功能,支持多种格式输出及主流博客平台发布。内置强大的笔记管理系统,支持分类树、标签管理和快速搜索,适合个人知识整理与静态网站生成。原生优化界面简洁高效,兼顾功能全面与易用性。</p>
|
||||
</div>
|
||||
<p><b>MWeb Pro </b>是一款适用于macOS的专业Markdown写作、笔记本应用软件。喜欢写博客的朋友,那你一定会需要 MWeb Pro 这款软件。为您提供最佳的写作体验。</p>
|
||||
<p>Markdown 语法支持:</p>
|
||||
|
@ -3088,11 +3088,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>Markdown是一种轻量级标记语言,支持易读易写的纯文本格式,可转换为HTML/PDF等多种格式。本文介绍了其核心语法:标题分级、文本样式(斜体/粗体/高亮)、列表(有序/无序/任务列表)、表格、超链接、图片/视频插入、代码块及特殊字符转义。同时推荐了各平台常用编辑工具(如MacDown、StackEdit等)和学习资源,适用于快速创建结构化文档。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>2</strong> 分钟 | 中文字符:<strong>662</strong> | 有效代码行数:<strong>61</strong></p>
|
||||
<p>Markdown是一种轻量级标记语言,支持纯文本编写并转换为多种格式(如HTML/PDF)。本文介绍了其核心语法:标题分级、文本样式(斜体/粗体)、列表(有序/无序)、表格、链接/图片插入、代码块及特殊字符处理。同时推荐了各平台常用编辑工具(如MacDown、Dillinger),适用于快速创建结构化文档。语法简洁易学,适合技术文档编写与日常笔记整理。</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">¶</a></h1>
|
||||
<blockquote>
|
||||
|
@ -2548,11 +2548,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>唐·诺曼提出的情感设计三层次理论包括本能层、行为层和反思层。本能层关注产品外观引发的即时情感反应;行为层强调使用过程中的功能性和效率;反思层涉及用户对产品的理性分析和自我认同。这三个层次相互影响,共同塑造用户对产品的整体体验。该理论为设计提供了系统框架,帮助平衡美学、功能与情感需求,广泛应用于产品开发和用户体验优化。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>5</strong> 分钟 | 中文字符:<strong>2163</strong></p>
|
||||
<p>唐·诺曼提出的情感设计三层次理论包括本能层、行为层和反思层。本能层关注产品外观引发的即时情感反应;行为层强调使用过程中的功能性和效率体验;反思层涉及用户对产品的理性认知和自我形象关联。这三个层次相互影响,共同塑造用户对产品的整体体验。该理论为设计实践提供了系统框架,解释了为何某些产品即使存在功能缺陷仍能获得市场成功。</p>
|
||||
</div>
|
||||
<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>
|
||||
|
@ -2418,11 +2418,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>本文阐述了设计领域的核心原则与实践要点。强调简洁性、视觉美感和用户体验是优秀设计的三大支柱,提出通过精简元素、优化交互流程和注重细节来提升产品质感。同时指出创新思维和情感共鸣对设计的重要性,主张融合故事性与品牌价值来创造差异化体验。全文系统性地总结了从功能实现到情感连接的多维度设计方法论。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>398</strong></p>
|
||||
<p>本文阐述了设计的核心原则与实践要点,强调简洁性、美感和用户体验的重要性。作者提出优秀设计应去除冗余元素,注重视觉平衡与细节把控,同时以用户需求为中心构建直观交互。创新思维和情感共鸣被列为关键要素,通过故事性设计传递品牌价值。全文突出了设计在功能性与艺术性之间的平衡,以及细节处理对产品质感的提升作用。</p>
|
||||
</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">¶</a></h1>
|
||||
<center>
|
||||
|
@ -2824,11 +2824,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>本文介绍了Git版本控制系统的核心操作与实用技巧,涵盖仓库创建、分支管理、冲突解决等基础功能,并重点讲解了stash暂存、rebase/merge策略选择、cherry-pick等高级用法。通过具体代码示例和操作图示,详细说明了如何高效处理代码提交、修改撤销、历史记录修改等常见开发场景,帮助开发者提升Git使用效率和工作流优化能力。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">📖 阅读信息</p>
|
||||
<p>阅读时间:<strong>1</strong> 分钟 | 中文字符:<strong>199</strong> | 有效代码行数:<strong>48</strong></p>
|
||||
<p>本文介绍了Git版本控制系统的核心操作与实用技巧,涵盖仓库创建、分支管理、冲突解决等基础功能,重点讲解了stash暂存、rebase/merge策略选择、cherry-pick等高效工作方法。通过具体代码示例和场景说明,帮助开发者掌握提交修改、撤销变更、生成补丁等关键操作,提升团队协作和代码管理效率。</p>
|
||||
</div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Info</p>
|
||||
|
@ -2411,7 +2411,7 @@
|
||||
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">💾 AI智能摘要 (DeepSeek)</p>
|
||||
<p>Lighthouse是谷歌开发的网站性能测试工具,可评估页面加载速度、可访问性等关键指标。通过浏览器开发者工具(F12)即可快速运行测试,支持Chrome和Edge。该工具能精准定位性能瓶颈,帮助开发者优化网页体验,适用于各类网站的自动化性能检测与改进。测试结果直观展示各项评分,便于针对性提升。</p>
|
||||
<p>Lighthouse是谷歌开发的网站性能测试工具,可评估页面加载速度、可访问性等关键指标。通过浏览器开发者工具(F12)即可快速启动测试,适用于各类网站的性能优化。该工具提供直观的评分和详细改进建议,帮助开发者定位性能瓶颈,提升用户体验。测试过程简单,无需额外安装,支持主流Chromium内核浏览器。</p>
|
||||
</div>
|
||||
<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">
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,3 +1,6 @@
|
||||
from dotenv import load_dotenv
|
||||
load_dotenv() # 自动加载 .env 文件
|
||||
|
||||
import re
|
||||
import json
|
||||
import hashlib
|
||||
@ -9,18 +12,33 @@ import shutil
|
||||
|
||||
class AISummaryGenerator:
|
||||
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)
|
||||
|
||||
# 🚀 CI 环境配置 - 默认只在 CI 环境中启用
|
||||
# AI摘要环境配置
|
||||
self.ci_config = {
|
||||
'enabled_in_ci': os.getenv('AI_SUMMARY_CI_ENABLED', 'true').lower() == 'true', # 默认 CI 中启用
|
||||
'enabled_in_local': os.getenv('AI_SUMMARY_LOCAL_ENABLED', 'false').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 中也允许生成新摘要
|
||||
'ci_fallback_enabled': os.getenv('AI_SUMMARY_CI_FALLBACK', 'true').lower() == 'true'
|
||||
# CI部署环境开关 (true=CI中启用AI摘要生成)
|
||||
'enabled_in_ci': os.getenv('AI_SUMMARY_CI_ENABLED', 'true').lower() == 'true',
|
||||
|
||||
# 本地部署环境开关 (true=本地开发时启用AI摘要)
|
||||
'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"
|
||||
|
||||
@ -47,17 +65,17 @@ class AISummaryGenerator:
|
||||
# 'max_tokens': 150,
|
||||
# 'temperature': 0.3
|
||||
# },
|
||||
# 'gemini': {
|
||||
# 'url': 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent',
|
||||
# 'model': 'gemini-pro',
|
||||
# 'api_key': os.getenv('GOOGLE_API_KEY', 'your-claude-api-key'),
|
||||
# 'max_tokens': 150,
|
||||
# 'temperature': 0.3
|
||||
# }
|
||||
'gemini': {
|
||||
'url': 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent',
|
||||
'model': 'gemini-pro',
|
||||
'api_key': os.getenv('GOOGLE_API_KEY', 'AIzaSyDwWgffCCyVFZVsRasX3B3arWFaCT1PzNI'),
|
||||
'max_tokens': 150,
|
||||
'temperature': 0.3
|
||||
}
|
||||
}
|
||||
|
||||
# 默认使用的AI服务
|
||||
self.default_service = 'deepseek' # 默认使用 DeepSeek
|
||||
self.default_service = 'deepseek'
|
||||
|
||||
# 服务优先级(按顺序尝试)
|
||||
self.service_fallback_order = ['openai', 'deepseek', 'claude', 'gemini']
|
||||
@ -66,44 +84,29 @@ class AISummaryGenerator:
|
||||
self.enabled_folders = [
|
||||
'blog/', # blog文件夹
|
||||
'develop/', # develop文件夹
|
||||
# 'posts/', # posts文件夹
|
||||
# 'trip/', # trip文件夹
|
||||
# 'about/', # about文件夹
|
||||
# 在这里添加您想要启用AI摘要的文件夹
|
||||
]
|
||||
|
||||
# 📋 Excluded files and folders
|
||||
# 📋 排除的文件和文件夹
|
||||
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 = [
|
||||
'blog/index.md',
|
||||
'blog/indexblog.md',
|
||||
'docs/index.md',
|
||||
'develop/index.md',
|
||||
]
|
||||
|
||||
# 🌍 语言配置/Language Configuration
|
||||
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()
|
||||
|
||||
@ -133,6 +136,10 @@ class AISummaryGenerator:
|
||||
|
||||
def _check_service_change(self):
|
||||
"""检查AI服务是否发生变更,如有变更则自动清理缓存"""
|
||||
# 如果禁用了缓存功能,跳过服务变更检查
|
||||
if not self.ci_config['cache_enabled']:
|
||||
return
|
||||
|
||||
current_config = {
|
||||
'default_service': self.default_service,
|
||||
'available_services': list(self.ai_services.keys()),
|
||||
@ -284,6 +291,10 @@ class AISummaryGenerator:
|
||||
|
||||
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"
|
||||
if cache_file.exists():
|
||||
try:
|
||||
@ -299,6 +310,10 @@ class AISummaryGenerator:
|
||||
|
||||
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"
|
||||
try:
|
||||
summary_data['timestamp'] = datetime.now().isoformat()
|
||||
@ -573,7 +588,7 @@ Please generate bilingual summary:"""
|
||||
|
||||
# 如果在 CI 环境中且配置为只使用缓存
|
||||
if is_ci and self.ci_config['ci_only_cache']:
|
||||
print(f"📦 CI 环境仅使用缓存模式")
|
||||
print(f"📦 CI 环 environment仅使用缓存模式")
|
||||
return None, 'ci_cache_only'
|
||||
|
||||
# 按优先级尝试不同服务
|
||||
@ -672,118 +687,33 @@ Please generate bilingual summary:"""
|
||||
|
||||
def _generate_chinese_fallback(self, page_title=""):
|
||||
"""生成中文备用摘要"""
|
||||
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 '本文分享了开发经验和技术实践,提供了实用的代码示例和解决方案。'
|
||||
if page_title:
|
||||
# 根据标题生成通用摘要
|
||||
if any(keyword in page_title for keyword in ['教程', '指南', '配置', '安装']):
|
||||
return f"本文介绍了{page_title}的相关内容,包括具体的操作步骤和注意事项,为读者提供实用的技术指导。"
|
||||
elif any(keyword in page_title for keyword in ['分析', '研究', '探讨', '原理']):
|
||||
return f"本文深入分析了{page_title}的核心概念和技术原理,为读者提供详细的理论解析和实践见解。"
|
||||
elif any(keyword in page_title for keyword in ['开发', '构建', '实现', '设计']):
|
||||
return f"本文详细讲解了{page_title}的开发过程和实现方法,分享了实际的开发经验和技术方案。"
|
||||
else:
|
||||
return '本文深入探讨了相关技术内容,提供了实用的方法和解决方案。'
|
||||
return f"本文围绕{page_title}展开讨论,介绍了相关的技术概念、应用场景和实践方法。"
|
||||
else:
|
||||
return "本文介绍了相关的技术概念和实践方法,为读者提供有价值的参考信息。"
|
||||
|
||||
def _generate_english_fallback(self, page_title=""):
|
||||
"""生成英文备用摘要"""
|
||||
if any(keyword in page_title.lower() for keyword in ['tutorial', 'guide', '教程', '指南']):
|
||||
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', '配置', '设置', '安装']):
|
||||
return 'This article introduces system configuration methods and procedures, providing practical setup suggestions and best practices.'
|
||||
elif any(keyword in page_title.lower() for keyword in ['develop', 'programming', 'code', '开发', '编程']):
|
||||
return 'This article shares development experience and technical practices, providing practical code examples and solutions.'
|
||||
if page_title:
|
||||
# 根据标题生成通用摘要
|
||||
if any(keyword in page_title.lower() for keyword in ['tutorial', 'guide', 'setup', 'install', 'config']):
|
||||
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 ['analysis', 'research', 'study', 'principle']):
|
||||
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:
|
||||
return 'This article explores relevant technical content in depth, providing practical methods and solutions.'
|
||||
|
||||
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
|
||||
|
||||
# 检测是否为代码内容
|
||||
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
|
||||
return f"This article discusses {page_title}, covering relevant technical concepts, application scenarios, and practical methods."
|
||||
else:
|
||||
return "This article introduces relevant technical concepts and practical methods, providing valuable reference information for readers."
|
||||
|
||||
def is_ci_environment(self):
|
||||
"""检测是否在 CI 环境中运行"""
|
||||
@ -839,33 +769,68 @@ Please generate bilingual summary:"""
|
||||
else:
|
||||
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):
|
||||
"""处理页面,生成AI摘要和阅读统计(支持CI环境检测)"""
|
||||
"""处理页面,生成AI摘要(支持CI环境检测)"""
|
||||
# 检查是否应该在当前环境运行
|
||||
if not self.should_run_in_current_environment():
|
||||
return 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:
|
||||
if not self.should_generate_summary(page, 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)
|
||||
|
||||
# 内容长度检查
|
||||
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)
|
||||
page_title = getattr(page, 'title', '')
|
||||
is_ci = self.is_ci_environment()
|
||||
@ -878,6 +843,11 @@ Please generate bilingual summary:"""
|
||||
env_desc = '(CI)' if is_ci else '(本地)'
|
||||
print(f"✅ 使用缓存摘要 {env_desc}: {page.file.src_path}")
|
||||
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': '双语'}
|
||||
env_desc = '(CI)' if is_ci else '(本地)'
|
||||
@ -892,6 +862,7 @@ Please generate bilingual summary:"""
|
||||
print(f"📝 使用备用摘要 {env_desc}: {page.file.src_path}")
|
||||
else:
|
||||
print(f"❌ 无法生成摘要 {env_desc}: {page.file.src_path}")
|
||||
return markdown
|
||||
else:
|
||||
print(f"✅ AI摘要生成成功 ({ai_service}) {env_desc}: {page.file.src_path}")
|
||||
|
||||
@ -903,19 +874,10 @@ Please generate bilingual summary:"""
|
||||
'page_title': page_title
|
||||
})
|
||||
|
||||
# 添加AI摘要块
|
||||
# 添加摘要到页面最上面
|
||||
if summary:
|
||||
ai_summary_block = self.format_summary(summary, ai_service)
|
||||
result_blocks.append(ai_summary_block)
|
||||
|
||||
# 添加阅读信息块
|
||||
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
|
||||
summary_html = self.format_summary(summary, ai_service)
|
||||
return summary_html + '\n\n' + markdown
|
||||
else:
|
||||
return markdown
|
||||
|
||||
@ -953,52 +915,6 @@ Please generate bilingual summary:"""
|
||||
# 默认不生成摘要
|
||||
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):
|
||||
"""格式化摘要显示(包含CI环境标识)"""
|
||||
# 根据语言设置显示不同的标题
|
||||
@ -1053,7 +969,7 @@ ai_summary_generator = AISummaryGenerator()
|
||||
# 🔧 配置函数
|
||||
def configure_ai_summary(enabled_folders=None, exclude_patterns=None, exclude_files=None,
|
||||
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和本地环境分别配置)
|
||||
|
||||
@ -1068,24 +984,33 @@ def configure_ai_summary(enabled_folders=None, exclude_patterns=None, exclude_fi
|
||||
local_enabled: 是否在本地环境中启用
|
||||
ci_only_cache: CI 环境是否仅使用缓存
|
||||
ci_fallback: CI 环境是否启用备用摘要
|
||||
cache_enabled: 是否启用缓存功能
|
||||
|
||||
Example:
|
||||
# 推荐配置:只在 CI 中启用,本地禁用
|
||||
# 本地开发时禁用缓存,总是生成新摘要
|
||||
configure_ai_summary(
|
||||
enabled_folders=['blog/', 'docs/'],
|
||||
language='zh',
|
||||
ci_enabled=True, # CI 中启用
|
||||
local_enabled=False, # 本地禁用
|
||||
ci_only_cache=False, # CI 中允许生成新摘要
|
||||
ci_fallback=True # CI 中启用备用摘要
|
||||
local_enabled=True,
|
||||
cache_enabled=False # 禁用缓存
|
||||
)
|
||||
|
||||
# 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_language(language)
|
||||
|
||||
# 配置环境行为
|
||||
if any(x is not None for x in [ci_enabled, local_enabled, ci_only_cache, ci_fallback]):
|
||||
configure_ci_behavior(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, cache_enabled)
|
||||
|
||||
if ai_service:
|
||||
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)
|
||||
|
||||
# 🔧 新增 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 和本地环境行为
|
||||
|
||||
@ -1106,16 +1031,17 @@ def configure_ci_behavior(enabled_in_ci=None, enabled_in_local=None, ci_only_cac
|
||||
enabled_in_local: 是否在本地环境中启用 AI 摘要
|
||||
ci_only_cache: CI 环境是否仅使用缓存
|
||||
ci_fallback_enabled: CI 环境是否启用备用摘要
|
||||
cache_enabled: 是否启用缓存功能(默认True)
|
||||
|
||||
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 中禁用
|
||||
configure_ci_behavior(enabled_in_ci=False, enabled_in_local=True)
|
||||
# CI中使用缓存,本地禁用缓存
|
||||
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:
|
||||
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
|
||||
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):
|
||||
"""MkDocs hook入口点"""
|
||||
return ai_summary_generator.process_page(markdown, page, config)
|
File diff suppressed because one or more lines are too long
102
sitemap.xml
102
sitemap.xml
@ -2,206 +2,206 @@
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/link/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/liuyanban/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/tag/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/ZH-TW/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/about/geren/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/about/resume/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/about/test/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/about/zcw/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/MIT/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocs1/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocs2/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocs3/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkdocsblog/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkfirst/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</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>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</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>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</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>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</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>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</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>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/404/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/MkDocs-AI-Hooks/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/Relativeaddress/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/accelerate/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/backgroud/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/footer/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/header/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/linktech/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/mkcomments/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/mkdocsfont/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/mkpdf/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/shubiao/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/time/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/webtalknow/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/websitebeauty/yuanjiaohua/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/git/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/lighthouse/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/vercel/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/Markdown/MWeb/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/Markdown/markdown/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/designbeauty/db1/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/develop/designbeauty/my-to-desihn/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/en/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2025/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2024/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2023/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2022/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/archive/2021/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</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>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://wcowin.work/Mkdocs-Wcowin/blog/category/hello-world/</loc>
|
||||
<lastmod>2025-06-03</lastmod>
|
||||
<lastmod>2025-06-04</lastmod>
|
||||
</url>
|
||||
</urlset>
|
BIN
sitemap.xml.gz
BIN
sitemap.xml.gz
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user