GravってどんなCMS?

フラットファイル CMSと具体的にGravがどんなCMSか紹介。公式サイトとドキュメントと補足説明です。

GravってどんなCMS?

この記事は古い記事(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 の(WordPressJoomla!)は大手サイトに向いていますが、 単純な小規模サイトには不要な部分が多く、 それらを削ってよりシンプルで高速化を目指した 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 、 テーマは TwigSass が使われてます。 それぞれ簡単に説明すると 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)になって管理プラグインができたら、 敷居もかなり下がるので広まる気がする。

Blog Comments powered by Disqus.