blog環境

blogはHugoを使っていて、VS Codeで書いています。

  1. VS Codeで記事を書く
  2. GitHubにプッシュする
  3. 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に書き換えて再実行
mainとmaste

以前は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でも利用したいです。
良いプラグインとかあるのかしら。

ちらっと調べた感じだとうまく見つからなかったのよね。