AngularJSベースの軽量CMS razorCMS(ng)
最初はフラットファイルCMS 5選とかありがちな記事を書こうとしていたんですがね。
razorCMS (ng)
razorCMSはそれ自体は管理画面までひと通りの機能を備えたフラットファイルCMSです。最新版はrazoCMS Phoenix v2.1となっています。
今回扱うのはこの最新版ではありません。
サイトを良く見てみると、AngularJSを利用した別バージョン razorCMS(ng) があります。
まだBeta版なためドキュメントも少なく実用レベルかと言われると微妙なところですが、コンセプトは面白いと思います。
公式サイトの説明の和訳(超意訳)です。
インストール
ダウンロードしてきたzip(記事執筆時点では razorcmsng_v_1_7.zip )を解凍します。
assets/json/site.jsonを編集してサイトの情報を設定します。
{ "name": "razorCMS (ng)", //サイト名 "summary": "razorCMS (ng) bare bones CMS", //サイトの概要 "homePage": 1 //トップページに使うcontentのID この場合はviews/content/1.phpが利用される }
設置したディレクトリの配下にすべてのファイルを移します。
終わりです。
データベースも使わない上に管理画面もないので非常に簡単です。
ディレクトリ構造
-assets/ -css 作者はless派の模様 -fonts 内容の割にzipが重いと思ったらフォントが入っているためだった -images -js AngularJSなどのjsファイル require.jsによって依存関係を解決しつつ読み込まれる -json ページのデータ(本文はviews/contentの中身を利用)やサイトの設定などを格納するディレクトリ -lib/ index.phpでインクルードして利用されるPHPファイル -models/ ??? -storage/ ??? -log/ -views/ -content/ ページの中身に使われる。フラットなPHP。 -modules/ ページの中にパーツとしてよびだせるモジュール -templates/ サイトのレイアウトに利用されるテンプレート -.htaccess -index.php ルーティングなどを行うPHPファイル
コンテンツを編集するには?
それぞれ
ページ: assets/json/pages.json 本文(content)はviews/content/*..php
メニュー: assets/json/menus.json
サイトのレイアウト: views/templates/*.php
が実体なので直接編集します。
JSONの書き方は見ればわかると思います。サイトのレイアウトをいじる際はPHP+少々AngularJSの知識も必要になります。
ページの情報と本文が別々の場所で管理されているので、
管理システムがないと少々いじりにくいですね。
とはいえ、サイトの表示はサクサクなのは魅力。
検索エンジンへのインデックスについても暇があれば検証してみたいところです。
今後に期待。
- CMS , PHP , Javascript