本项目在 GitHub 开源,为了更好地进行合作开发,计划制定相关教程和规范。以下是当前开发原则、内容规范及开发流程。规范会根据需求不断调整,欢迎提出改进建议!
- 简洁易懂:确保代码和文档简洁明了,方便快速理解重点。
- 保证正确性:对自己的修改负责,可以多次修改,直到合适为止。
- 奥卡姆剃刀原则:如无必要,勿增实体。尽量基于 Obsidian 原生功能进行开发,避免过度依赖复杂插件。
- 优先记录:若时间紧迫,可将内容先归类到对应一级文件夹,后续再整理完善。
适合频繁提交的开发者,直接成为 GitHub 仓库合作者:
- 提交申请,获得仓库写权限。
- 在本地或 Codespaces 中修改文件,随时同步到主分支。
适合偶尔修正或补充内容的开发者:
- Fork 仓库到自己的 GitHub。
- 在 Fork 的仓库中修改或添加内容。
- 提交 Pull Request,等待合并。
- 添加双链:所有词条需按照层级顺序,添加上级目录的双链。例如:
dlink: [[不定积分]]
说明:积分表
词条属于 微积分
的 不定积分
,则需通过 dlink
属性记录所属层级。
-
原子化:最底层内容尽量以词条形式呈现,每个词条仅包含一个基本概念。
-
引用内容:整合多个词条时使用引用语法:
![[向量]]
-
结构规范:词条主要内容直接写在开头,无需标题;间接内容用多级标题(如性质、例子、推广)。
建议每篇文档包含以下部分:
- 简介:引用词条或以文档名为一级标题。
- 定义:引用或补充相关词条。
- 推导:公式或理论的证明过程。
- 性质:描述概念的核心性质。
- 例题:典型应用示例。
- 推论:从性质或定义推导出的结论。
- 应用:实际应用场景或扩展知识点。
每篇文档头部建议包含以下 YAML:
tags: [数学, AI] # 标签,如“数学”或“AI”
dlink: [[父级目录]] # 双链,记录父级目录或相关词条
aliases: [别名, 简写] # 别名,例如英文名或简写
chapter: 章节序号 # 对应章节序号
urlink: [外部链接] # 外部参考链接(如 Wikipedia)
author: [作者1, 作者2] # 作者信息
datetime: 2024-11-30 # 创建时间
-
确保拥有 GitHub 账号。
-
安装 Git 命令行工具。
-
配置 Obsidian Git 插件。
-
如果在国内,请解决网络问题。
-
从 GitHub 克隆项目:
git clone https://github.com/your-repo.git
从远程仓库拉取最新的修改:
git pull origin main
将本地的修改提交到版本管理:
git add .
git commit -m "描述修改内容"
将本地修改推送到远程仓库:
git push origin main
冲突发生时,需要手动解决。处理步骤:
-
查看冲突内容:
git status
-
修改冲突的文件,选择正确的合并方式。
-
提交修复后的内容:
git add <文件名> git commit -m "解决冲突" git push origin main
- 进入父项目目录:
cd "E:\Note"
- 添加子模块:
git submodule add https://github.com/PKM-er/Pkmer-Math.git Math
- 初始化子模块:
git submodule init
git submodule update --init
- 提交更改:
git add .
git commit -m "添加 Math 子模块"
git push
当 Math 仓库更新时,可使用以下命令同步:
git submodule update --remote
以下为推荐的 .gitignore
配置,用于排除本地个性化文件:
# 忽略用户个性化配置
.DS_Store
.history
.trash
# 忽略部分 Obsidian 文件
.obsidian/*
.obsidian/plugins/*
.obsidian/snippets
.vscode
# 忽略 Git 子模块配置文件(如无必要)
.gitmodules
通过上述内容,开发者可以选择合适的参与方式(合作者或 Pull Request),并遵循开发规范和步骤高效协作。欢迎对本项目提出改进建议!