logo
0
1
Login

个人笔记应用

一个使用现代Web技术构建的个人笔记应用,帮助你组织和管理知识。

功能特点

  • Markdown支持:使用Markdown语法编写和格式化笔记
  • 双向链接:通过[[文档名]]语法创建文档间的双向链接,类似Wiki
  • 响应式设计:在任何设备上都能获得良好的使用体验
  • 快速搜索:轻松查找笔记内容

技术栈

本应用使用以下技术构建:

  • Vite:快速的前端构建工具
  • React:用于构建用户界面的JavaScript库
  • TypeScript:JavaScript的超集,添加了类型系统
  • TailwindCSS:实用优先的CSS框架
  • Ant Design:企业级UI设计语言和React组件库

项目结构

src/ ├── assets/ # 静态资源 │ └── docs/ # 示例Markdown文档 ├── components/ # React组件 │ ├── DocCard.tsx # 文档卡片组件 │ ├── DocList.tsx # 文档列表组件 │ └── DocViewer.tsx # 文档查看器组件 ├── layouts/ # 布局组件 │ └── MainLayout.tsx # 主布局 ├── utils/ # 工具函数 │ └── markdownUtils.ts # Markdown处理工具 ├── App.tsx # 应用入口 └── main.tsx # 渲染入口

核心功能实现

文档列表

  • 使用useDocList Hook加载所有Markdown文档
  • 支持文档搜索过滤
  • 响应式网格布局展示文档卡片

Markdown渲染

  • 使用ReactMarkdown库渲染Markdown内容
  • 支持GFM (GitHub Flavored Markdown)
  • 代码高亮和自动链接标题

双链功能

  • 通过[[文档名]]语法创建文档间链接
  • 支持[[文档ID|显示文本]]格式自定义链接文本
  • 使用React Router进行页面导航

快速开始

安装依赖

npm install

开发模式

npm run dev

构建项目

npm run build

预览构建结果

npm run preview

扩展配置

ESLint配置

项目包含了TypeScript的ESLint配置,可以根据需要扩展:

export default tseslint.config([ // 配置详情见eslint.config.js ])

未来计划

  • 添加编辑功能
  • 实现标签系统
  • 添加文件附件支持
  • 实现云同步功能

许可证

MIT

About

个人笔记应用

Language
TypeScript57.1%
Markdown21.8%
CSS9.4%
JavaScript6.2%
Others5.5%