一个基于 Vue 3 和 Notion API 的现代化个人导航页面,支持自定义主题、标签筛选和响应式设计。
- 🎨 现代化设计 - 采用毛玻璃效果和渐变色彩,提供优雅的视觉体验
- 📱 完全响应式 - 适配各种设备尺寸,从手机到桌面设备
- 🔍 智能搜索 - 快速查找导航链接
- 🏷️ 标签筛选 - 支持单选和多选两种筛选模式
- 🎯 卡片布局 - 提供大卡和小卡两种显示模式
- 🌈 主题定制 - 可自定义主次主题色,提供多种预设颜色
- ⏰ 时间显示 - 实时显示当前时间
- 🔄 无限滚动 - 自动加载更多内容
- 📁 配置导入 - 支持通过 JSON 文件导入导航配置
- 🖼️ 动态背景 - 支持从 Notion 数据库加载背景图片
- Node.js 16.0 或更高版本
- npm 或 yarn 包管理器
-
克隆仓库
git clone https://github.com/lengsukq/nav-notion.git cd nav-notion -
安装依赖
npm install # 或 yarn install -
配置环境变量
创建
.env文件并添加以下内容:# Notion API 配置 VITE_APP_NOTION_TOKEN=your_notion_integration_token_here VITE_APP_NOTION_VERSION=2022-06-28 VITE_APP_NOTION_DATABASE_ID=your_notion_database_id_here VITE_APP_PROXY_URL=https://cors-anywhere.herokuapp.com/
-
启动开发服务器
npm run dev # 或 yarn dev -
构建生产版本
npm run build # 或 yarn build
- 访问 Notion Integrations 页面
- 点击 "+ New integration" 创建新集成
- 填写集成名称,选择关联的工作空间
- 记录 "Internal Integration Token",这将是你的
VITE_APP_NOTION_TOKEN
- 在 Notion 中创建一个新的数据库
- 添加以下属性:
name(标题) - 导航项名称url(文本) - 导航链接description(文本) - 导航项描述tag(多选) - 导航项标签icon(文件 & 媒体) - 导航项图标(可选)
- 记录数据库 ID,这将是你的
VITE_APP_NOTION_DATABASE_ID
- 点击数据库右上角的 "Share" 按钮
- 点击 "Invite"
- 选择你之前创建的集成
- 点击 "Invite" 完成共享
nav-notion/
├── public/ # 静态资源
├── src/
│ ├── components/ # Vue 组件
│ │ ├── FilterTag.vue # 标签筛选组件
│ │ ├── NavConfigTable.vue # 导航配置表格
│ │ ├── NavigationCard.vue # 导航卡片
│ │ ├── NavigationCards.vue # 导航卡片列表
│ │ ├── NavigationHeader.vue # 导航头部
│ │ ├── NavigationPage.vue # 导航页面
│ │ ├── NavigationTags.vue # 导航标签
│ │ ├── SearchBox.vue # 搜索框
│ │ ├── SettingsModal.vue # 设置模态框
│ │ └── TimeDisplay.vue # 时间显示
│ ├── router/ # 路由配置
│ ├── store/ # 状态管理
│ ├── App.vue # 根组件
│ ├── main.js # 入口文件
│ └── style.css # 全局样式
├── .env # 环境变量
├── .gitignore # Git 忽略文件
├── index.html # HTML 模板
├── package.json # 项目依赖
├── tailwind.config.js # Tailwind 配置
└── vite.config.js # Vite 配置
通过设置模态框可以自定义主题色:
- 点击页面右上角的设置按钮
- 在"主题色调色板"部分选择或输入颜色值
- 可以从预设颜色中快速选择
- 支持分别设置主色和次色
- 大卡模式 - 显示完整信息,包括标题、描述和标签
- 小卡模式 - 紧凑布局,仅显示标题和图标
- 单选模式 - 一次只能选择一个标签进行筛选
- 多选模式 - 可以选择多个标签,显示同时匹配所有选中标签的结果
- 将代码推送到 GitHub 仓库
- 在 Vercel 导入项目
- 配置环境变量(与本地开发相同)
- 部署项目
项目基于 Vite 构建,可以轻松部署到任何支持静态网站的平台:
- Netlify
- GitHub Pages
- Cloudflare Pages
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开一个 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- Vue 3 - 渐进式 JavaScript 框架
- Vite - 下一代前端构建工具
- Notion API - 强大的内容管理 API
- Tailwind CSS - 实用优先的 CSS 框架
- Pinia - Vue 状态管理库
- Vue Sonner - Vue 3 通知组件