关于搭建Obsidian知识库遇到的一些问题
关于搭建Obsidian知识库遇到的一些问题
发布日期 2024年1月7日 |  更新日期 2024年1月20日 |  本文共计 3053  |  预计阅读 13  |  阅读次数 251

关于搭建Obsidian知识库遇到的一些问题

为什么我要搭建知识库

很长一段时间,包括现在,我实际上是个不爱总结的人,只喜欢干就完了。文字工作让我头疼,我宁愿卡在一个bug上死磕一天,也不愿意在结束的时候花一个小时来复盘总结。随着自己做过的小项目越来越多,我发现,许多自己曾经攻克过的高山,似乎依然伫立在那里,逐渐的,我意识到,自己是该回过头看看自己走过的路了,是时候停下来看看风景了,我问自己,你真的会了多少,真的掌握了多少,我头脑下意识的空白,甚至有些惶恐,是的,过去的所谓的肝,不过是自欺欺人的逃避罢了,这是一种特殊的舒适区,是时候直面脑海中的一团乱麻了,我应该将它们捋顺,狠狠的贴上标签,塑封做成标本,摆在台子供自己随时回味

人话讲就是投入时间了不能白学,我也希望自己这次不是三分钟热度

我开始思考解决方案,这将会是一个很大的工程,一向不爱记笔记的我,能搞定吗?看了许多学习的up主,观摩了很多总结文章,结合自己的喜好后(就是不喜欢动笔,说实话,于我而言,敲键盘两小时似乎比写字二十分钟快得多),我选择了以VScode为核心的用markdown语言记笔记的方案。为了在闲下来的时间不抱着电脑看,自然而然考虑到多端同步,比如电脑记笔记,然后手机浏览笔记。

两种思路

这部分主要描述了我在搭建知识库时的两种思路,一种是网页端部署,另一种是本地同步

GitHub+Web个人站点+云服务器+VSCode

在23年的时候,我在搭建个人知识库的时候进行了一些实践,最初我的构想是可以在任何设备上浏览我的笔记,我认为这样可以最大化提高我的笔记对于我的利用率,刚好我在阿里云购买了域名和云服务器,搭建了个人网站,可以作为我实践的基础。

主要思路是把自己的笔记文件夹作为仓库创建在github中,而后以两种形式表现我的笔记,其一为将文章作为博客发布在我的wordpress个人网站中;其二为以支持同步github仓库的nodejs工程构建静态网页挂载到我的域名下。最后在vscode中以md撰写笔记,并同步到github即可。操作步骤将主要在 实现过程网页端 中体现。

GitHub+Obsidian+坚果云+VSCode

以上介绍了我在搭建网页知识库的部分实践,实现了多设备浏览,但是在后来我发现,由于网络问题,有时访问会出现问题,在浏览时稍显单调,因此我开始思考如何把仓库同步到手机中,而后以本地md编辑器进行浏览,当我尝试了椒盐笔记,坚果云markdown。纯纯写作等软件后,最后折服于Obsidian的插件生态,还是决定使用Obsidian作为多端markdown浏览器。操作步骤将主要在 实现过程应用端 中体现。

我全都要

实现过程

网页端

  1. 以本地笔记文件夹为基础创建github库


  1. 呈现笔记的环境

    • 网页博客端

    • 静态网页挂载端

      • 构建静态页面
      • 上传至云服务器
      • 网站加载页面进行浏览(感谢一只方橙)

应用端

  1. 以本地笔记文件夹为基础创建github库

  1. 云端同步

    • 坚果云云同步

    • github同步
  2. 多端同步

    • 坚果云本地同步
      一开始想偷懒,尝试通过坚果云app离线收藏功能,进行下载同步,而后作为Obsidian的库进行打开,发现Obsidian无法将Android\data下的目录作为库打开,遂放弃。

    • FolderSync同步
      经过查阅资料,发现可以通过FolderSync这款软件进行同步,但是由于同步速度慢、易达到坚果云接口使用上限以及易构成冲突问题(可能是我使用方式的问题),遂放弃


      后来我发现可以将上一步骤与本步骤相结合实现同步功能,即通过FolderSync将一个本地文件夹与坚果云离线收藏的文件夹同步,而后将与离线收藏文件夹同步的文件夹设为Obsidian的库即可实现同步。缺点是每次同步前必须先点开坚果云app离线收藏同步,再点开FolderSync同步,步骤较为繁琐。
    • MGit拉取仓库
      • ssh方式
        即在MGit生成ssh密钥后,将公钥添加至github个人ssh验证中。而后进行同步功能。缺点是无法通过Obsidian-Git插件自动化进行Pull操作。
      • http方式
        以http的方式进行同步,设置好用户名以及token即可。但是有网络无法访问的问题,需要魔法,才可稳定同步。
    • Obsidian配置同步
      对经过http协议pull下来的仓库进行插件配置,设置好用户名以及token即可,上魔法后即可稳定同步。
  3. 移动端本地浏览
    以上步骤完成后,便可愉快的通过Obsidian浏览写好的文档了。

本次搭建Obsidian知识库环境中遇到的问题

  1. 坚果云密钥设置
    主要用于WebDAV协议进行同步
  2. Git 密钥设置
    正常添加即可
  3. Git 用户名、邮箱与密码设置
    这个问题中,密码其实不是你的账号密码,其实是你的token,需要在github的设置页面生成,之后在http验证页面输入自己的token作为密码即可。
  4. Git pull网络连接失败
    主要是魔法问题。
  5. Git http与ssh的选择
    我选择http,用户名+token的验证方式。
    如何知道自己是什么协议?
git remote -v

如果手机中想修改库的协议,可以通过termux实现。

6. ssh导致Obsidian Git同步失败,
更换为http协议。
7. 关于termux的两个技巧

  • 通过termux-setup-storage来获取访问本机存储空间的权限
  • 通过cd /sdcard/来访问本机sd卡
  1. 几条配置语句
    您的介绍有几个地方需要修正或澄清。以下是针对每个命令的更准确的描述:

    • 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)。
  2. 为了使桌面端和移动端配置分离,避免同步冲突,可以通过不同配置文件夹来解决。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注