New Blog with Symfony2

新ブログイメージ
新ブログイメージ

独自ブログを作成してみました。自サーバでホストするブログと言えば、 Wordpress が主流だと思うのですが、自分の勉強も兼ねて、 Symfony2 で作ってみました。この投稿はその記念の1つ目の投稿です。

私自身しょうもないブログを 2005年くらいから書いていましたが、ちょっと心機一転することにしました。過去の投稿は、old というサブドメインを振って、 s3 に静的ファイルとして退避させています。内容をそっくりそのまま新しいブログの方にインポートもできたのですが、クリーンインストール的な方が好きなので、こっちとは独立させておきました。バックアップ分を戻すか、それとも新規で綺麗になったところでいじっていくか、というところで、少し考えました。SEO的には良くないんでしょうが、別にSEOを意識してブログを書いているわけではないのでこれでいいです。

一応参考程度に、 wget で持ってくるコマンドを書いておきます。いつもオプションを忘れてしまうので、自分のために書いておきます。

$ wget --mirror -p --adjust-extension --convert-links -e robots=off -P . http://ganchiku.com

このコマンドで持ってきて、あとは s3にサブドメインを割り当てて、cyberduck とかでポコッと置いておくだけです。s3では、静的ファイルしか置けないのですが、まぁ、いいんじゃないか、と。

ブログを自分で作った理由は、個人ブログなら正直テーブル3つで良くないか、と思うわけなんですよね。つまり、投稿とカテゴリと、それをManyToManyでくっつけるテーブル。投稿するのが自分1人なら、ユーザテーブルもいらないな、と。今回は、実際はユーザテーブルも入れてあるけど、本当はいらないと思っている。コメントに関しても Disqus や Facebook を使えば、コメント用のテーブルもいらない。画像に関しては、ブログ上でアップするのではなく、Flickr にアップロードして、その画像を挿せばいいと思う。そうすれば、超シンプルな構造になって、他に何かと組み合わせたいときなどに柔軟に対応ができると思う。

確かに Wordpress のいいところは、やっぱりウェブ上でいろいろカスタマイズすることのできることなんだけど、そのため、コードは複雑になって、追うのが嫌になっちゃうんですね。で、Wordpress 方式を学んで拡張するのが早いか、自分で作るのが早いか、ということになるんですね。基本的にテーマもどこかから持ってきて、プラグインもメジャーなものしか使わないのであれば、Wordpress がいいと思っています。でも、がっつりカスタマイズが必要ならば、正直自分で作った方がいろいろ柔軟にできると思っています。そういった拡張などを考えていたりするわけで。。。。そうなると、自分が一番慣れている環境を使って作るのがいいかな、と思いました。それに Wordpress のテンプレートの分け方やフィルターなどの差し込み方が私には合わないので作れるなら、自分で作ろうといった次第です。

symblog
symblog

さて、今回のブログを作成する前に symblog という Symfony2 のチュートリアルを私が翻訳していたものもあるのですが、今回のはそれは参考にせずに自分で思うがまま作ってみました。Symfony2.1ベースで作成してあります。追加したサードパーティ製のバンドルは、 FOSUserBundle, DoctrineFixtureBundle, DoctrineMigrationsBundle, MopaBootstrapBundle, KnpPaginatorBundle, LiipImagineBundle です。まぁ、本当に基本的なバンドルしか使用していないです。 現時点では実装した機能は、ログイン、投稿とタグのCRUD、Flickr のAPIを使った写真の仕組みだけです。一応、プレビュー機能なんかも付けておいたのですが、あまりいらないかも。。。あと考えているのは、XML RPC サーバ的な機能を作ろうかな、と。なぜか前に MarsEdit を買ったことあって、インストールしてあるので、そちらで編集できたら楽かな、と思うので。

デザインですが、皆大好き Bootstrap です。Symfony2 では、MopaBootstrapBundle というバンドルを組み込むと less のフィルターも使えてすごく楽に使うことができるんですよね。less のキャッシュだけ反映が面倒ですが、かなり柔軟に Bootstrap のデザインをカスタマイズすることができたと思います。レスポンシブにしてみたり、ナビゲーションをスティッキーにしてみたり、masonry を組み込んでみたり。ちょっと見た目のところをがんばってみました。自分の姿が写っている写真をトップに持ってくるのには、少しどうかなー、と思ってみたのですが、まぁ、それほど汚い写真でもないので、採用してみました。

あと、私のローカルのストレージに眠っていた旅行の写真などを Flickr にアップロードして、こちらの「写真」というページで表示するようにしてみました。これらの写真売れるもんなら、売ろうかな、と思います。フリーのライセンスのものを血眼になって探すよりも、お金で解決したほうが時間もかからないし、結局よかったりするので、売れるものなら、売りたいと思っています。

あとは、こうやって自分で作っておくことができれば、後々同じような仕組を作ってと頼まれたときに、かなり楽ができそうだな、と思っています。ある程度まとまって動くものを持っていれば、フルスクラッチで作るよりも楽なので、そういう仕組をいくつか作っておこうかな、と。なので、いくつかスニペットを作って、それをそのままサイト上で動かすようにしたりとかやってみようかな、と考えています。同じような仕組を作りたい人は、私を1日単位で契約してみてください。そこで一緒に作ってもいいですし、講義形式にしてもできます。もし、ご興味のある方は、私にご連絡ください。とりあえずは、リクルーティングは受け付けていませんが、いい条件でしたら、それも話を聞きたいので、お願いします。

comments powered by Disqus