
Android端末からGitHub Pagesを更新してみる
TermuxでHugoが動くことに気づいたので、じゃあ理論上GitHub Pagesの更新もできるかと思って試してみました
ちなみに、この記事も実際にAndroid端末上から更新しています
まあ後からPCで修正しましたけど
Termux導入
Google Playからダウンロードできますが更新が止まっており、pkg updateでエラーを起こしたりするのでF-droidから最新版を拾ってきた方がいいと思われます(一応Play版でもHugoの導入等はできましたが…)
Termuxを導入したら起動してセットアップしていきます
内部ストレージ権限を取得(許可ダイアログを出す)
termux-setup-storage
GitとHugo 導入
pkg update
pkg install -y git hugo
リポジトリをcloneする場所は内部ストレージ直下(/storage/emulated/0)に作成したフォルダにします
cd /storage/emulated/0
mkdir git
cd git
git clone https://github.com/your-username/your-repository
GitHubアカウントに2段階認証を設定している場合はパスワードを入力してもcloneできませんが、別途取得したアクセストークンを代わりに入力することにより解決できます
アクセストークンの取得はGitHubの設定から行いますがここでは省略します
Obsidian導入
記事の更新(Markdownファイルの追加)はObsidianから行います
Obsidianは普通にGoogle Playに転がっています
Android版のObsidianは任意のフォルダを開くことが可能なので、起動後にリポジトリのフォルダを開くだけでok
後でビルドして気づいたのですがObsidianのショートカットを使って画像を挿入するとちゃんと表示されないんですよね…
以下のような形式で入力されてしまいHugoでのビルドがうまくいかない
![[1.png]]
仕方なく手動で修正…

ビルドについて
普通にhugo server -D
しようとしたらエラーが出ます
Error: Error building site: failed to acquire a build lock: Lock /storage/emulated/0/git/github-pages-source/.hugo_build.lock: function not implemented
function not implemented?そんなわけあるかいなと思ったんですが、Turmuxで入れたHugoのバージョンってちょっと古いんですよね…
※参考 https://discourse.gohugo.io/t/function-not-implemented-hugo-build-loc/36951
1.0.0以降なら–noBuildLockオプションが使えるということで回避
念の為Obsidianは一回閉じました
hugo server -D --noBuildLock
普通にローカルの鯖が動きました
ブラウザでアクセスしたら普通に追加した記事を見ることが出来ました
コミット&プッシュ
hugo -D --noBuildLock
してコミットするだけ…ですがそういえばGitの細かい設定していなかった
メアドとユーザ名を設定
git config --global user.email foobar@example.com
git config --global user.name your-username
WSL環境等でも起きるようですが、許可リストにリポジトリのパスを入れておかないと怒られます
git config --global --add safe.directory /storage/emulated/0/git/your-repository
コミットするときにエディタが起動するのだが無いと怒られるのでvimを入れておく
nano好きとしてはデフォルトでnanoエディタを起動するように設定してもいいのですが、vim入れるほうが早いので今回はvimで…
pkg install vim
新しく作成した記事をコミット
git add content/posts/2022/12/*
git commit
いつの間にか最初のブランチがmasterではなくmainになってる…
git push origin main
コレでやっと一通り終了…
割りと手順が多くて疲れますね…絶対PCのほうが楽
Termuxでgit操作するのが死ぬほどめんどくさい・・・AndroidでGUIなアプリって有るんですかね?
実用性が何とも言えない所ですがロマンがあるので良しとします
fin