[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82422":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":14,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":15,"rankGlobal":8,"rankLanguage":8,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":8,"pushedAt":8,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":13,"starSnapshotCount":13,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},82422,"todolist","tate233\u002Ftodolist","tate233",null,"Python",1519,171,118,0,59,57.61,"MIT License",false,"main",true,[],"2026-06-12 04:01:38","# 智能笔记管理系统\n\n[![Python Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.12%2B-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green.svg)](LICENSE)\n\n一个功能强大的智能笔记管理系统，支持Markdown编辑、全文搜索、知识图谱可视化等高级功能。\n\n## 项目简介\n\n智能笔记管理系统是一个基于Python开发的桌面应用程序，专为知识工作者设计。它提供了完整的笔记管理功能，包括Markdown编辑、分类管理、标签系统、全文搜索和知识图谱等，帮助用户高效地组织和管理个人知识库。\n\n### 核心特性\n\n- **📝 Markdown编辑器** - 完整支持Markdown语法，实时预览\n- **🔍 智能搜索** - 基于TF-IDF的全文搜索引擎\n- **🏷️ 标签系统** - 灵活的标签管理，支持多标签\n- **📁 分类管理** - 按分类组织笔记，支持自定义分类\n- **🕸️ 知识图谱** - 可视化笔记之间的关联关系\n- **⭐ 收藏功能** - 快速标记重要笔记\n- **📊 统计分析** - 字数统计、阅读时间估算\n- **💾 自动保存** - 防止数据丢失\n- **📤 导入导出** - 支持Markdown和文本格式\n\n## 技术栈\n\n- **编程语言**: Python 3.12+\n- **GUI框架**: Tkinter\n- **Markdown解析**: markdown, pygments\n- **搜索引擎**: 自实现TF-IDF算法\n- **知识图谱**: networkx\n- **打包工具**: PyInstaller\n\n## 系统要求\n\n- Python 3.12 或更高版本\n- Windows 7\u002F10\u002F11、macOS 10.14+、Linux (Ubuntu 18.04+)\n- 至少 100MB 可用磁盘空间\n- 至少 512MB 可用内存\n\n## 安装步骤\n\n### 方法一：使用可执行文件（推荐）\n\n1. 下载对应平台的可执行文件\n2. 双击运行即可（无需安装Python环境）\n\n\n### 方法二：从源码运行\n\n1. **克隆或下载项目**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fsmart-notes.git\ncd smart-notes\n```\n\n2. **安装依赖**\n\n```bash\npip install -r requirements.txt\n```\n\n3. **运行程序**\n\n```bash\npython gui.py\n```\n\n## 使用说明\n\n### 1. 创建笔记\n\n- 点击左上角的 \"+\" 按钮或使用快捷键 `Ctrl+N`\n- 输入笔记标题\n- 在编辑器中编写内容（支持Markdown语法）\n- 选择分类和添加标签\n- 点击\"保存\"按钮或使用 `Ctrl+S` 保存\n\n### 2. Markdown语法支持\n\n    # 一级标题\n    ## 二级标题\n    \n    **粗体** *斜体* ~~删除线~~\n    \n    - 无序列表\n    1. 有序列表\n    \n    [链接](https:\u002F\u002Fexample.com)\n    ![图片](image.png)\n    \n    `代码` 或\n    \n    ```python\n    def hello():\n        print(\"Hello World\")\n    ```\n    \n    | 表格 | 列 |\n    |------|-----|\n    | 内容 | 内容 |\n\n\n### 3. 搜索笔记\n\n- 在左侧搜索框输入关键词\n- 按回车或点击\"搜索\"按钮\n- 系统会根据相关度排序显示结果\n\n**搜索范围**:\n- 笔记标题\n- 笔记内容\n- 标签\n\n### 4. 分类管理\n\n- 使用分类下拉框选择分类\n- 可以在配置中添加自定义分类\n- 支持按分类筛选笔记\n\n### 5. 标签系统\n\n- 在标签输入框中输入标签，用逗号分隔\n- 例如: `Python, 编程, 学习`\n- 标签可用于搜索和关联笔记\n\n### 6. 收藏功能\n\n- 勾选\"收藏\"复选框标记重要笔记\n- 在分类下拉框选择\"收藏\"查看所有收藏的笔记\n\n### 7. 导入导出\n\n**导入笔记**:\n- 文件 → 导入笔记\n- 支持 .md 和 .txt 格式\n\n**导出笔记**:\n- 选择要导出的笔记\n- 文件 → 导出笔记\n- 选择保存位置和格式\n\n### 8. 知识图谱\n\n- 工具 → 知识图谱\n- 查看笔记之间的关联关系\n- 显示孤立笔记和社区结构\n\n### 9. 统计信息\n\n- 工具 → 统计信息\n- 查看笔记总数、字数统计\n- 分类和标签分布\n\n## 快捷键\n\n| 功能 | 快捷键 |\n|------|--------|\n| 新建笔记 | Ctrl+N |\n| 保存笔记 | Ctrl+S |\n| 搜索 | Ctrl+F |\n| 撤销 | Ctrl+Z |\n| 重做 | Ctrl+Y |\n\n## 项目结构\n\n```\nproject1\u002F\n├── config.py              # 配置管理模块\n├── note_model.py          # 笔记数据模型和管理\n├── markdown_parser.py     # Markdown解析器\n├── search_engine.py       # 搜索引擎和知识图谱\n├── gui.py                 # 图形用户界面\n├── build.py               # 打包脚本\n├── count_lines.py         # 代码统计工具\n├── requirements.txt       # 项目依赖\n├── README.md             # 项目说明\n└── LICENSE               # MIT许可证\n```\n\n## 核心功能实现\n\n### 1. 笔记管理 (note\\_model.py)\n\n- **Note类**: 笔记数据模型，包含标题、内容、分类、标签等属性\n- **NoteManager类**: 笔记管理器，实现CRUD操作\n- 支持笔记链接和反向链接\n- 提供统计分析功能\n\n**关键方法**:\n```python\ncreate_note()      # 创建笔记\nupdate_note()      # 更新笔记\ndelete_note()      # 删除笔记\nsearch_notes()     # 搜索笔记\nget_statistics()   # 获取统计信息\n```\n\n### 2. Markdown解析 (markdown\\_parser.py)\n\n- 基于markdown库实现\n- 支持代码高亮（pygments）\n- 提取标题、链接、图片等元素\n- 字数统计和阅读时间估算\n\n**关键功能**:\n```python\nparse_to_html()         # 转换为HTML\nextract_headings()      # 提取标题\nextract_links()         # 提取链接\nget_word_count()        # 字数统计\ncreate_toc()            # 生成目录\n```\n\n### 3. 搜索引擎 (search\\_engine.py)\n\n- **倒排索引**: 高效的全文搜索\n- **TF-IDF算法**: 计算文档相关度\n- **相关笔记推荐**: 基于内容相似度\n\n**搜索流程**:\n1. 分词和标准化\n2. 构建倒排索引\n3. 计算TF-IDF分数\n4. 按相关度排序\n\n### 4. 知识图谱 (search\\_engine.py)\n\n- **节点**: 每篇笔记是一个节点\n- **边**: 笔记之间的链接关系\n- **社区发现**: 识别相关笔记群组\n- **中心性分析**: 找出核心笔记\n\n**图谱功能**:\n```python\nbuild_graph()           # 构建图谱\nget_connected_notes()   # 获取关联笔记\nget_central_notes()     # 获取中心笔记\nget_communities()       # 社区发现\n```\n\n## 代码规范\n\n本项目遵循以下编码规范：\n\n- **PEP 8**: Python代码风格指南\n- **类型提示**: 使用typing模块进行类型标注\n- **文档字符串**: 清晰的函数和类说明\n- **异常处理**: 妥善处理可能的异常\n- **模块化设计**: 功能模块相互独立\n\n## 构建可执行文件\n\n使用PyInstaller将应用程序打包为可执行文件：\n\n```bash\npython build.py\n```\n\n生成的可执行文件位于 `dist` 目录中。\n\n### 手动打包命令\n\n```bash\npyinstaller --name=SmartNotes --windowed --onefile gui.py\n```\n\n## 数据存储\n\n程序会在用户目录下创建 `.smart_notes` 文件夹：\n\n```\n.smart_notes\u002F\n├── notes.db              # 笔记数据库（JSON格式）\n├── notes\u002F                # 笔记文件目录\n│   ├── xxx.md           # 单个笔记文件\n│   └── ...\n├── attachments\u002F          # 附件目录\n├── exports\u002F              # 导出文件目录\n├── config.json          # 配置文件\n└── search_index.json    # 搜索索引\n```\n\n**位置**:\n- Windows: `C:\\Users\\用户名\\.smart_notes`\n- macOS: `\u002FUsers\u002F用户名\u002F.smart_notes`\n- Linux: `\u002Fhome\u002F用户名\u002F.smart_notes`\n\n## 常见问题\n\n### Q: 如何备份笔记？\n\nA: 笔记数据存储在 `.smart_notes` 目录中，直接复制该文件夹即可备份。\n\n### Q: 支持哪些Markdown语法？\n\nA: 支持标准Markdown语法，包括标题、列表、链接、图片、代码块、表格等。\n\n### Q: 搜索不到笔记怎么办？\n\nA: 尝试使用\"工具 → 重建索引\"功能重建搜索索引。\n\n### Q: 如何导入大量笔记？\n\nA: 可以将Markdown文件放入 `.smart_notes\u002Fnotes` 目录，然后重启程序。\n\n### Q: 支持同步到云端吗？\n\nA: 当前版本不支持，但可以手动将 `.smart_notes` 文件夹同步到云盘。\n\n## 贡献指南\n\n欢迎贡献代码、报告问题或提出建议！\n\n1. Fork 本项目\n2. 创建特性分支 (`git checkout -b feature\u002FAmazingFeature`)\n3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature\u002FAmazingFeature`)\n5. 开启 Pull Request\n\n## 开发路线图\n\n- [x] 基础笔记管理功能\n- [x] Markdown编辑和预览\n- [x] 全文搜索引擎\n- [x] 知识图谱\n- [ ] 图表可视化\n- [ ] 云端同步\n- [ ] 移动端应用\n- [ ] 插件系统\n- [ ] 多语言支持\n- [ ] 协作编辑\n\n## 许可证\n\n本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。\n\n\n## 致谢\n\n感谢以下开源项目：\n\n- [Python](https:\u002F\u002Fwww.python.org\u002F)\n- [Tkinter](https:\u002F\u002Fdocs.python.org\u002F3\u002Flibrary\u002Ftkinter.html)\n- [markdown](https:\u002F\u002Fpython-markdown.github.io\u002F)\n- [Pygments](https:\u002F\u002Fpygments.org\u002F)\n- [NetworkX](https:\u002F\u002Fnetworkx.org\u002F)\n- [PyInstaller](https:\u002F\u002Fwww.pyinstaller.org\u002F)\n\n## 更新日志\n\n### v1.0.0 (2026-01-01)\n\n- 初始版本发布\n- 实现基础笔记管理功能\n- 支持Markdown编辑和预览\n- 实现全文搜索引擎\n- 添加知识图谱功能\n- 提供图形用户界面\n\n## 数据迁移到 SQLite\n\n应用支持将旧的 JSON(`notes.db`) + 逐文件 `.md` 数据迁移到 SQLite 后端：\n\n```bash\npython migrate.py            # 迁移默认 ~\u002F.smart_notes 数据（迁移前自动备份）\npython migrate.py --no-backup\n```\n\n迁移幂等（已迁移的笔记不会重复导入）；当 `.md` 与 JSON 内容不一致时以 `.md` 为准并在报告中计数。迁移后可设置 `SMARTNOTES_BACKEND=sqlite` 或 `config.storage_backend=\"sqlite\"` 启用 SQLite 后端。\n\n## 依赖锁定与升级策略\n\n- `pyproject.toml` \u002F `requirements.txt` 中的运行时依赖采用区间约束（下限保证所需特性、上限防止破坏性大版本），**不**钉死到补丁号。\n- 精确、可复现的版本由 `uv.lock` 负责锁定。安装时用 `uv sync` 即可获得与锁文件一致的环境。\n- 升级流程：\n  1. 调整 `pyproject.toml` 中的区间（如有必要）；\n  2. 运行 `uv lock --upgrade`（或 `uv lock --upgrade-package \u003Cname>`）刷新锁文件；\n  3. 跑 `pytest` 与 `ruff check .` 验证后提交更新后的 `uv.lock`。\n","智能笔记管理系统是一个基于Python开发的桌面应用程序，专为知识工作者设计，旨在帮助用户高效地组织和管理个人知识库。其核心功能包括支持Markdown编辑、分类管理、标签系统、全文搜索和知识图谱可视化等。该应用使用了Tkinter作为GUI框架，并实现了基于TF-IDF算法的全文搜索引擎以及利用networkx构建的知识图谱。特别适合需要频繁记录、整理和检索信息的研究人员、学生及职场人士使用。此外，还提供了自动保存、收藏功能、统计分析以及导入导出等功能，确保数据安全的同时提升了用户体验。",2,"2026-06-11 04:08:33","high_star"]