Yes the MVC work is from scratch but inspired by CodeIgniter, I have used that in the past and can recommend it.
In the past I have found it difficult to neatly organise a project like this in the CI MVC model so I thought if I start from scratch I understand the foundations better.
It's won't be as robust as CI but then it won't have several years of little tweaks that make it harder to understand what's going on.
I'm trying to keep a separation between the mvc code and the system behind it so that people can just focus on their site structure and how it is generated.
Basically a request gets routed by Carbon::router to an appropriate
Application controller (based on content types).
The content gets filled in by the system's DataModel class which is passed through the application's Model (defines sections of content mostly). Once we have the content in the right structure it's sent to the application's View class that uses a very simple templater to generate the page.
Only using two models at the moment:
public static $page_model = array(
'markdown|html' => 'content',
);
public static $post_model = array(
'yaml' => 'metadata',
'markdown|html' => 'content',
);
I'm taking the controller and model that is used and then use that to choose the right template file (pages.php for pages, archive.php for archive etc).
But for example you might add a Portfolio controller and model that sends things through to a portfolio.php template.