Compare commits

...

8 Commits

Author SHA1 Message Date
19a99d9e30 Update ci.yml 2025-06-04 01:46:18 +08:00
b71afb6257 Update ai_summary.py 2025-06-04 01:43:03 +08:00
27fa014569 Update ai_summary.py 2025-06-04 01:41:23 +08:00
7d33dcf50d 25/6/4 2025-06-04 01:38:57 +08:00
c32ed1ac9f 25/6/4 2025-06-04 01:33:44 +08:00
8e6f69e268 25/6/3 2025-06-03 20:50:52 +08:00
dd23049a5f 25/6/3 2025-06-03 20:47:38 +08:00
1ab86a517f 25/6/3 2025-06-03 19:45:12 +08:00
36 changed files with 1819 additions and 171 deletions

View File

@ -1 +1 @@
{"cache_date": "2025-06-03", "page_authors": {}} {"cache_date": "2025-06-04", "page_authors": {}}

View File

@ -35,5 +35,15 @@ jobs:
# - run: pip install mkdocs-rss-plugin # - run: pip install mkdocs-rss-plugin
- run: pip install mkdocs-material - run: pip install mkdocs-material
- run: pip install --upgrade --force-reinstall mkdocs-material - run: pip install --upgrade --force-reinstall mkdocs-material
- run: pip install requests
- run: mkdocs gh-deploy --force - run: mkdocs gh-deploy --force
env:
# AI摘要配置
AI_SUMMARY_CI_ENABLED: true # CI环境启用AI摘要
AI_SUMMARY_LOCAL_ENABLED: false # 本地环境禁用AI摘要
AI_SUMMARY_CI_ONLY_CACHE: false # CI环境允许生成新摘要
AI_SUMMARY_CI_FALLBACK: true # CI环境启用备用摘要
# API密钥取消注释以启用真实AI服务
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

View File

