blog環境
blogはHugoを使っていて、VS Codeで書いています。
- VS Codeで記事を書く
- GitHubにプッシュする
- GitHub Actionsが、さくらサーバーにFTP経由でアップ(公開)する
記事はただのテキストデータ(Markdown)であって、プログラミングをしているわけではありません。
そう考えるとObsidianのほうが用途的には合っているんだろうなと思いつつ、GitHubを使っているからVS Codeのほうが良いのだろうかとか、結論は出ないままObsidianでの環境を作ってみることにしました。
合わなかったら、いままで通りでいいしね。
Obsidian
データ移行
本当に移行するかまだ分からないので、とりあえず元データをコピーしてObsidianの管理フォルダーに置きました。
cp ~/org/hoge ~/obsidian/hoge
実際は(その1)
CUIではなくGUIでコピペしましたけど。
データを最新のものに
リモート環境が最新になっているので、git pull
してローカル環境を更新しました。
実際は(その2)
久しぶりすぎてエラーが出たので、強制的に持ってきました。
git fetch origin
git reset --hard origin/master
余談
いつもやり方を忘れて下記の失敗をします。
- ネットで調べる
- 2行目の実行でエラーを出す
- origin/main → origin/masterに書き換えて再実行
以前はmasterがデフォルトでしたが、2020年ごろからmainがデフォルトになったようです。
Hugo
Obsidianのターミナルでhugo server
を実行したら、
「hugoなんてコマンドはありませんぜ」
と怒られました。
VS Codeのターミナルでは正常に動作するので、ターミナルの設定がおかしい模様。
Gemini CLIに聞いてみたら、echo $PATH
をObsidianのターミナルと通常のターミナルの両方で実行してみろと。
中身が違ったら、Obsidianのターミナルでログイン情報が読み込めておらず、Hugoの実行ファイルがある場所のPATHが通っていないんだろうと。
言われた通り実行しまして、予想通り中身が異なりました。
Obsidianのターミナル設定で、Shellと引数を設定できます。
私が普段使っている /bin/bash
と、ログイン情報を引っ張ってくる -l(または --login)
を設定し、Obsidianを再起動しました。
再度、hugo server
を実行しました。
「hugoなんてコマンドはありませんぜ」
Gemini CLIも、いくつかのサイトでもこれでできるって書いてあるのにな。
このあと、何度も設定変更とチェックを繰り返し、気付けば小一時間が経過。
これまでの失敗をGemini CLIにぶつけてみました。
Gemini CLI 「ObsidianがFlatpakのようですね」
それだ!
サンドボックスで動作しているから、外にあるログイン情報を取得できなかったのだと思われます。
ここまでの展開でだいぶ疲れていたので、深いことは考えずにObsidianをアンインストール。
公式サイトからAppImageを持ってきて、同じようにターミナルの設定をしたら
一発で動作しました。
※きっとFlatpakでもやり方はあるんだろうけど。
実際は(その3)
AppImageでPATHの問題は解決しましたが、Hugo serverでエラーが出ました。
Hugoのバージョンが古かったので、Hugoも最新版にして解決。
今後
VS Codeとプラグインで実現していたことをObsidianでもできるようにしたいですね。
というか、それができないとあまり利便性がよくないのです。
とりあえず、VS Codeでよく使っているスニペットの機能をObsidianでも利用したいです。
良いプラグインとかあるのかしら。
ちらっと調べた感じだとうまく見つからなかったのよね。