この記事は古い記事(14/11/08)です! 新しい『GravってどんなCMS?2015年度版。』(15/09/01)があります。 そちらをお読みください。
前回の『フラットファイルCMSを比較してGRAVにしました』では Grav にした理由しか書いてなかったので、 具体的に Grav がどんな CMS か紹介していきます。公式サイトとドキュメントを参考にして補足説明を加えたものです。(14/11/8 現在Version 0.9.4)
フラットファイル CMSって何?
Grav はフラットファイル CMS(データベース (SQL) を使わない軽量 CMS)。 フラットファイル CMS は
- 使用するサーバは、 サーバーサイド・スクリプト(PHP など)さえあれば OK
- データベース不使用のため、 高速
- バックアップやサーバの引っ越しが楽
といったメリットがあります。 高機能 CMS の(WordPressや Joomla!)は大手サイトに向いていますが、 単純な小規模サイトには不要な部分が多く、 それらを削ってよりシンプルで高速化を目指した CMS です。
Gravの特徴は?
※かなりアバウトな意訳です
Enjoyable Content Creation
Use your favorite Markdown editor to create your content online or offline
好きな Markdown エディタでいつでも記事を書けるよ!
Simple Backups / Restore
Being file based means backing up and restoring your data is trivial
データのバックアップと復元は簡単だよ!
Version Control & Sync Support
Use GIT, SVN, Dropbox, etc. to version and synchronize your data
GIT 、 SVN 、 Dropbox とかでデータ同期ができるよ!
Instant Install
Unzip to install. Grav runs out-of-the-box. Configuration is optional!
Zip ファイルを解凍するだけでインストールできるよ!
Smart Caching
Grav automatically knows when you change things and updates its cache
Grav は自動でかしこいキャッシュをしてくれるよ!
Package Manager
Allows you to find, install, and easily update extensions for Grav
パッケージマネージャで拡張機能のアップデートは簡単!
Media Processing
Dynamic image manipulation to resize, crop, resample, effects and caching
画像のリサイズ、 トリミング、 リサンプリング、 エフェクトもできるよ!
Flexible Taxonomies
Create taxonomies such as tags, categories, and authors to manage your content
自由にタグとかカテゴリーを管理して分類できるよ!
Extensive Documentation
Grav has a dedicated documentation site plus loads of tutorials and guides
チュートリアルとガイドとかドキュメントが揃ってるよ!
Awesome Technology
Grav employs best-in-class technologies such as Twig, Markdown, YAML
Twig 、 Markdown 、 YAML と最高のテクノロジーを使ってるよ!
SEO Friendly
Human-readable URLs & per-page metadata provide great SEO capabilities
人が読める URL とページごとのメタデータは SEO に効くよ!
Powerful Admin **
A sophisticated Admin plugin to provide browser-based control and configuration
ブラウザ上で管理できるプラグインあるよ!※開発中
Simple Theming
Twig templating enables you to realize any design imaginable
Twig のテンプレートはどんなデザインにもできるよ!
Users and Roles *
Easily create users and roles and set permissions to restrict access
ユーザー管理も簡単にできるよ!※ベータ版
Basic Requirements
Grav runs on PHP 5.4 and greater, including 99% of web servers, out of the box
Grav は PHP5.4 以上のサーバーなら、 すぐ動くよ!
CLI Tools
Command line tools such as dependecy installation, cache clearing, and backups!
CLI でインストール、 キャッシュのクリア、 バックアップができるよ!
Multi-Language Support **
A simple mechanism for providing multiple translations for your content, built in
簡単に複数の言語で翻訳ができるよ!※開発中
Coded with Love
Grav was developed for simplicity and ease of use. We love it, and we think you will too!
Grav はオレたちの愛で出来てるよ!
補足説明
Grav は記事は Markdown 、 テーマは Twig 、 Sass が使われてます。
それぞれ簡単に説明すると Markdown 記法は、 もともとは HTML の装飾(<h1>
とか<strong>
とか)が見難くてつけるのめんどくせーから、 分かりやすくて簡単に付けられるように書こうぜ、 って方法。
書き方はモノによって多少方言があるけど、 Wikipadiaに載っている書き方が基本になっていて、 余り変わりません。
Twig はPHP のプログラム部分とデザイン部分を簡潔に分けて書けるようにして、 ついでにテンプレートを使いまわそうぜ、 って方法。
Sass は CSS が変数とか数式使えないし、 繰り返し同じこと書くのめんどくせーから楽に書けるようにしようぜ、 って方法。
どれも元々のソースコードを見やすく簡潔にしようとして生まれた技術。
YAMLはデータの書き方。簡単なのでコードを見れば直感的にわかると思う。以下はこのサイトの \user\config\site.yaml。
title: 俺にはまだ二次元がある。
author:
name: あんりあ
blog:
route:
- og:
title: 俺にはまだ二次元がある。
type: website
url: http://unrea.usamimi.info/
image: http://unrea.usamimi.info/images/orenizi.png
metadata:
description: このサイトはあんりあの趣味を全部ぶち込むためのサイトです。具体的には、 WebDesignやエロ小説の公開、 二次小説の紹介など。
twitter:card : summary
twitter:site : @_unrea
taxonomies: [category,tag,month]
CLI はコマンドラインインターフェイスの略で、 WindowsOS でいうコマンドプロンプトで管理できるよ、 ってこと。 使えるサーバも限られる方法なんで省略。
Gravを使ってみて
いいところ
インストール・移行が簡単
解凍して FTPで サーバに上げるだけです。 テスト環境から移行するときも書いた記事そのまま Grav ディレクトリごと移動するだけでした。
日本語でも平気
ディレクトリ名に日本語を使えば、 そのままURLが日本語になる。
追記(2015/8/14)
正しい使い方ではなかったようで、 ディレクトリ名は英数字小文字、 スペースはハイフンかアンダーバーで変換でないと動作しません。
ディレクトリのソートができる
記事はディレクトリ名が URL になりますが、 ディレクトリ名の先頭の数字~.は URL では無視されるので、 「日付.タイトル」でディレクトリを作れば日付順でソートできる。
軽量
このサイト全部(PHP、 テンプレート、 記事、 画像など)で 6.18MB しかないので GoogleDrive に入れておける。 バックアップと同時に、 サイトのカスタマイズから記事を書くまで場所を選ばずできる。 ブラウザの管理画面がなくてもいつでも編集できるので、 ローカルで十分ともいえる。
テンプレートの編集が簡単
Twig と Sass で書かれているので部品の使い回しが可能。 変数による色の一括変更もできる。
不満なとこ
予約投稿・下書きがない
アップロードした記事はそのまま投稿になるので、 プレビューができない。
CLIが使える環境がほしくなる
パッケージマネージャとか自動バックアップを使うのに CLI がいる。 管理プラグインで可能になればいいけど。
まとめ
小規模サイトには十分な機能の CMS だと思う。ただ単にブログを作るだけなら、 /user/configのyamlファイルと/user/pagesのMarddownファイルを編集すればOK。
公式サイトのダウンロードには、 使い方別に3種類のサンプルが用意されているので参考になる。
Grav は開発当初から、 簡単・高速化・柔軟性 を目標にして、 ロードマップも明確。
Version 1.1.0(現在0.9.4)になって管理プラグインができたら、 敷居もかなり下がるので広まる気がする。