diff --git a/.env.local b/.env.example similarity index 99% rename from .env.local rename to .env.example index 6952a6160be..eb29e18cf32 100644 --- a/.env.local +++ b/.env.example @@ -1,12 +1,11 @@ # 环境变量 @see https://www.nextjs.cn/docs/basic-features/environment-variables -NEXT_PUBLIC_VERSION=4.7.7 - # 可在此添加环境变量,去掉最左边的(# )注释即可 # Notion页面ID,必须 # NOTION_PAGE_ID=097e5f674880459d8e1b4407758dc4fb # 非必须 +# NEXT_PUBLIC_VERSION= # NEXT_PUBLIC_PSEUDO_STATIC= # NEXT_PUBLIC_REVALIDATE_SECOND= # NEXT_PUBLIC_THEME=matery diff --git a/.eslintrc.js b/.eslintrc.js index e2a5efe4006..f27440217f7 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -8,7 +8,7 @@ module.exports = { 'plugin:react/jsx-runtime', 'plugin:react/recommended', 'plugin:@next/next/recommended', - 'standard', + 'next', 'prettier', 'plugin:@typescript-eslint/recommended', // 添加 TypeScript 推荐规则 'plugin:@typescript-eslint/recommended-requiring-type-checking' // 添加需要类型检查的规则 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000000..71291e2eccf --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,36 @@ +> 尽量按此模板PR内容,或粘贴相关的ISSUE链接。 + +## 已知问题 + +1. (示例)版本号管理不规范 + - 版本号直接写在环境变量中,容易出错 + - 多处维护版本号,可能不一致 + +## 解决方案 + +1. (示例)将版本号管理从 `.env.local` 迁移到 `package.json` + - 统一从 `package.json` 读取版本号 + - 使用 IIFE 优雅处理版本号获取逻辑 + - 保持向后兼容,支持环境变量覆盖 + +## 改动收益 + +1. (示例)更规范的版本管理 + - 统一从 `package.json` 读取 + - 保持与 npm 生态一致 + - 减少人为错误 + +## 具体改动 + +1. (示例)`blog.config.js` + - 移除原有的静态版本号配置 + - 在文件末尾添加动态版本号获取逻辑 + - 保持向后兼容,优先使用环境变量 + - 添加错误处理和默认值 + +## 测试确认 + +- [x] 本地开发环境测试通过 +- [x] 生产环境构建测试通过 +- [x] 版本号正确显示 +- [x] 环境变量配置正常工作 diff --git a/.gitignore b/.gitignore index b400f485732..a0811bd90d7 100644 --- a/.gitignore +++ b/.gitignore @@ -25,7 +25,7 @@ yarn-debug.log* yarn-error.log* # local env files -# .env.local # 版本号放在此环境变量中 +.env.local .env.development.local .env.test.local .env.production.local diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5fffb37aca2..9fde0549768 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,6 +3,7 @@ - [Setup](#setup) - [Creating new themes](#creating-new-themes) - [Adding localizations](#adding-localizations) +- [Environment Variables](#environment-variables) Thanks for considering to contribute! @@ -42,6 +43,19 @@ localization! Follow these steps to add a new localization: 3. Add your language config to [lang.js][lang.js]. 4. [Create a PR][pr] with your localization updates. +## Environment Variables + +NotionNext uses environment variables for configuration. To set up your development environment: + +1. Copy `.env.example` to `.env.local` +2. Fill in the required values in `.env.local` +3. Never commit `.env.local` to version control + +The configuration priority is: +1. Notion Config Table (highest) +2. Environment Variables +3. blog.config.js (lowest) + [fork]: https://github.com/tangly1024/NotionNext/fork [pr]: https://github.com/tangly1024/NotionNext/compare [next.js]: https://github.com/vercel/next.js diff --git a/README.md b/README.md index 7002bf90544..f7ce7138faa 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,12 @@ # 帮助教程 -访问帮助:[NotionNext帮助手册](https://docs.tangly1024.com/) +访问帮助:[NotionNext帮助手册](https://docs.tangly1024.com/) > 本项目教程为免费、公开资源,仅限个人学习使用。严禁任何个人或组织将本教程用于商业用途,包括但不限于直接售卖、间接收费、或其他变相盈利行为。转载、复制或介绍本教程内容时,须保留作者信息并明确注明来源。 > 本项目仅提供由作者团队授权的付费咨询服务,请注意辨别,谨防诈骗行为。任何未经授权的收费服务均可能存在法律风险。 Notion是一个能让效率暴涨的生产力引擎,可以帮你书写文档、管理笔记,搭建知识库,甚至可以为你规划项目、时间管理、组织团队、提高生产力、还有当前最强大的AI技术加持。 + > 如果希望进一步探索Notion的功能,欢迎购买《[Notion笔记从入门到精通进阶课程](https://docs.tangly1024.com/article/notion-tutorial)》 # NotionNext @@ -27,23 +28,24 @@ Notion是一个能让效率暴涨的生产力引擎,可以帮你书写文档
- 中文文档 | [README in English](./README_EN.md)