行政書士事務所
ホーム>記事一覧 > Grav CMSの使いどころ

Grav CMSの使いどころ

新潟市の新潟県政記念館
新潟市の新潟県政記念館

昨年末から、GravというフラットファイルCMSを試しています。

前回の記事では、ubuntu上でGravを動かすローカル環境を作りましたが、その後いろいろ試してみて、いまのところの感想をまとめておきたいと思います。

SSHはあった方が良い

Gravは、SSHからCLIで操作することを前提に作られているシステムです。

管理画面(Github)も、あるにはあるのですが、プラグインのひとつとしてのみ機能し、不具合もそれなりにあります。

SSHの機能しない環境(たとえば、ロリポップなどの格安のプラン)を利用する場合、不具合が起こったら、その都度、再インストールが必要です。
(とはいえ、インストール自体は簡単なので、WordPressよりは手間がかからないかもしれませんが)

できれば、SSHの使える環境(ロリポップなら、月額500円のプラン以上)を使うのが良いと思います。

あるいは単純に、レンタルサーバー代を浮かす目的ならば、静的サイトジェネレータの方が、その目的に合致しそうです。

テーマを途中で変更するのは難しい

Gravのデザインテーマは、簡単に変更できます。

プラグインの管理画面からもできますし、GPMというGravオリジナルのCLIからもできます。
また、system.yamlというテキストファイルを編集するだけでも変更できるので、どの方法であれ、やり方さえ覚えれば、難しくありません。

ところが、Gravのテーマは作り方が独特で、テーマごとに対応できるテンプレートが決まっています。
固定ページだけに対応したテーマの場合、ブログとして運用してきたサイトを、そのままの形で適用させることができません。

これをやろうとすると、テーマ内のtemplateフォルダに、そのブログ用のTwigファイルを新しく作成する必要があります。

Twigファイルの作成は、基本的なテンプレート機能だけならば、それほど難しくありません。
しかし、macroなどを使って、ゴリゴリ編集したい場合、それなりに勉強が必要になり、PHPなどのプログラムに慣れていないと、行き詰まると思います。

WordPressの場合、たとえばクラシックテーマなら、single.phpや、archive.phpなど、ファイル名が決まっていたので、テーマの途中変更が簡単です。
一方、Gravの場合、テンプレートの名前がテーマ制作者側で自由に決められるので、テーマの途中変更が難しいです。

テーマ制作の自由度が低い分、運用中の変更が効くWordPressと、テーマ制作の自由度が高い分、運用中の変更が難しいGravと、それぞれ一長一短のようです。

オリジナルのテーマは作りやすい

テーマについては、上記のとおり、WordPressほど制約が無いので、一から作るオリジナルテーマは、作りやすいと思います。

Twigの基本的な使い方さえ覚えれば、HTMLとCSSの使えるデザイナーなら、すぐに作り始められるはずです。

インストールしたときに最初に入っているテーマ(quark)は、いろいろなことに対応させるために、複雑になっています。
まずは、いくつかテーマをダウンロードしてみて、そのフォルダを見てみながら、作っていくのが良さそうです。

管理権限の設定が簡単

Gravでは、管理画面から、ユーザーごとの管理権限の設定ができます。

管理者(テーマの変更や、プラグインの設定などができる人)の権限の他に、特定の記事のみを編集できるユーザーなど、細かく設定することができます。

これはつまり、共同作業でサイトを作成したい場合、プログラマの権限と、デザイナの権限、記事運用者の権限など、細かく設定できるということです。

管理者権限(すべての権限を持っている)の管理画面は、変更できるボタンが多く、最初見たときは目がチカチカすると思います。
しかし、権限を絞ったユーザーとしてログインすれば、たとえば、記事を書くボタンだけを表示させることもできます。

複数人で作成する場合、(そして特に、あまりプログラムに詳しくない人が関わる場合)には、権限の違いを上手に活用することで、効率的なサイト運営ができそうです。

参考資料

最後に、日本語で読めるGravのサイトをまとめておきます。
公式サイトのドキュメントも、充分読みやすいのですが、全部英語なので、理解が難しい部分があります。

行き詰まったときは、以下のような日本語のサイトを参考にしながら、少しずつやっていくのが良いと思いました。

わたしも、何か新しいサイトを作る必要がでてきたときは、Gravを使ってみようと思っています。


2024年6月追記:

Gravについて、Qiitaに記事を書きました。
ちょっとマニアックな内容ですが、よかったら読んでください。

Grav CMS の Flex Objects で、ミニブログを作る