@erotavlas Out of curiosity, I took a dive into the tools you mentioned: Netlify CMS, Lector and Publii. I must admit that the descriptions of the tools are not as clear to me as I would like to, so I’m open for any correction/additions when I misunderstood the tools and/or concepts.
Based on what I have read and understood, I use the following definitions:
Contact pages, discussion/comments, etc are therefor an issue for static sites because it lacks a server to process any logic and/or storage. External workarounds are available though.
The tools operating in this field come in flavours making comparison difficult:
- Pure static site generators like Jekyll consuming external content (importers).
- Content editors/managers providing content for external generators (Netlify CMS).
- Hybrids providing (offline/local) content editing and static site generation (Lektor, Publii)
Where does Grav fit in?
Grav is not a static site generator. It requires a PHP server that generates HTML pages dynamically each time a user requests a page. HTML output can change based on changing business logic. Because of the PHP engine it can also respond to posts from the client and provide storage. The site is therefor dynamic.
Conceptually, Grav is more like Wordpress, but build using the latest and greatest architectures/technologies and insights.
Contrary to Wordpress, Grav is designed with performance and simplicity in mind using modern architectures.
- It doesn’t use a heavy database to store content and definitions, but instead uses simple fast flat files.
As a side effect all content and definitions can easily be stored on GitHub and edited by any text editor.
- The above makes Grav a good compromise between performance and flexibility/dynamics, by upfront optimisations/caching and run-time dynamics delivered through php.
Grav can easily work together with GitHub (since everything is a file) for version control. And websites can download parts of, or entire Grav sites, from GitHub. GitHub is used for version control and (automated/triggered) synchronisation, but not deployment. It still needs its own PHP server.
Besides concepts and performance other factors are important when choosing a system.
- How viable is a tool? Publii looks nice, but seems to be 5 months young…
- How big is the community? That tells something about viability and support options.
Hope this helps…
At least it gave me some more insights