为什么我要搭建知识库
很长一段时间,包括现在,我实际上是个不爱总结的人,只喜欢干就完了。文字工作让我头疼,我宁愿卡在一个bug上死磕一天,也不愿意在结束的时候花一个小时来复盘总结。随着自己做过的小项目越来越多,我发现,许多自己曾经攻克过的高山,似乎依然伫立在那里,逐渐的,我意识到,自己是该回过头看看自己走过的路了,是时候停下来看看风景了,我问自己,你真的会了多少,真的掌握了多少,我头脑下意识的空白,甚至有些惶恐,是的,过去的所谓的肝,不过是自欺欺人的逃避罢了,这是一种特殊的舒适区,是时候直面脑海中的一团乱麻了,我应该将它们捋顺,狠狠的贴上标签,塑封做成标本,摆在台子供自己随时回味。
人话讲就是投入时间了不能白学,我也希望自己这次不是
三分钟热度
我开始思考解决方案,这将会是一个很大的工程,一向不爱记笔记的我,能搞定吗?看了许多学习的up主,观摩了很多总结文章,结合自己的喜好后(就是不喜欢动笔,说实话,于我而言,敲键盘两小时似乎比写字二十分钟快得多),我选择了以VScode为核心的用markdown语言记笔记的方案。为了在闲下来的时间不抱着电脑看,自然而然考虑到多端同步,比如电脑记笔记,然后手机浏览笔记。
两种思路
这部分主要描述了我在搭建知识库时的两种思路,一种是网页端部署,另一种是本地同步
GitHub+Web个人站点+云服务器+VSCode
在23年的时候,我在搭建个人知识库的时候进行了一些实践,最初我的构想是可以在任何设备上浏览我的笔记,我认为这样可以最大化提高我的笔记对于我的利用率,刚好我在阿里云购买了域名和云服务器,搭建了个人网站,可以作为我实践的基础。
主要思路是把自己的笔记文件夹作为仓库创建在github中,而后以两种形式表现我的笔记,其一为将文章作为博客发布在我的wordpress个人网站中;其二为以支持同步github仓库的nodejs工程构建静态网页挂载到我的域名下。最后在vscode中以md撰写笔记,并同步到github即可。操作步骤将主要在 实现过程
的 网页端
中体现。
GitHub+Obsidian+坚果云+VSCode
以上介绍了我在搭建网页知识库的部分实践,实现了多设备浏览,但是在后来我发现,由于网络问题,有时访问会出现问题,在浏览时稍显单调,因此我开始思考如何把仓库同步到手机中,而后以本地md编辑器进行浏览,当我尝试了椒盐笔记,坚果云markdown。纯纯写作等软件后,最后折服于Obsidian的插件生态,还是决定使用Obsidian作为多端markdown浏览器。操作步骤将主要在 实现过程
的 应用端
中体现。
我全都要
实现过程
网页端
- 以本地笔记文件夹为基础创建github库
应用端
- 以本地笔记文件夹为基础创建github库
-
云端同步
-
多端同步
- 坚果云本地同步
一开始想偷懒,尝试通过坚果云app离线收藏功能,进行下载同步,而后作为Obsidian的库进行打开,发现Obsidian无法将Android\data下的目录作为库打开,遂放弃。
- FolderSync同步
经过查阅资料,发现可以通过FolderSync这款软件进行同步,但是由于同步速度慢、易达到坚果云接口使用上限以及易构成冲突问题(可能是我使用方式的问题),遂放弃
后来我发现可以将上一步骤与本步骤相结合实现同步功能,即通过FolderSync将一个本地文件夹与坚果云离线收藏的文件夹同步,而后将与离线收藏文件夹同步的文件夹设为Obsidian的库即可实现同步。缺点是每次同步前必须先点开坚果云app离线收藏同步,再点开FolderSync同步,步骤较为繁琐。
- MGit拉取仓库
- Obsidian配置同步
对经过http协议pull下来的仓库进行插件配置,设置好用户名以及token即可,上魔法后即可稳定同步。
- 坚果云本地同步
本次搭建Obsidian知识库环境中遇到的问题
- 坚果云密钥设置
主要用于WebDAV协议进行同步
- Git 密钥设置
正常添加即可
- Git 用户名、邮箱与密码设置
这个问题中,密码其实不是你的账号密码,其实是你的token,需要在github的设置页面生成,之后在http验证页面输入自己的token作为密码即可。
- Git pull网络连接失败
主要是魔法问题。 - Git http与ssh的选择
我选择http,用户名+token的验证方式。
如何知道自己是什么协议?
git remote -v
如果手机中想修改库的协议,可以通过termux实现。
6. ssh导致Obsidian Git同步失败,
更换为http协议。
7. 关于termux的两个技巧
- 通过
termux-setup-storage
来获取访问本机存储空间的权限 - 通过
cd /sdcard/
来访问本机sd卡
-
几条配置语句
您的介绍有几个地方需要修正或澄清。以下是针对每个命令的更准确的描述:git config --global --list
:显示所有全局配置的Git选项。它并不特定于仓库用户信息,而是显示所有全局级别的Git配置。git config user.name "Your Name"
:设置当前仓库的用户名配置。如果使用--global
选项(如git config --global user.name "Your Name"
),则为全局设置。应该在命令中包含所需的用户名。git config user.email "your_email@example.com"
:设置当前仓库的用户邮箱配置。同样,使用--global
选项可以设置为全局。应该在命令中包含所需的邮箱地址。git config user.password
:实际上,Git没有一个直接的命令来设置用户密码。通常,密码不会直接存储在Git配置中。如果需要存储凭证(例如,在使用HTTPS克隆仓库时),通常会使用凭证助手。对于SSH连接(如使用SSH密钥),密码通常是SSH密钥的密码,并且不通过Git直接配置。git remote add origin git@github.com:username/repo.git
:添加一个新的远程仓库,并命名为origin。这个命令使用SSH URL来指定远程仓库。这个命令并不是将HTTP转为SSH,而是为仓库设置一个通过SSH访问的远程URL。git remote set-url origin git@github.com:username/repo.git
:更改现有远程仓库origin的URL。这个命令将远程仓库的URL设置为使用SSH。如果之前是HTTp,这条命令可以理解为将HTTP(S)转为SSH。git remote set-url origin https://github.com/username/repo.git
:更改现有远程仓库origin的URL。这个命令将远程仓库的URL设置为使用HTTPS。如果之前是SSH,这条命令可以理解为将SSH转为HTTP(S)。