PCのObsidianで作成したノートをGitHub経由でiPhoneへ同期する

# はじめに
## この記事で書いていること
Obsidian, GitHub, Working Copy[^WorkingCopyとは]を使って、PCのObsidianで作成したノートをiPhoneのObsidianアプリで閲覧する方法をまとめています。[Obsidian Sync](https://publish.obsidian.md/help-ja/%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%A8%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/Obsidian+Sync)は使いません。

[^WorkingCopyとは]:iOSでgit操作が簡単にできるアプリです


## あらためて
最近学習のためのメモツールとして[Obsidian](https://obsidian.md/)を使い始めました。
マークダウン形式で書けるし、ファイルはローカル保存されるのでサクサク動いてストレスフリーだし、書いたものがそのままプレビューとして表示されるし、デザインラインナップも豊富だしで、総じて気に入っています。

ただ、利用しているPCは基本自宅に置いてあるので、学習内容を出先で確認したい場合に不便でした。
Obsidian Syncを使えばいいんですけど、そこにお金かけたくないなー・・・ということで、バックアップも兼ねて、以下を参考にObsidian Gitを使ってGitHubに自動でpushするようにしました。

https://kattsun.dev/posts/2021-05-25-obsidian-with-git/

あとはiPhoneにGitHubアプリを入れればプレビューできます。
基本はこれで問題ないんですが、個人的に問題点が2つ。
1. 改行がうまくされない
1. スクリーンショットがうまく表示されない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/53a7b603-5207-7d93-48db-4216fa3c1780.png)

個人的に致命的なのが2つめでした。

ObsidianはQiitaと同様、クリップボードにコピーしたスクリーンショットを直接貼り付けられてとても便利です。
ただ、それをiPhoneのGitHubアプリ上でプレビューすると、画像ファイルまでのパスが取れずにうまく表示されないということが間々あります。
画像ファイルを1つのディレクトリにまとめることは設定で可能ですし、パスをちゃんと指定してあげれば問題なく表示されるのですが、せっかくライトに貼りつけた画像ファイルに対して都度パス修正するのは結構なストレス。

なので以下を満たせる方法はないものか・・と模索してみました。
- WindowsのObsidianアプリでメモした内容をiPhoneでも閲覧したい
    - 画像もちゃんと表示されてほしい
- そこまでのリアルタイム性は求めない（ある程度メモがたまったタイミングで同期されれば問題ない）
- できればお金はかけたくない・・・

その結果、**Obsidian, GitHub, Working Copyを使うことで自分が求めている要件が実現できた**のでその方法を記載します。

# 環境、利用ツール
- Windows10
    - Obsidian（1.0.3）
    - GitHub
    - Git Bash（2.38.1.windows.1）
- iPhone（iOS16.1.1）
    - Obsidian（1.4.1）
    - Working Copy（5.3.7）

# (初回のみ) セットアップ
## [Windows] Obsidianアプリのインストール

https://obsidian.md/

## [Windows] GitHubのリポジトリとObsidianの同期
※ほぼ下記のリンクを参考にしました

https://kattsun.dev/posts/2021-05-25-obsidian-with-git/

1. GitHubで任意のリポジトリ作成
1. [Git Bash](https://gitforwindows.org/)などを利用して1で作ったリポジトリをローカルへ`git clone`
1. Obsidianで「Open folder as vault」を選び、2で作ったフォルダを選択
    1. ためしに適当なノートを作成する
1. Obsidian Gitのインストール 
    1. ObsidianのSettings > Community pluginsに移動し、`Restricted mode`を`Turn off`する
    1. Community plugins > Browseボタンをクリックし、Seach community plugins...欄に`Obsidian Git`を検索し、選択
    1. Installed plugins > Obsidian Gitを有効化する（下記スイッチをオン）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/2ee1e9bc-5c84-1dee-9619-a94326132602.png)
    1. （任意設定） Obsidian GitのOptionsアイコン > Vault backup interval (minutes)などを任意の値に変更（私は10分おきに設定）
1. 上記で設定した時間が経過後、GitHubで作成したリポジトリにpushされていることが確認できれば成功

## [iPhone] Obsidian, Working Copyアプリのインストール
- [Obsidian](https://obsidian.md/mobile)
- [Working Copy](https://apps.apple.com/jp/app/working-copy-git-client/id896694807)


## [iPhone] Obsidianアプリで新しくvaultを作成
一時的なvault[^vaultとは]をとりあえず作ります。そうすることで、iPhone内にObsidianフォルダが作成されます。
[^vaultとは]:ファイルを格納するフォルダのこと。詳しくは[こちら](https://notes.yurudream.com/00+Apps%2Cservice/Obsidian/Obsidian+vault)

## [iPhone] Working Copy経由でローカルにメモをダウンロード
1. Working CopyアプリでGitHubで作成したリポジトリをcloneする
    1. Repositoriesの＋アイコン > Clone repositoryを選択
    1. GitHubへSign In後、cloneを実行
1. cloneしてきたファイルをiPhone内のObsidianフォルダに保存
    1. 下記のアイコン > Save to Filesを選択し、このiPhone内 > Obsidian フォルダを選択
       ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/992d1fbe-9270-9fe9-e106-617eb63c8296.png)
    1. zipファイルが保存されるので、ファイルアプリからzipをタップして解凍

## [iPhone] Obsidianアプリから確認
Obsidianアプリのホーム画面を確認するとさきほど解凍したフォルダがvalut一覧に表示されています。
※既存のvaultを開いている場合、valut名をタップすることでホーム画面？に戻れます

なお、Enter valutをタップすると、以下のような警告が表示されることがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/a346a092-ce43-5c70-b9e2-d5f12054145f.png)
事前にObsidian Gitをインストールし有効化しておくと警告は表示されません。
また、 `Trust author and enable plugins`を選択すると、自動でObsidian Gitのインストール～有効化を実施してくれるようです。


# 通常時の同期手順
ここまでのセットアップが完了すれば、普段の同期は以下の手順だけでOKです。
1. Working Copyで同期したいリポジトリをpull
  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/15169c85-ca87-6e90-90a2-59c091245c0c.png)
1. [[iPhone] Working Copy経由でローカルにメモをダウンロード](#iphone-working-copy経由でローカルにメモをダウンロード)の2を実施


# 終わりに
ちょっと手間はかかりますが、自分的な要件は満たせたのでよしとします。
iPhoneでの操作は手動になってしまいますが、PC上でのバックアップが自動になっているので気が向いたときに同期すればいいのでそんなにストレスないです。ここもワンタップとかでできるようにならないかな～

今回はPCでメモ→iPhoneで確認のみですが、Working CopyはpushもできるのでPCへの同期もできるはず。試してみたら追記しようと思います。

今回記載したほかにいいやり方があればぜひご教示ください！


# 参考記事
- [ObsidianをGitでバージョン管理する](https://kattsun.dev/posts/2021-05-25-obsidian-with-git/)
- [「WorkingCopy」を使ってiOSからも静的サイトを更新できるように環境整備](https://choiyaki.com/p20210919/)
- [Obsidian vault](https://notes.yurudream.com/00+Apps%2Cservice/Obsidian/Obsidian+vault)