ブログのシステムをWordPressからHugoに変更しました

これまでWordPressを使ってブログを書いていましたが、Hugoに変更しました。

WordPressは自身で運用をする手間を厭い、フルマネージドのホスティングサービスであるWordPress.comを利用していました。WordPress.comはWordPressを運用する上で必要な多くな手間を省くことができるとても便利なサービスなのですがテーマはWordPress.com側で用意されたものの中からしか選べません。

WordPressのテーマはPHPで書かれているのでユーザーが自由にテーマを変更できるようにしてしまうとセキュリティー上のリスクが発生してしまいます。プリインストールされたテーマしか使えないようになっているのはやむを得ないことなのでしょう。

ですがどうしても不満は感じてしまいます。わたしはフロントエンド開発者なのでHTMLやCSS、JavaScriptを直接触ることができないというのは少し厳しく思います。

これまでMiddlemanJekyllといったRubyで書かれている静的サイトジェネレーターを使ってきていたのですが、どうしても速度が気になっていました。HugoはGoで書かれていて実行速度も速いと度々耳にしていました。なので良い機会と思い使ってみました。

ソースファイルはGitHubで管理をして、Netlifyでビルドとデプロイをしています。Hugoは確かに前評判通りに実行速度が速く、とても満足しています。

とはいえRubyを直接書くことができるMiddlemanやJekyllと比べてしまうとHugoはテーマを作る際に使うテンプレートファイルの自由度がありません。ですがドキュメントを見る限りは必要充分のことはできるのではないかと思っています。まだまだHugoに関する知識が足りていないので少しずつ勉強していこうと考えています。

RubotyのDiscordアダプターを作りました

最近は仲間内のチャットなどではDiscordをよく使っています。またOSSプロダクトのサポートチャットとしてDiscordを採用している事例もよく目にするようになってきています。

Discordにこの記事で詳しく説明しません。Discordについて気になった方は櫛井さんの書かれたブログ記事がとても良くまとめられているのでご参照ください。

Discordでボットを作るためのライブラリーとしてdiscordrbがあります。discordrbは多機能でさまざまなことができるとても便利なライブラリーなのですが、多機能すぎて少し使い難い側面もありました。そのためRubyでチャットボットを簡単に作ることができるフレームワークであるRubotyのDiscordアダプターを作りました。

Discordの開発者向けページから新規アプリを作り、そこからボットユーザーのトークンを取得するだけで簡単に使えるようになっています。

ボットをサーバーに招待するときはDiscord Permissions Calculatorからできるようになっています。このページはDiscordが公式に提供しているもので、権限の設定からとても自由にできるようになっています。個人にはほかのチャットサービスよりも簡単にボットを作ることができるようになっていると感じました。

Ruboty自体がとても簡単に使えるようになっているためGemfileを

source 'https://rubygems.org'
gem 'ruboty'
gem 'ruboty-discord'

のようにするだけで使えるようになっています。あとはBundlerを使ってインストールした後にbundle exec rubotyでRubotyを動かすだけでDiscordでボットとのメッセージのやりとりができるようになります。

v1.0.0である現時点では必要最低限のメッセージのやりとりしかできませんが、リアクションも行えるようにしたりと機能の拡充をしたいと考えています。なにか要望やフィードバックがある場合はぜひGitHubのIssuesでご報告ください。なんらかの反応をいただけますととても助かります。

Mastodon Developers Kaigi #0 を開催しました

先日、Mastodon Developers Kaigi #0というカンファレンスの開催をしました。こうしたカンファレンスの主催をするのは初めてでしたが多くの方の協力によって大きな問題も起こることなく、とても意義のあるカンファレンスにできました。

「Mastodonについて技術的な側面から語る発表を聴きたい」というわたしの個人的な思いによって開催したカンファレンスでしたが、多くの人に来ていただきとてもうれしかったです。

Mastodonの開発が始まったのは2016年からです。そして日本で話題になった2017年4月からも半年も経っていません。Mastodonはまだまだ若い技術です。今後も大きく伸びていくものであるとわたしは直感しています。

今後もこうしたカンファレンスの開催を継続的に行っていけたらと考えています。

もし興味を持たれたかたがいらっしゃいましたらぜひご参加ください。発表をする方も聴講なさる方もどちらも等しく参加者です。Mastodonの技術に対して興味をお持ちでしたらどうか遠慮することなくご参加ください。

Mastodonのコミッターになりました

四月の半ばからMastodonへのコントリビュートを繰り返していたところ、今月の24日にmasterブランチへmergeする権限をいただきました。

現状では言語追加といった本体の動作に影響を与えないPull Requestのmergeのみを行っています。それ以外の機能追加やバグ修正、デザインの変更などといったものは基本的にMastodonのAuthorであるGargron氏に委ねるという方針でいます。テストの追加やリファクタリングに関しては臨機応変に見ていこうと考えています。

現状のわたしのMastodonへのコミット数は205です。これに加えてMastodonに寄せられたPull Requestsに対してコードレビューをいくつかしています。

検証用にVPSでインスタンスを立てたりと現状は大赤字の状況です。わたしのMastodonに対するコントリビュートを応援してくださる方向けにFantiaでファンページの作成をしました。もしよろしければそちらからご支援いただけますと幸いに存じます。