Razl-Dazl

eyecatch
Copyright © Google

Android端末からGitHub Pagesを更新してみる

Posted at — 2022-12-06

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]]

仕方なく手動で修正…

![](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

Author@zakuro

Mastodon: 396@vivaldi.net