2024-02-08 15:38:38 +00:00
|
|
|
|
---
|
|
|
|
|
date: 2023-02-09
|
|
|
|
|
---
|
|
|
|
|
#obsidian #quartz
|
|
|
|
|
|
|
|
|
|
- 元々`content`が[[Obsidian]]のvaultになっているとする
|
|
|
|
|
- `content/private`以下に公開したくないファイルを置くとする
|
|
|
|
|
- ただ、Gitで履歴は追えてほしい
|
|
|
|
|
- 最も簡単な方法としては、GitHubやGiteaのリポジトリ自体を非公開にしてしまうこと
|
|
|
|
|
- しかし、できればパブリックなノートはやはり履歴をGithubのhistoryとかに飛ばして追えるようにしたい
|
|
|
|
|
- なので、`content/private`をsubmoduleにして、submodule以下はプライベートリポジトリにする
|
|
|
|
|
|
|
|
|
|
## リポジトリ側の準備
|
|
|
|
|
|
|
|
|
|
GitHubとかGitea上にリポジトリをプライベートで作る。
|
|
|
|
|
|
|
|
|
|
content/private以下でgit init、`git remote add origin <sshのgitアドレス>`で登録、
|
|
|
|
|
|
|
|
|
|
ファイルを適当にコミットして`git push -u origin master`。
|
|
|
|
|
|
|
|
|
|
元のリポジトリに戻ってsubmoduleを作る。
|
|
|
|
|
|
|
|
|
|
元々private以下にファイルがコミットされてる場合は`git filter-branch`で歴史上からファイルの存在を消し去る必要がある。
|
|
|
|
|
|
|
|
|
|
私はまだ試験中でprivate以下にはどうでもいいファイルしか入れてなかったので`git rm -r --cached content/private`するだけでよかった。
|
|
|
|
|
|
|
|
|
|
一旦content/private以下のファイルが消えたら、`git submodule add <sshのgitアドレス> content/private`
|
|
|
|
|
|
|
|
|
|
`.gitmodules`が作られる。そのままではbranchの指定がないが、しないと後でobsidianのプラグインが困ってしまうので指定しておく必要あり。
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
[submodule "content/private"]
|
|
|
|
|
path = content/private
|
|
|
|
|
url = <sshのgitアドレス>
|
|
|
|
|
branch = main
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
この.gitmoduleも含めてコミットする。
|
|
|
|
|
|
|
|
|
|
## Obsidianの設定
|
|
|
|
|
|
|
|
|
|
obsidian-gitのプラグインには、バックアップの作成時にsubmoduleのアップデートを考慮してくれる"Update Submodule"オプションが下の方にある。これをオンにする。
|
|
|
|
|
あと、vaultはリポジトリ全体から見ると一つ階層が下なので、サブモジュールの相対パスがずれてしまうため、Custom base pathを`../`にしなければならない。
|
|
|
|
|
|
|
|
|
|
![[img/obsidiangitsubmodule.png]]
|
|
|
|
|
|
|
|
|
|
できたらCommand Paletteから"Git: create backup"で正しくcommitとpushができてるか確認する
|
|
|
|
|
|
|
|
|
|
## Quartzのテーマをいじる
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
`quartz/components/ContentMeta.tsx`をいじってcreated date, modified dateに加えて、git historyへのURLを追加する!この辺はQuartzのDiscordに書いてあったものを参考にしたので割愛
|
|
|
|
|
|
2024-04-10 06:51:52 +00:00
|
|
|
|
テスト
|