Today, I’m presenting Grav, a fast, simple and flexible blog platform with best in class technologies.
Grav, for Gravity (not the movie!! but for the attractions between objects!), is an open source file-based blog. If does not require a database or much installation. Extract the zip in your server and you are up and running!
Very similar to JustWriting presented previously, but probably much more advanced and userfriendly.
As explain on their official wiki, Grav uses well established and best in class technologies such as:
- Twig Templating: for powerful control of the user interface
- Markdown: for easy content creation
- YAML: for simple configuration
- Parsedown: for fast Markdown and Markdown Extra support
- Doctrine Cache: for performance
- Pimple Dependency Injection Container: for extensibility and maintainability
- Symfony Event Dispacher: for plugin event handling
- Symfony Console: for CLI interface
- Gregwar Image Library: for dynamic image manipulation
And does not require much (Web server + PHP).
Associated with caching technologies (APC, …), you will feel all the performance of Grav.
The admin interface is light yet powerful with all it needs (users management, update, backup, statistics, etc…) but will need to be installed through plugins.
it’s clearly an interesting project!
If you wonder, why using a markdown type of blog instead of a CMS like WordPress, I think Grav summarize well the reasons:
- Instant installation (Extract and done)
- No database
- Few requirements (Web server + PHP)
- Easy to backup / restore (It’s just a file)
- Blasting fast!
- Simple to manage and use
It will fit perfectly the needs of average blogger (like me I suppose!)
Interested to use? Let’s see how to install it
I presume you already have a web server and PHP installed. If not, have a look on my LAMP tutorial.
1) Download the zip
Simply download the package you wish to install (Core or sample site), in my case I will use the Agency Skeleton (a modern one page template that scroll down to the relevant sections)
cd /var/www wget https://github.com/getgrav/grav-skeleton-agency-site/releases/download/1.0.1/grav-skeleton-agency-site-v1.0.1.zip
Simply unzip the archive, rename the folder name and delete the .zip
unzip grav-skeleton-agency-site-v1.0.1.zip mv grav-skeleton-agency-site grav rm grav-skeleton-agency-site-v1.0.1.zip
3) Provide full access right
To avoid any permission issue, you need to change the owner of the folder by your web server user. For apache, simply run in root (or with sudo):
chown www-data:www-data -R /var/www/grav
4) Install PHP GD and Curl dependencies
If you are on a fresh system, you will need to install the GD and Curl libraries for PHP otherwise during the compatibility check will flag them as missing.
apt-get install php5-gd php5-curl
And you’re good to go.
Simply go to http://YourIP/grav to access to your Gravity blog platform!
If any error happens, the compatibility check will tell you. If no error, you will directly access to your blog main page.
Grav’s project have a nice wiki with a lot of information on how to use it. I strongly recommend it.