Hexoでテーマの設定ファイルをGithubで保持する方法

こんにちは、巳波みなとです。

このブログ、Hexoという静的サイトジェネレーターで生成、GithubPagesでホストしているのですが、これらのテーマ設定が少し厄介だったので紹介します。

テーマのインストールの仕組み

テーマがインストールされるとき、サイトファイルのthemesの中にファイルが保存されるんですが、それは「Git submodules」という仕組みで管理されています。

この中で行われた変更は、なんと自分のリポジトリにコミットすることができません。

これはどういうことかというと、テーマに関して設定したことが、他の環境でgit cloneしたときには消えているということです。

テーマのconfigの上書き

実は、これへの対策として、テーマの_config.ymlファイルを上書きする仕組みが用意されています。

Configuration | Hexo

その方法は、ルートディレクトリ(db.jsonやpackage.json、_config.ymlがあるディレクトリ)に、_config.[テーマ名].jsonファイルを作るというやり方です。

これによって、_confit.[theme].jsonが、テーマの_configファイルよりも優先して読み込まれるように設定できます。

そんだけ

ぼくのリポジトリが北極に保存された

df7d68a765003b8b3568067dd77c7077.png

こんな感じのバッジをGithubで貰いました。
なにこれ?って思って調べたら、千年くらいプログラムのリポジトリを北極に保存するプロジェクトで、あなたのプログラムが保存されましたよってことらしいです。

Arctic Code Vault

Arcticとは北極圏のことです。
Vaultとは保管庫という意味で、北極圏のコード保管庫という意味になります。

その名の通り、後世にプログラムを残していこうという試みみたいです。

これは、Github Archive Programの一環で、他にも石英ガラスにデータを保存する方法などが開発・進行しているようです。

保管方法

なんと、piqlFilmというフィルムに、物理的に保存されているようです。すげえ。
自分のプログラムがフィルムに保存されて北極にあるってなんか感動しますよね。

フィルムにはコードが文字としてではなく、QRコードのようなもので保存されていて

a684277b5d63072721ddbf6df740932a.jpg
(公式動画より)

このように拡大すると、バーコードなどが確認できます。

対象

  • 2019/11/13 ~ 2020/02/02までのリポジトリ
  • 2019/02/03 ~ 2020/02/02までに星が1つ以上付いたリポジトリ
  • 期間問わず、250以上の星が付いたリポジトリ

らしいです。
自分の場合は、星の付いたリポジトリと期間内のコミットと両方あったので、たぶん10リポジトリくらい保存されたと思います。

みなさんも自分にバッジが付いているか確認してみてはどうでしょうか?

Crowdin高いからほかの使おうぜ

Crowdinは、リポジトリのファイルを翻訳とかできるやつなんですけど
クソ高いので他のやつないか模索してみた

Github MarketPlace見てみると

  • Crowdin
  • POEditor
  • GitLocalize

があった。

1プロジェクトの最低価格的には以下のような感じ

アプリケーション プラン名 文字列数 価格
Crowdin Micro 500 $16/month
POEditor Free 1000 -
GitLocalize - - -

こんな感じ。

GitLocalizeは完全無料っぽいけどサポートしてるファイルが少なそう。
現時点では

  • Markdown
  • PO(なにこの拡張子)
  • JSON
  • HTML
  • YAML
  • Localizable Strings(iOS)

に対応してるっぽい。

とりあえず完全無料っぽいのでGitLocalizeをテストで使ってみる。

サイトにアクセス

GitLocalize - Continuous Localization for GitHub Projects https://gitlocalize.com/

Githubアカウントでログインする

Image from Gyazo

こうなった。

そしたらAdd repository

Image from Gyazo

リポジトリを設定

Image from Gyazo

ターゲットパスを設定

あとはGithubと連携すれば設定は完了です。
かんたんですね。

Image from Gyazo

必要な機能は一通り揃っています。
正直これくらいあれば随分という気がする。

結論: Crowdinにお金払わなくてもGitLocalizeでそこそこやっていける

2020年6月21日追記:

そういえばGitLocalizeはログイン+メンバー登録必須でした
不特定多数からコントリビュート受けることはできないっぽい