Soushi(草紙)というバイモーダルなサイトジェネレータを作った
Soushi(草紙)というサイトジェネレータを作ったので、その話を書きます。
本エントリはpepabo Advent Calendar 2016の25日目の記事です。昨日は、id:udzuraの私のロールモデル: エンジニア立ち居振舞い番外編でした。
作るにいたった経緯
PHP7がリリースされてからしばらく経ちました。ペパボでもPHP7へのアップデートに取り組むプロジェクトが、いろんなサービスで多数走っています。中にはいち早くPHP7化を達成し、CTO賞をGETしたチームもあります。
というわけで、ぺちぺ、ぺちぱーという言葉の創始者である私ではあるものの、PHPから遠ざかって10年以上は経過しているところ、あらためてPHP7にキャッチアップしていかねばなあと思い、以前からほしかったサイトジェネレータを作ることにしました。
Soushiの特徴
せっかくPHPで作るのですから、その特徴を活かしたいところです。サイトジェネレータが、その「サイト」を目に見える形にする上で、ポイントが2つほどあります。
- 開発時に、ローカルWebサーバによってプレビューできること
- Markdown等で書かれたコンテンツを静的ファイルに変換してデプロイし、リモートサーバ上で見えるようにすること
1.については、他のツールでも同様のことが当然のようにできるわけですが、せっかくなので5.4から導入されたビルトインWebサーバを使うことにします。
2.については、PHPはレンタルサーバのようなあらかじめ環境の整ったサービスが数多く提供されており、ポン置きすれば動くという気楽さが好かれて広まった経緯もあることから、2.1)静的ファイルを生成してデプロイできることとあわせて、2.2)作ったディレクトリそのものをアップロードすれば動く形にしました。
この2.1、2.2のふたつがあるよってのが「バイモーダル」たる所以ですね。
Soushiの実例
せっかくなので、SoushiのドキュメントそのものをSoushiを使って作ってみました。こんな感じ。
Soushiの今後
PHPは、5.4以降は言語としてけっこう好きな部類のものになってきたなあという印象を抱いていたのですが、実際にPHP7でちょっとしたものを書いてみてその思いを新たにしました。
Soushiにはまだあれこれ足りない機能や雑な実装がたくさんあるのですが、PHPの勉強がてら、あれこれのホームページ作成に使いつつ、ブラッシュアップしていければと思います。