fivebythree.net

termux + Android で Hugo のウェブサイトを更新する

2021-01-17
Abstract
Android 上で termux を使って Hugo のウェブサイトを更新するための環境構築についてまとめました。

Android でも ウェブサイト更新

Android タブレットでこのウェブサイトを更新する環境を整えたので、メモとして残します。

このウェブサイトは オープンソースの静的サイトジェネレーター、 Hugo を使って生成しています。

Hugo は Go 言語で記述されているコンソールベースのソフトウェアで、各種 OS をサポートしているのですが、Android のサポートは、少なくとも公式ウェブサイト上での記述では、存在していません。

ですが、Termux という Unix-Like なコンソール環境を導入することとで Go 言語が動作する様です。 Termux上でコンパイルできるなら、Hugo を動かせる or 動く環境が手に入るかも・・・と考えたのが、この試みのきっかけです。

その後、いろいろ試した結果、golang をインストールせずとも termux のパッケージマネージャ経由で Hugo を導入することができることができました。非常に簡単に導入できて驚きです。

それ以外、Git や SSH、エディタとの連携など必要そうな準備事項をまとめました。

termux 周りの準備

termux のインストール

termux は Android 上で動作する Unix-like なCUI環境です。 Android の Play Store もしくは F-droid 経由で導入します。

インストールにも、これからの作業でも、端末のルートを取ったりする必要もありません。

Play Store 経由なら、他のストアアプリと全く同じ様に導入してください。

termux が導入できたら、コンソール上から Android のファイルシステムにアクセスできるようにします。 以下のコマンドを入力すると、ホームディレクトリに storage というフォルダが置かれ、中に Android のディレクトリへのシンボリックリンクがつくられます。 ついでにホームディレクトリ直下に /storage/emulated/0/Dcouments へのシンボリックリンクを置きました。

以降 docs 以下を作業フォルダにします。この場所を作業領域にするのは、termux 外で動作するエディタを使いたいためです。 termux 内で動作するエディタは今のところ日本語入力にいろいろ難があるためです。

$ termux-setup-storage
$ cd ~
$ ln -s storage/shared/Documents docs

ついでに、クリップボードへのコピー・ペーストができるようにします。

$ pkg  install termux-api

これで termux-clipboard-set というコマンドが使えるようになります。 クリップボードにテキストファイルの中身などをコピーするには、

$ termux-clipboard-set < test.txt

のようにします。

Hugo

$ pkg install hugo

で、Hugoの導入ができます。

Git

Git もパッケージマネージャでインストールするだけでした・・・。 簡単ですごいです。

$ pkg install git
$ git config --global user.name jun.dow@gmail.com
$ git config --global user.emailjum.dow@mail.com

SSH

GitLab にアクセスするために SSH を導入しました。

すでに GitLab のアカウントを持っていて、生成したSSHパブリックキーをデプロイできるようになっていることが前提です。

$ pkg install openssh
$ ssh-keygen -t rsa -b 2048 -C "jun.dow@gmail.com"

パスフレーズの入力が求められますが、必要な場合は入力してください。

取得したパブリックキーはこんな感じでクリップボードにコピーできます。

$ termux-clipboard-set < ~/.ssh/id_rsa.pub

ここを参考にキーをデプロイします。

ssh -T git@gitlab.com

ここで、

Are you sure you want to connecting (yes/no)?

と入力をうながされるので、「yes」と入力しましょう。

テキストエディタ

Hugo によるウェブサイト構築なら、Markdown エディタかコーディングエディタを使うと思います。

Play Store にも沢山の選択肢がありますが、今のところ Brackeys-IDE を使っています。

  • (今のところ)広告なし
  • Markdown 含む構文のハイライト
  • オートインデントとインデントのソフトタブ、ハードタブの切り替え
  • キーボードを使った場合でも、日本語入力に目立った難がない(今のところ)

等比較的快適に使えます。

実行・デバッグ

hugo server -D --disableFastRender

で Android 上でも localhost:1313 によるウェブサイトが立ちあがります。

Reference