Welcome at the documentation page of NetLime Theme.
Let me introduce you the goals of this theme, why I develop it, how the idea came, why I am breaking the rules of wordpress theme development principals.
Is to create a kind of starter theme that aims to be something between a starter theme but also a theme framework by building it up from extensions with support of using Sections (blocks) that are cache-able with separate logic of model and view layer, with support of multiple wrappers (layouts).
Why I develop it
Do you ever found a bug in your starter theme that you use on multiple websites and after fixing it you cannot just copy paste the fix into older version of you theme? Or have you ever did new feature to your theme and you wanted to update old websites using your theme to have these new features? Did you ever wanted to cache just parts of your website or just not to use third party plugins? Did you ever wanted structural code for WordPress theme? Did you ever needed multiple re-usable layouts to your WordPress theme, without repeating yourself? Hope you found the answer 🙂
How the idea came
When I have started to learn magento development I hated the principe of having blocks which mostly required to have model (or the built in magento or your custom which is extended from magento one) but after my second project I have realized that it’s pretty powerfull since when I needed to do that same thing I just copied view, model, added them into xml config and it was ready to go including configured caching and everything else. But here I have made little more primitive version and without using xml. Insteaf of xml you register sections,wrappers and extensions with a function which is more friendly way of doing it, but a little less powerfull and because of that there are theme hooks which fix this issue while keeping code clean, fast and readable by human beings (never tested on animals).
Why I am breaking the rules of wordpress theme development principes
I am not breaking every principe I am trying to keep some of them but also creating new ones which allows to previously discribed thing to work as excepted.
PS.: Written on iPad on train station in Slovakia