Grav| Open source flat-file CMS
Grav(グラブ) は、オープンソースかつ Flat-File の CMSで、Symfony Webアプリケーションフレームワークをベースとして PHP で記述されています。
WordPress のように管理画面からサイトの設定やページの執筆を行うスタイルですが、データベースが不要な Flat-File システムで、サイトのバックアップもフォルダのコピーをとるだけ・・と非常に扱いやすいものになっています。最近では、WordPress か Grav か・・と議論されるほど話題になっています。
- 2019年 Best Flat File CMS
- 2016年 Best Open Source CMS
ダウンロードとセットアップ
- サーバ要件:PHP 7.1.3 以上、FTP接続ができればOK
データベースを必要としない Flat-File CMS です。
- ダウンロード:https://getgrav.org/downloads
管理画面付きの Grav core + Admin plugin がおすすめ
- セットアップ: ダウンロードしたパッケージフォルダを置くだけです。
- セットアップ参考情報(日本語サイト)
特徴・使い方
- 管理は「ダッシュボード」から行います。
入り口アドレスは以下の形式。(サイトのURL)/admin
- ダッシュボードの参考イメージ
- ページは Markdown で記述する仕様ですが、ダッシュボードのエディタには入力サポートがあるので記法を知らない方でも簡単に記事の執筆が可能です。
- 画像はページに Drag&Drop でアップロード可能です。
- 新規ページの作成、削除など、あらゆる操作はダッシュボードのメニューから直感的にできるように設計されています。
データ構造とページ構成
- サイトのメニュー構造は user/pages/ フォルダの中の番号付フォルダの構造が反映される前提です。各ページは md 形式のデータで格納されます。
user/pages/ │── 01.home │ └── home.md │── 02.about │ └── about.md └── 03.works │── 01.photo │ └── article.md └── 02.illust └── article.md
- ページにはスタンダートページとモジュラーページがあります。モジュラーページとは複数のモジュールを1ページに寄せ集めるもので、SinglePageデザイン風のページになります。
カスタマイズについて
Grav のシステムは、Symfonyという Webアプリケーションフレームワークをベースに、PHPで記述されています。
- テーマのデザインは PHPのテンプレートエンジン Twig で記述されています。
例えば、default.md というページファイルは templates/ フォルダにある default.html.twig という Twig テンプレートで、同様に blog.mdというページファイルは blog.html.twig テンプレートでレンダリングされます。
- ダッシュボードのプラグインメニューから Editor プラグインをインストールすると、twig や css などサイトを構成する全ファイルをダッシュボード上で直接編集することができるようになります。
関連情報
セットアップ事例
- https://design.kyusan-u.ac.jp/grav
とりあえず使える状態になるまで 10分程度で完了です。