@ -241,7 +241,7 @@ status: new
!!! pied-piper1 "About me" !!! pied-piper1 "About me"
- [x] Hey, I'm [Wcowin](https://wcowin.work/VitePress/){target=“_blank”}~ - [x] Hey, I'm [Wcowin](https://wcowin.work/VitePress/){target=“_blank”}~
- [x] 咖啡重度爱好者 - [x] 咖啡重度爱好者
- [x] 热爱(xiā)折腾技术/Math目前的研究领域是[密码学](../blog/Cryptography/index.md) - [x] 热爱(xiā)折腾技术/Math目前的研究领域是[密码学](https://wcowin.work/blog/Cryptography/)
- [x] 读书明志可识春秋;诗词爱好者;喜欢村上春树;擅长羽毛球 - [x] 读书明志可识春秋;诗词爱好者;喜欢村上春树;擅长羽毛球
- [x] 清醒,知趣,明得失,知进退 - [x] 清醒,知趣,明得失,知进退

View File

@ -0,0 +1,456 @@
---
title: MkDocs文档AI摘要
tags:
- Mkdocs
status: new
---
# MkDocs AI Hooks
仓库地址https://github.com/Wcowin/mkdocs-ai-hooks
<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">
<img src="https://img.shields.io/badge/Python-3.7+-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python 3.7+">
</p>
<p align="center">
<a href="/">中文</a> | <a href="https://github.com/Wcowin/mkdocs-ai-hooks/blob/main/README-en.md">English</a>
</p>
🚀 **您的MkDocs文档首选智能摘要**
这个项目利用MkDocs hooks为您的技术文档和博客添加AI驱动的摘要生成和智能阅读统计功能。
![iShot 2025 06 03 13.39.35](https://s1.imagehub.cc/images/2025/06/03/d1563500263b22cfd0ffc3679993aa83.jpg)
![image](https://s1.imagehub.cc/images/2025/06/03/526b59b6a2e478f2ffa1629320e3e2ce.png)
网站效果预览https://wcowin.work/Mkdocs-Wcowin/blog/Mkdocs/mkfirst/
## ✨ 功能特性
### AI智能摘要
- **自动生成文章摘要**使用DeepSeek API生成高质量的80-120字摘要
- **多语言支持**:支持中文、英文等多种语言
- **多API服务支持**支持OpenAI、Claude等多种AI服务
- **智能内容清理**自动过滤YAML、HTML、代码块等格式内容
- **备用摘要机制**API失败时提供基于规则的智能摘要
- **高效缓存系统**避免重复API调用7天智能过期
- **灵活配置**:支持文件夹级别和页面级别的精确控制
### 智能阅读统计(可选)
- **精准中文字符统计**:专门优化的中文内容识别
- **智能代码检测**:识别多种编程语言和命令行代码
- **阅读时间估算**基于中文阅读习惯的400字/分钟计算
- **美观信息展示**使用MkDocs Material风格的信息框
### 智能化特性
- **自动语言识别**支持30+编程语言和标记语言
- **内容类型检测**:区分代码、配置、命令行等不同内容
- **缓存优化**LRU缓存提升性能
- **错误处理**:完善的异常处理和日志记录
## 📦 安装
### 方法1
直接下载(推荐)
在releases页面下载解压后将以下文件放入您的MkDocs项目的docs/overrides/hooks中
https://github.com/Wcowin/mkdocs-ai-hooks/releases
或者下载上方hooks目录下的两个Python文件
- `ai_summary.py`AI摘要生成器
- `reading_time.py`:阅读时间统计器
```bash
# 放置到您的项目目录
mkdir -p docs/overrides/hooks/
mv ai_summary.py docs/overrides/hooks/
mv reading_time.py docs/overrides/hooks/
```
放置的位置如下:
![image](https://s1.imagehub.cc/images/2025/06/03/8b1c7485da460dfd6f61c15cde89b5e5.png)
`mkdocs.yml` 中theme下添加custom_dir
```yaml
# 可选Material主题配置
theme:
name: material
custom_dir: docs/overrides #一定要有!一定要有!
features:
- content.code.copy
- content.code.select
```
### 方法2
使用Git克隆
```bash
git clone https://github.com/Wcowin/mkdocs-ai-hooks.git
cd mkdocs-ai-hooks
pip install -r requirements.txt
```
### 依赖安装
```bash
pip install requirements.txt
```
## 🚀 快速开始
### 1. 配置MkDocs
先执行一次`mkdocs build`,生成缓存文件
```bash
mkdocs build
```
`mkdocs.yml` 中添加hookstheme下添加custom_dir
```yaml
hooks:
- docs/overrides/hooks/ai_summary.py # 添加AI摘要hook
- docs/overrides/hooks/reading_time.py # 添加统计阅读时间hook
# 可选Material主题配置
theme:
name: material
custom_dir: docs/overrides #一定要有
features:
- content.code.copy
- content.code.select
```
### 2. 在ai_summary.py中配置需要AI摘要的目录
```python
# 📂 可自定义的文件夹配置
self.enabled_folders = [
'blog/', # blog文件夹
'develop/', # develop文件夹
# 在这里添加您想要启用AI摘要的文件夹
]
# 📋 排除的文件和文件夹
self.exclude_patterns = [
'waline.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',
]
```
### 3. 在ai_summary.py中设置DeepSeek API(默认是OpenAI)
```python
# 在ai_summary.py中修改API配置
'deepseek': {
'url': 'https://api.deepseek.com/v1/chat/completions',
'model': 'deepseek-chat',
'api_key': os.getenv('DEEPSEEK_API_KEY', 'your-azure-api-key'),
'max_tokens': 150,
'temperature': 0.3
},
```
### 4. 运行MkDocs
第一次运行时,可能需要等待一段时间,因为系统会自动生成摘要。后续运行时,系统会使用缓存数据,加快生成速度。
```bash
#依次运行命令
mkdocs build
mkdocs serve
```
终端输出如下:
![image](https://s1.imagehub.cc/images/2025/06/03/a287b109428d7e4e61afe7212e045860.png)
## 📖 使用指南
### AI摘要配置
#### 文件夹级别控制
```python
# 启用特定文件夹
configure_ai_summary(['blog/', 'docs/', 'tutorials/'])
# 全局启用(除排除项)
configure_ai_summary([''])
```
#### 页面级别控制(推荐)
在Markdown文件的YAML front matter中
```yaml
---
title: 文章标题
ai_summary: true # 启用AI摘要
---
```
![iShot 2025 06 03 13.46.03](https://s1.imagehub.cc/images/2025/06/03/6b40a854fe57ef33b40c580ab4a7c802.jpg)
```yaml
---
title: 文章标题
ai_summary: false # 禁用AI摘要
description: 手动摘要 # 可选
---
```
### 阅读时间配置
#### 排除特定页面
```python
# 在页面的YAML front matter中
---
title: 页面标题
hide_reading_time: true # 隐藏阅读时间
---
```
## 🎨 显示效果
### AI摘要显示
```markdown
!!! info "🤖 AI智能摘要"
本文详细介绍了MkDocs hooks的开发和使用方法涵盖AI摘要生成、阅读时间统计等功能实现。通过DeepSeek API集成和智能缓存机制为技术文档提供自动化的内容增强服务。
# 您的文章标题
文章内容...
```
### 阅读信息显示
```markdown
!!! info "📖 阅读信息"
阅读时间:**3** 分钟 | 中文字符:**1247** | 有效代码行数:**45**
# 您的文章标题
文章内容...
```
**实际效果:**
![iShot 2025 06 03 13.22.14](https://s1.imagehub.cc/images/2025/06/03/8e4818b5b73c07d9b90a7471b1bfcbae.jpg)
### API花费
一次大约0.03-0.05元(中大型文档)
可以说相当经济实惠了!
#### 免费openai额度获取
推荐使用:[chatanywhere](https://github.com/chatanywhere/GPT_API_free?tab=readme-ov-file#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8 )
申请好后得到sk-开头的密钥在ai_summary.py的多AI服务配置部分替换为以下内容
```python
'openai': {
'url': 'https://api.chatanywhere.tech/v1/chat/completions',
'model': 'gpt-3.5-turbo', # 或 'gpt-4', 'gpt-4-turbo'
'api_key': os.getenv('OPENAI_API_KEY', 'your_openai_api_key'),
'max_tokens': 150,
'temperature': 0.3
},
```
```python
# 默认使用的AI服务
self.default_service = 'openai'
```
但是我这里也推荐使用[DeepSeek](https://platform.deepseek.com/usage) API额度充足且性能优秀。
## ⚙️ 高级配置
### 自定义API服务
```python
# 支持其他AI服务
self.api_config = {
'url': 'https://your-api-endpoint.com/v1/chat/completions',
'model': 'your-model',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
}
}
```
### 自定义提示词
```python
# 修改AI摘要的提示词
def generate_ai_summary(self, content, page_title=""):
prompt = f"""您的自定义提示词...
文章标题:{page_title}
文章内容:{content[:2500]}
"""
```
### 缓存配置
```python
# 修改缓存过期时间(天数)
cache_time = datetime.fromisoformat(cache_data.get('timestamp', '1970-01-01'))
if (datetime.now() - cache_time).days < 30: # 改为30天
return cache_data
```
注意注意注意!!!
切换api服务后要删除site/.ai_cache这个缓存文件才可以重新生成摘要**(这个问题已经解决了切换api服务后会自动删除缓存文件无需手动删除)**
<!-- ## 🔧 自定义开发
### 扩展AI服务支持
```python
class AISummaryGenerator:
def add_ai_service(self, service_name, config):
"""添加新的AI服务支持"""
self.ai_services[service_name] = config
def generate_summary_with_service(self, content, service_name):
"""使用指定服务生成摘要"""
# 您的实现
pass
``` -->
### 自定义摘要格式
```python
def format_summary(self, summary, ai_service):
"""自定义摘要显示格式"""
return f'''!!! note "✨ 自定义摘要"
{summary}
*由 {ai_service} 生成*
'''
```
## 🌍 多语言支持
### 英文内容优化Todo
```python
# 阅读时间计算英文200词/分钟)
def calculate_english_reading_time(word_count):
return max(1, round(word_count / 200))
```
### 其他语言扩展Todo
```python
# 支持日文、韩文等
JAPANESE_CHARS_PATTERN = re.compile(r'[\u3040-\u309F\u30A0-\u30FF]')
KOREAN_CHARS_PATTERN = re.compile(r'[\uAC00-\uD7AF]')
```
## 📊 性能优化
- **LRU缓存**:函数级别缓存提升性能
- **正则预编译**:提高文本处理速度
- **智能过滤**减少不必要的API调用
- **异步支持**可扩展为异步处理TODO
## 🤝 贡献指南
我们欢迎各种形式的贡献!
1. **Fork** 这个仓库
2. 创建您的特性分支
3. 提交您的更改
4. 推送到分支
5. 打开一个 **Pull Request**
### 开发环境设置
```bash
# 克隆仓库
git clone https://github.com/Wcowin/mkdocs-ai-hooks.git
cd mkdocs-ai-hooks
# 安装依赖
pip install -r requirements.txt
```
## 📝 更新日志
### v1.0.0 (2025-06-03)
- ✨ 初始发布
- 🤖 AI智能摘要功能
- 📖 阅读时间统计功能
- 💾 智能缓存系统
- 🎯 灵活配置选项
### 计划功能
- [x] 多AI服务支持OpenAI、Claude等
- [x] 自动选择最佳API
- [ ] API密钥安全处理(重要)
- [ ] 批量处理模式
- [ ] 统计数据导出
- [ ] Web界面配置
## 🐛 问题反馈
如果您遇到任何问题,请在 [Issues](https://github.com/Wcowin/mkdocs-ai-hooks/issues) 中提交。
提交问题时请包含:
- MkDocs版本
- Python版本
- 错误信息
- 复现步骤
## 📄 许可证
本项目采用 [MIT License](LICENSE) 开源协议。
## 🙏 致谢
- [MkDocs](https://www.mkdocs.org/) - 静态站点生成器
- [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) - 优秀的主题
- [DeepSeek](https://deepseek.com/) - AI API服务
- 所有贡献者和使用者
# Connect with me
<center>
**Telegram**
<p align="center">
<a href="https://t.me/wecowin" target="_blank">
<img src="https://pica.zhimg.com/80/v2-d5876bc0c8c756ecbba8ff410ed29c14_1440w.webp" alt="个人名片" style="border-radius: 10px;" width="50%">
</a>
</p>
**Wechat**
<!-- ![](https://s1.imagehub.cc/images/2024/02/02/bb9ee71b03ee7a3b87caad5cc4bcebff.jpeg) -->
<p align="center">
<img src="https://pic3.zhimg.com/80/v2-5ef3dde831c9d0a41fe35fabb0cb8784_1440w.webp" style="border-radius: 10px;" width="50%">
</p>
</center>
## Star History
[![Star History Chart](https://api.star-history.com/svg?repos=Wcowin/mkdocs-ai-hooks&type=Date)](https://www.star-history.com/#Wcowin/mkdocs-ai-hooks&Date)
## 请作者喝杯咖啡
<p align="center">
<a href="https://s1.imagehub.cc/images/2025/05/11/36eb33bf18f9041667267605b6b99bd0.jpeg" target="_blank">
<center>
<img src="https://s1.imagehub.cc/images/2025/05/11/36eb33bf18f9041667267605b6b99bd0.jpeg" style="width: 450px; height: auto; border-radius: 25px;" >
</center>
</a>
</center>
<p align="center">
如果这个项目对您有帮助,请给它一个 ⭐ Star
</p>
<p align="center">
<a href="https://github.com/Wcowin/mkdocs-ai-hooks/stargazers">
<img src="https://img.shields.io/github/stars/Wcowin/mkdocs-ai-hooks?style=social" alt="Stars">
</a>
<a href="https://github.com/Wcowin/mkdocs-ai-hooks/network/members">
<img src="https://img.shields.io/github/forks/Wcowin/mkdocs-ai-hooks?style=social" alt="Forks">
</a>
</p>
📝 本项目致力于让MkDocs文档更加智能化和用户友好。如有建议或想法欢迎交流

File diff suppressed because it is too large Load Diff

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-'
}
}
# 📂 可自定义的文件夹配置
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)

View File

@ -75,6 +75,7 @@ nav:
- 2.Mkdocs配置说明(mkdocs.yml): blog/Mkdocs/mkdocs2.md - 2.Mkdocs配置说明(mkdocs.yml): blog/Mkdocs/mkdocs2.md
- 3.解决Github Pages部署mkdocs自定义域名失效的问题: blog/Mkdocs/mkdocs3.md - 3.解决Github Pages部署mkdocs自定义域名失效的问题: blog/Mkdocs/mkdocs3.md
- Mkdocs美化/补充: - Mkdocs美化/补充:
- MkDocs文档AI摘要: blog/websitebeauty/MkDocs-AI-Hooks.md
- 添加Mkdocs博客: blog/Mkdocs/mkdocsblog.md - 添加Mkdocs博客: blog/Mkdocs/mkdocsblog.md
- 网页圆角化设计: blog/websitebeauty/yuanjiaohua.md - 网页圆角化设计: blog/websitebeauty/yuanjiaohua.md
- 添加评论系统(giscus为例): blog/websitebeauty/mkcomments.md - 添加评论系统(giscus为例): blog/websitebeauty/mkcomments.md
@ -312,5 +313,5 @@ extra_css:
hooks: hooks:
- docs/overrides/hooks/socialmedia.py - docs/overrides/hooks/socialmedia.py
- docs/overrides/hooks/reading_time.py # - docs/overrides/hooks/reading_time.py
- docs/overrides/hooks/ai_summary.py - docs/overrides/hooks/ai_summary.py

View File

@ -1,6 +1,6 @@
{ {
"summary": "giscus是基于GitHub Discussions的开源评论系统无需数据库数据直接存储在GitHub中。具有无跟踪、无广告、永久免费的特点支持多语言、自定义主题和高可配置性。系统自动同步GitHub评论更新允许自建服务适合开发者集成到静态网站。通过简单配置即可实现评论功能提供与Twikoo类似的用户体验。", "summary": "giscus是一款基于GitHub Discussions的开源评论系统无需数据库数据直接存储在GitHub中。具有无跟踪、无广告、永久免费的特点,支持多语言、自定义主题和高可配置性。系统能自动同步GitHub的评论更新适用于静态网站集成提供轻量级、隐私友好的评论解决方案同时允许用户自建服务。",
"service": "deepseek", "service": "deepseek",
"page_title": "添加评论系统(giscus为例)", "page_title": "添加评论系统(giscus为例)",
"timestamp": "2025-06-03T15:03:13.282472" "timestamp": "2025-06-03T16:16:38.038207"
} }

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

@ -1,6 +1,6 @@
{ {
"summary": "2022年网站建设过程包括10月建立Github仓库并正式建站取消cookie确认以简化流程并保障隐私新增首页反馈功能6月确定采用MKdocs框架搭建网站并完成域名注册。更新重点围绕技术架构优化和用户体验改进展开。", "summary": "2022年网站更新主要包括技术框架搭建和用户体验优化。6月选定MKdocs作为建站框架10月完成Github仓库创建并启用独立域名。关键改进包括取消cookie确认弹窗以简化访问流程、增强隐私保护并新增首页反馈功能。更新体现了从技术选型到交互优化的完整建设路径重点关注用户友好性和数据隐私。",
"service": "deepseek", "service": "deepseek",
"page_title": "2022网站更新记录", "page_title": "2022网站更新记录",
"timestamp": "2025-06-03T15:02:01.059291" "timestamp": "2025-06-03T16:15:36.310549"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "霞鹜文楷是一款基于日本Klee One衍生的开源中文字体兼具仿宋和楷体特点适合诗词及注释排版。提供多个版本屏幕阅读版、轻便版、GB/TC版等满足不同场景需求。作为开源项目它解决了商业字体侵权风险并通过深度学习补全了简繁汉字及谚文字符。用户可通过GitHub、Gitee等平台获取支持Windows/macOS系统安装。字体采用SIL开源协议适合网站及开发者嵌入使用。", "summary": "霞鹜文楷是一款基于日本FONTWORKS公司Klee One衍生的开源中文字体兼具仿宋和楷体特点适合诗词和注释排版。提供多个版本屏幕阅读版、轻便版、GB/TC规范版等支持简繁日韩字符。该字体解决了商业字体侵权风险问题填补了开源中文字体中楷体类的空白。用户可通过GitHub、Gitee等平台获取支持Windows/macOS系统安装。字体采用SIL Open Font License 1.1授权,适合网站和移动设备使用。",
"service": "deepseek", "service": "deepseek",
"page_title": "修改网站字体", "page_title": "修改网站字体",
"timestamp": "2025-06-03T15:03:32.264117" "timestamp": "2025-06-03T16:16:50.880853"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "唐·诺曼提出的情感设计三层次理论包括本能层、行为层和反思层。本能层关注产品外观引发的即时情感反应,行为层强调使用过程中的功能性和效率,反思层涉及用户对产品的理性评价和自我形象关联。这三个层次相互影响,共同塑造用户对产品的整体体验。该理论为设计提供了系统框架,帮助平衡美学、实用性和情感价值,广泛应用于产品开发与用户体验优化。", "summary": "唐·诺曼提出的情感设计三层次理论包括本能层、行为层和反思层。本能层关注产品外观引发的即时情感反应,行为层强调使用过程中的功能性和效率,反思层涉及用户对产品的理性认知和自我形象关联。这三个层次相互影响,共同塑造用户对产品的整体体验。该理论为设计提供了系统框架,解释了为何某些产品即使存在功能缺陷仍能获得市场成功。",
"service": "deepseek", "service": "deepseek",
"page_title": "唐·诺曼—情感设计的三个层次", "page_title": "唐·诺曼—情感设计的三个层次",
"timestamp": "2025-06-03T14:58:22.109862" "timestamp": "2025-06-03T16:18:11.355466"
} }

View File

@ -0,0 +1,6 @@
{
"summary": "该技术文档展示了一个多功能测试组件包含代码片段、数学公式、流程图及视频播放器配置等元素。支持HTML、CSS、JavaScript技术栈提供Markdown内容管理和快速部署功能5分钟搭建。具备自定义主题、MIT开源协议特性适用于构建响应式静态网站。核心组件包括天气插件、极限公式演示及CKPlayer视频播放器初始化方案。",
"service": "deepseek",
"page_title": "功能测试",
"timestamp": "2025-06-03T16:14:38.445737"
}

View File

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

View File

@ -1,6 +1,6 @@
{ {
"summary": "该技术方案通过git-revision-date-localized插件为MKdocs文档系统自动添加文章修订时间戳。核心实现是在CI工作流中配置选择性启用git历史检查既避免了本地渲染时的性能损耗又能在发布时准确显示最后更新时间。该方法优化了文档维护流程特别适合需要展示内容时效性的技术文档网站。", "summary": "该技术方案通过git-revision-date-localized插件为MKdocs文档系统添加文章修订时间戳功能。核心实现是在CI工作流中优化git历史检查策略既提升了本地渲染速度又确保发布时准确显示最后更新时间。该方法适用于需要展示文档时效性的场景通过修改ci.yml配置文件即可快速部署兼顾了开发效率和功能完整性。",
"service": "deepseek", "service": "deepseek",
"page_title": "为MKdocs添加文章修订时间戳", "page_title": "为MKdocs添加文章修订时间戳",
"timestamp": "2025-06-03T15:03:51.241522" "timestamp": "2025-06-03T16:17:09.116396"
} }

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

@ -0,0 +1,6 @@
{
"summary": "本文提供了多种支持作者的方式包括通过邮箱联系、访问GitHub仓库以及通过支付宝、微信支付和Ko-fi等平台进行赞助。文章列出了具体的赞助渠道和按钮链接并附有近期赞助者的名单及时间记录方便读者选择合适的方式支持作者的工作。",
"service": "deepseek",
"page_title": "支持作者",
"timestamp": "2025-06-03T16:14:46.358819"
}

View File

@ -1,6 +1,6 @@
{ {
"summary": "本文详细介绍了Mkdocs配置文件mkdocs.yml的核心配置项包括站点基本信息、主题配色方案(支持明暗模式切换)、导航功能目录结构、返回顶部等、搜索优化、多语言支持以及扩展功能代码复制、标签系统等。重点讲解了如何通过extra_javascript和extra_css实现样式自定义并提供了标签系统、数学公式支持等实用功能的实现方法。适合需要深度定制Mkdocs站点的开发者参考。", "summary": "本文详细介绍了Mkdocs配置文件mkdocs.yml的核心配置项包括站点基本信息设置Material主题配色方案(支持明暗模式切换)、导航功能优化如目录跟踪、返回顶部按钮、搜索增强功能以及Markdown扩展支持。重点讲解了标签系统实现方法、自定义CSS/JS引入方式并提供了扩展网站功能的实践建议如添加数学公式支持、鼠标样式和评论系统等。配置文件采用YAML语法通过灵活组合各项参数可快速构建功能完善的文档网站。",
"service": "deepseek", "service": "deepseek",
"page_title": "2.Mkdocs配置说明(mkdocs.yml)", "page_title": "2.Mkdocs配置说明(mkdocs.yml)",
"timestamp": "2025-06-03T15:01:44.653682" "timestamp": "2025-06-03T16:15:17.312523"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "MWeb Pro是一款专为macOS设计的专业Markdown写作与笔记应用支持GFM语法扩展含表格、LaTeX、代码块等及多种图表库mermaid/PlantUML等。提供高效的图文混排功能支持拖拽插入图片和自定义宽度。支持导出多种格式PDF/HTML/Epub等并可直接发布到WordPress/印象笔记等平台。内置强大的文档管理系统,支持分类树、标签和多端同步,适合知识管理、博客写作及静态网站生成。", "summary": "MWeb Pro是一款专为macOS设计的专业Markdown写作与笔记应用支持GFM语法扩展含表格、LaTeX、代码块等及多种图表库mermaid/PlantUML等。提供高效的图文混排功能支持拖拽插入图片并调整宽度可导出为PDF/HTML/Epub等格式或直接发布至WordPress/印象笔记等平台。其文档库支持分类树、标签管理及静态网站生成,兼具快速笔记收集和全局搜索功能,适合技术写作、知识管理及博客发布场景。",
"service": "deepseek", "service": "deepseek",
"page_title": "MWeb Pro", "page_title": "MWeb Pro",
"timestamp": "2025-06-03T14:58:02.956945" "timestamp": "2025-06-03T16:17:50.584572"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "本文探讨了MkDocs中使用相对地址引用资源时的常见问题与解决方案重点分析了图片、PDF、跨页面及静态资源的正确引用方式。核心要点包括路径应以当前Markdown文件为基准区分大小写并以`docs`目录为根目录进行定位。文章提供了具体代码示例,并针对本地与线上环境差异、路径错误等典型问题给出了排查建议,强调统一目录结构对维护的重要性。", "summary": "本文探讨了MkDocs中使用相对地址引用资源时的常见问题与解决方案涵盖图片、PDF、跨页面及静态资源的引用方法。重点分析了路径规范、大小写敏感性和目录结构管理强调以当前Markdown文件为基准的相对路径写法确保本地预览与线上部署一致性。提供了针对路径错误、资源加载失败等问题的排查建议推荐统一资源目录结构以提升维护性。",
"service": "deepseek", "service": "deepseek",
"page_title": "相对地址的一些问题", "page_title": "相对地址的一些问题",
"timestamp": "2025-06-03T15:02:42.854475" "timestamp": "2025-06-03T16:16:12.235861"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "本文详细介绍了使用MkDocs框架部署静态网站到GitHub Pages的完整流程。重点包括通过GitHub Desktop管理仓库配置mkdocs.yml基础设置添加GitHub Workflow实现自动化部署以及最终发布到自定义域名。教程特别强调了目录结构管理和关键配置步骤适合快速搭建个人博客或文档网站。配套视频和中文文档降低了技术门槛使静态网站部署更加高效便捷。", "summary": "本文介绍了使用MkDocs构建静态网站并部署到GitHub Pages的完整流程。重点讲解了通过GitHub Desktop管理仓库、配置mkdocs.yml文件、设置GitHub Actions自动化部署等关键步骤并提供了Material主题的配置建议。该方法适合快速搭建技术文档或博客网站具有版本控制友好、部署简单的特点最后还提供了实时预览和自定义域名的实现方式。",
"service": "deepseek", "service": "deepseek",
"page_title": "1.利用Mkdocs部署静态网页", "page_title": "1.利用Mkdocs部署静态网页",
"timestamp": "2025-06-03T15:01:32.540524" "timestamp": "2025-06-03T16:15:07.175758"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "MIT许可证授予用户自由使用、修改、分发软件的广泛权利仅要求保留版权声明和许可条款。该许可证明确声明软件按\"原样\"提供,不承担任何质量担保或法律责任,适用于希望最大限度共享代码的开源项目。典型应用场景包括商业和学术领域的软件二次开发与分发。", "summary": "MIT许可证授予用户自由使用、修改、分发软件的广泛权利仅要求保留版权声明和许可条款。该许可证明确声明软件不提供任何担保作者不对使用后果承担责任。作为宽松开源协议MIT允许商业用途和私有修改是开发者广泛采用的标准许可之一。",
"service": "deepseek", "service": "deepseek",
"page_title": "许可声明", "page_title": "许可声明",
"timestamp": "2025-06-03T15:01:24.607113" "timestamp": "2025-06-03T16:14:56.187919"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "本文介绍了使用MkDocs构建网站时的性能优化方法包括采用WebP等现代图片格式压缩资源、通过CDN分发静态文件加速访问以及优化git插件配置提升本地渲染效率。重点推荐jsDelivr CDN服务和开发/生产环境差异化配置策略建议使用Lighthouse工具验证优化效果。这些措施能有效降低页面加载延迟提升用户体验。", "summary": "本文介绍了使用MkDocs构建网站时的性能优化方法包括采用WebP等高效图片格式压缩资源、通过CDN分发静态文件减少延迟以及优化git插件配置加速本地渲染。建议开发时禁用非必要插件使用Lighthouse工具测试优化效果。这些措施能显著提升网站加载速度和用户体验。",
"service": "deepseek", "service": "deepseek",
"page_title": "加速网站访问的一些心得", "page_title": "加速网站访问的一些心得",
"timestamp": "2025-06-03T15:02:53.389962" "timestamp": "2025-06-03T16:16:20.040248"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "该技术文档介绍了三种网页背景特效的实现方法雪花、樱花和粒子效果。核心是通过JavaScript动态加载特效脚本并利用LocalStorage存储用户偏好设置来控制特效显示。代码示例展示了如何通过DOM操作插入外部脚本适用于需要增强页面视觉吸引力的场景同时支持用户自定义显示选项。", "summary": "该技术文档介绍了三种网页背景特效的实现方法雪花、樱花和粒子效果。核心是通过JavaScript动态加载特效脚本并利用LocalStorage控制特效的显示状态。雪花特效通过检测LocalStorage标志决定是否加载外部JS文件其他特效也采用类似实现方式。这些轻量级特效可增强网页视觉体验适用于节日主题或装饰性页面需求。",
"service": "deepseek", "service": "deepseek",
"page_title": "背景特效", "page_title": "背景特效",
"timestamp": "2025-06-03T15:03:01.635832" "timestamp": "2025-06-03T16:16:30.348375"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "该网站2024年更新主要聚焦性能优化与功能改进包括持续优化页面流畅度、启用CDN加速、精简冗余代码、美化UI设计。技术层面引入自动新标签页打开功能迁移图片至SMMS提升稳定性并集成git-revision-date-localized-plugin记录文档时间。内容方面更新了MKdocs教程系列同时修复了页脚显示等细节问题。全站通过代码瘦身和资源优化显著提升了访问速度。", "summary": "该网站2024年持续优化性能与用户体验主要改进包括通过CDN加速提升访问速度精简冗余JS/CSS代码优化UI设计和注脚显示迁移图片至稳定图床。技术层面引入自动新标签页打开功能集成git-revision插件记录文档变更并完善MKdocs教程体系。全站被主流搜索引擎收录友链扩展至16个同时保持代码简洁性与可维护性。",
"service": "deepseek", "service": "deepseek",
"page_title": "2024网站更新记录", "page_title": "2024网站更新记录",
"timestamp": "2025-06-03T15:02:25.536842" "timestamp": "2025-06-03T16:15:55.975583"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "2023年网站持续优化升级主要改进包括引入AI问答机器人25条/月限制、新增多语言支持含台湾地区、建立Mkdocs-Wcowin主题框架。技术优化涵盖图片懒加载、Latex渲染修复、移动端适配及网站流畅度提升。新增功能模块包括博客系统、留言板集成giscus、友链版块和搜索功能。设计方面优化了字体、圆角风格及页面导航同步维护国内镜像站点。", "summary": "2023年网站更新聚焦功能优化与体验提升包括引入AI问答机器人25条/月限制、多语言支持含台湾语言、国内镜像站点和Mkdocs-Wcowin主题。技术改进涉及Latex渲染修复、图片懒加载、移动端适配及搜索功能实现同时优化了网页流畅度与字体显示。新增Blog板块、留言板及友链功能持续完善用户交互体验。",
"service": "deepseek", "service": "deepseek",
"page_title": "2023网站更新记录", "page_title": "2023网站更新记录",
"timestamp": "2025-06-03T15:02:13.355389" "timestamp": "2025-06-03T16:15:44.900044"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "本文介绍了Git版本控制系统的核心操作与实用技巧涵盖仓库创建、分支管理、冲突解决等基础功能并重点讲解了stash暂存、rebase/merge策略选择、cherry-pick等高级用法。通过具体代码示例和场景说明,帮助开发者高效处理代码版本管理中的常见问题,优化团队协作流程。特别针对合并冲突、提交修改等痛点场景提供了标准化解决方案。", "summary": "本文介绍了Git版本控制的核心操作与实用技巧涵盖仓库创建、分支管理、冲突解决等基础功能并重点讲解了stash暂存、rebase/merge策略选择、cherry-pick热修复等高级用法。通过具体代码示例和操作图示,系统演示了如何高效处理日常开发中的版本控制需求,特别针对代码回退、提交修改等常见场景提供了专业解决方案。",
"service": "deepseek", "service": "deepseek",
"page_title": "Git 实用技巧", "page_title": "Git 实用技巧",
"timestamp": "2025-06-03T14:57:53.455499" "timestamp": "2025-06-03T16:17:39.916746"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "该网站2025年更新记录显示持续优化流畅度重点修复了Markdown解析、评论区重定位等关键问题改进了友链统计和图片显示功能。更新包括教程适配最新版本、引入glightbox插件后取消以及界面布局优化。技术改进涉及代码重写和性能提升同时记录了开发者个人动态。维护工作以功能修复和用户体验提升为核心。", "summary": "2025年网站更新主要围绕性能优化和功能改进展开包括持续优化网站流畅度、修复Markdown解析器渲染问题、改进友链统计准确性、修复评论区定位bug。同时更新了MKdocs教程以适应最新版本优化留言板布局并清理失效图片链接。此外还尝试引入glightbox插件提升图片查看体验并通过代码重写显著提升加载速度。",
"service": "deepseek", "service": "deepseek",
"page_title": "2025网站更新记录", "page_title": "2025网站更新记录",
"timestamp": "2025-06-03T15:02:34.235693" "timestamp": "2025-06-03T16:16:03.875283"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "本文介绍了网页圆角化设计的实现方法重点讲解通过CSS样式文件实现图片和边框的圆角效果。具体包括在mkdocs.yml中引入CSS文件、编写圆角样式代码以及在Markdown文件中应用的方法同时展示了按钮和卡片组件的圆角化示例。该技术可提升网页视觉美感适用于文档网站和UI组件的美化。", "summary": "本文介绍了网页圆角化设计的实现方法重点讲解通过CSS样式实现图片和边框的圆角效果。具体包括创建CSS文件并在mkdocs.yml中引入使用border-radius属性设置圆角半径以及在Markdown文件中应用样式的代码示例。同时展示了利用内置grid cards组件和按钮样式的圆角化实现方案为网页UI设计提供了简洁美观的视觉解决方案。",
"service": "deepseek", "service": "deepseek",
"page_title": "网页圆角化设计", "page_title": "网页圆角化设计",
"timestamp": "2025-06-03T15:04:07.194452" "timestamp": "2025-06-03T16:17:30.723166"
} }

View File

@ -0,0 +1,6 @@
{
"summary": "该个人简介展示了一位重庆大学生Wcowin的技术背景与个人特质。电子信息工程专业在读拥有1年以上工作经验完成3个项目并参与2个开源贡献。研究兴趣聚焦密码学同时是技术/Math爱好者、咖啡重度用户及诗词/文学爱好者。页面采用CSS3悬停翻转动画等交互设计包含教育历程漯河高中至密码学硕士、技能标签及多维度联系方式微信/Telegram/Email。个性签名强调\"追求自身光芒\"的独立精神。",
"service": "deepseek",
"page_title": "作者个人简介",
"timestamp": "2025-06-03T16:14:29.050389"
}

View File

@ -1,6 +1,6 @@
{ {
"summary": "Tidio提供免费、无需梯子的在线聊天解决方案通过简单的JavaScript代码集成到网站。用户只需注册账号从设置中获取专属代码并嵌入网页即可实现实时聊天功能。该工具安装便捷适合快速部署满足中小型网站的客户沟通需求,且免费版功能已足够日常使用。", "summary": "Tidio提供免费、无需梯子的在线聊天解决方案通过简单的JavaScript代码集成到网站。用户只需注册账号从设置中获取专属代码并嵌入网页即可实现实时聊天功能。该工具安装便捷适合快速部署满足基础客服需求,尤其适合中小型网站使用。",
"service": "deepseek", "service": "deepseek",
"page_title": "添加在线聊天", "page_title": "添加在线聊天",
"timestamp": "2025-06-03T15:03:58.990507" "timestamp": "2025-06-03T16:17:19.927570"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "本文介绍了MkDocs文档工具的学习资源和使用指南包括官方教程、Material主题教程以及中文教程(语雀/CSDN/知乎。提供了快速入门的三步部署方案GitHub Pages配置、mkdocs.yml设置、博客集成并附有视频教程。最后请求使用者标注教程来源支持知识共享。", "summary": "本文介绍了MkDocs文档工具的学习资源和使用指南包括官方教程、Material主题、插件列表以及作者提供的中文教程语雀、CSDN、知乎。内容涵盖快速部署静态网站到GitHub Pages、配置mkdocs.yml文件以及添加博客功能并附有视频教程。最后请求使用者注明教程来源并支持友链申请。",
"service": "deepseek", "service": "deepseek",
"page_title": "0.Mkdocs教程前言", "page_title": "0.Mkdocs教程前言",
"timestamp": "2025-06-03T15:01:53.347846" "timestamp": "2025-06-03T16:15:25.888385"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "该文阐述了设计领域的核心原则与实践要点,强调简洁性、视觉美感与用户体验的平衡。作者提出六大关键维度:通过精简元素实现功能聚焦,运用美学原则提升视觉表现,以用户行为驱动交互设计,注重细节打磨品质感,鼓励创新融合突破常规,以及通过叙事引发情感共鸣。这些观点系统性地揭示了优秀设计应兼具功能性、审美价值与人文关怀的特质。", "summary": "该文章阐述了设计的关键原则与价值主张,强调简洁性、视觉美感与用户体验的核心地位。作者提出六项设计准则:通过精简元素实现功能聚焦;运用视觉平衡提升优雅感;以用户行为模式优化交互流程;精细化处理视觉细节;融合创新思维突破传统;借助故事性建立情感连接。这些观点系统性地揭示了优秀设计应兼具功能性、审美性与情感共鸣的特质。",
"service": "deepseek", "service": "deepseek",
"page_title": "我对设计的一些观点", "page_title": "我对设计的一些观点",
"timestamp": "2025-06-03T14:58:33.845211" "timestamp": "2025-06-03T16:18:20.132538"
} }

View File

@ -1,6 +1,6 @@
{ {
"summary": "Markdown是一种轻量级标记语言支持纯文本编写并转换为多种格式如HTMLPDF。其核心语法包括标题、列表、表格、代码块等结构化元素以及文本样式粗体/斜体)、链接和图片插入功能。兼容HTML标签并支持特殊字符转义适用于文档编写、笔记记录等场景。主流编辑器如MacDown、StackEdit提供跨平台支持具有易读易写的特性,是技术文档和内容创作的常用工具。", "summary": "Markdown是一种轻量级标记语言支持纯文本编写并转换为多种格式如HTML/PDF。其核心语法包括标题、列表、表格、代码块等结构化元素以及文本样式粗体/斜体)、链接/图片嵌入功能。兼容HTML标签并支持特殊字符转义适用于文档编写、笔记记录等场景。主流编辑器如MacDown、StackEdit提供跨平台支持具有易读易写的特性。",
"service": "deepseek", "service": "deepseek",
"page_title": "Markdown指南", "page_title": "Markdown指南",
"timestamp": "2025-06-03T14:58:12.110675" "timestamp": "2025-06-03T16:18:02.463698"
} }

View File

@ -0,0 +1,9 @@
{
"default_service": "deepseek",
"available_services": [
"deepseek",
"openai"
],
"summary_language": "en",
"check_time": "2025-06-04T01:31:56.082195"
}