The evolution of developing content
Sometimes if you wait long enough, all things come back into fashion

Static pages
So way back when; when I were a boy, learning HTML, CSS, JS there was Dreamweaver and static pages. Static pages would stay the same forever (without the help of a web developer). Javascript could make some elements such as dates, copyright marks dynamic. But the article would largely stay the same.
Dynamic static pages
Then came dynamic pages, these could be changed without the need of a developer. My first experience was the Sheffield Hallam University Staff Intranet site, which was based in Classic ASP. It used a very early CKEditor WYSIWYG, to edit pages, then save an updated version back to a file on the server.
At the time I managed a team called Online Services, and we supported the Faculty of Development and Society, a faculty that was the size of the University of Bath! We made good use of this editing facility. Instead of requiring 8+ developers to support the volume of content changes that would be required, we employed a system of Gatekeepers. Each team or department would have 2 or more Gatekeepers, in charge of editing their own content.
Online Services, would provide the initial training in page and menu creation, offer advice about content creation and the web, and then the teams could manage their own section of the intranet site. I delegated the look and feel to my colleague Simon Curry, whilst I produced a few dynamic Faculty Booking Systems.
Other faculties would often remark:
You have the best staff intranet site
Why can't we have an intranet site like that?
Dynamic database pages
Then came along the time of Mambo/ Joomla/ WordPress and static content, became dynamic content stored in a database. I didn't think you could get any better than this. WYSIWYG editors would post content and this would be stored into content tables in MySQL. It made the clunky Classic ASP intranet site seem positively pre-historic by comparison. I went on some training courses and learnt how to create dynamic components for these systems and was quite happy developing like this for many years.
My path crossed with Timble and Johan Johan Janssen; co-founded of Joomla and learnt that content in a database was not necessarily the best option. For one, there was the time lag; the time it takes to connect to the database, retrieve the content and then parse it back into viable HTML, this would mean that is was considerably slower than static pages. Caching was an option, but why not just use static pages? Secondly content in a database is not very readable, you have to connect into the database to view it, and if the content had been html encoded for security, you could wave goodbye to understanding it; short of decoding it back again.
Markdown - static generators
So then came along Markdown, and Timble's front end developers were early adopters of Jekyll to generate static sites. Freelancing exposed me to options such as Ghost and Gatsby. And it would seem that content editing had almost gone full circle once again.
Dynamic page generators
There was one big draw back to these static markdown sites, that was no dynamic options. You had to use third party services even to provide a `Contact us` form. So then came, static pages injected with dynamic capabilities:
https://www.joomlatools.com/blog/developer/joomlatools-pages-the-page-generator-for-joomla
Joomlatools Pages was an easy to use page generator for Joomla inspired by the ideas and concepts of flat-file CMS systems like Grav and Statamic and static site generators like Jekyll, Hugo, Gatsby etc.
In house content management system
So when I was faced with the problem of creating and managing content for my latest day job, and allowing our stakeholders to edit their own content, you can see that I already had a wealth of knowledge and experience that I could choose from. As a result of this work for the first time in my life, I am not using a open source Content Management System to power my own personal website, rather it is a Laravel site with a home grown static site package that I've developed all by myself :)
Here's a brief overview:
- Static pages based in Markdown
- A CKEditor markdown WYSIWYG creates and edits the static files
- The CMS caches these categories and pages
- Menus can be created and edited on the fly
- Rendering content is super fast
- Asset management integrates with Cloudinary for CDN delivery of such assets
- Dynamic content is possible through WordPress style widgets
- Social graph integration, Table of Contents comes as standard