I would like to share an idea and vision with you for which I would be very happy to get your feedback, thoughts and - maybe - support.
tl;tr: I developed a Sage based Theme Framework that reduces repetetive dev work to make it easier and faster to set up new themes & websites. Asking the community to share thought about its usability & need and asks to support the idea of Stage.
As most of the people in this community I really enjoy working with Sage and I really improved my development skills by creating websites based on Sage 8, 9 & 10. And each one got more clean code, is faster and more lightwight and was more fun to work on. I must say it is a plesure for me to follow the further development and to test and use all the amazing code generated in the Roots ecosystem.
However starting a website is always a bit frustrating, as you always need to start from stratch.
Two years ago I strongly needed a template that is easily customizable by different non-techy users. So I started to search for available themes that are as flexible as possible with requirements such as:
- Fast learning curve for the user
- Deep integration into Customizer, with „useful“ options
- No need for another Page Builder, as Gutenberg was already announced
- Clean, lean code without spammy advertisements
- Possibility to extend/customize it via packages, hooks & child themes
- Multiple and extendable design options (e.g. different headers, footers, grid layouts … to choose from)
The only one that came close to what I expected was the Pro-Theme from Yoo. But it requires another page builder and I only want to go with WP core featues. Using something other than Gutenberg & Customizer is a no-go for me. So I realized that I need to develop my own Template and started to do so with Sage 9 and later ported the code to Sage 10, when the dev-branch was published on GitHub.
I am working on this in my spare time since 2 years now and you can imagine, I invested a huge amount of hours to get to the current status:
- Multiple archive, search, header, footer, … grids & styles to choose from
- Global colors, style, layout and typo options in the Customizer
- Colors & Fonts are globally available via CSS vars (also in the editor)
- Google Fonts support with local font saving
- Custom Fonts support: Simply upload it to the media gallery and it is available in the customizer
- Per CPT settings e.g. to choose the grid layout
- All customizer controls can be programmatically defined in the defaults.php file
- WooCommerce support
- Based on Tailwind CSS
- Styles and Features that can be overwritten in Child Themes
- Barba.js as optional AJAX loading content
- PhotoSwipe as optional Gallery Lightbox
- Lozad.js for optional Media lazy-loading
- Infinite Scroll for optional infinite scrolling in archives
But this is still a early proof of concept and even though I already released a couple of small websites based on Stage usch as this one, there is still a lot to do. And while it is currently integrated into the theme, maybe this could/should be better done as separate composer packages which is then added to Sage.
The goal is to build a framework, that allows developers to choose from templates which are already set up. E.g. different header styles, mobile menus (drop-down, overlay, off-canvas,…), footers, archive grids (masonry, cards, crazy grid, …). To deeply integrate “useful” features such as infinite scroll, lazy loading or galleries which can be easily switched on/off and to allow easily to define basic global styles such as for typography, colors, spacing,… All this should be easily adjustable in the Customizer or by code.
So while Sage is a great empty starter template, Stage would be the addition which eliminates a lot of repetitive work as the dev does not need to develop the header, mobile menu, archive layouts, … again and again but just chooses from the selection or adjusts that to the liking.
A couple of weeks ago I stubled over this theme and realized, that the authors did what I was working on - but the Customizer integration is so much better as I would be ever able to realize with Kirki. I contributed a lot to Kirki 4.0 development in the past months and even developed a sync and local fonts upload package, but Kirki is now sold and the future is unsure.
Both is kind of frustrating after inversting so much time, but following the “Kill your darlings”-Concept I decided to stop working on Stage and to get more familiar with the themes that got published in the meantime (this is another one).
But I have to say, I am missing a lot from Sage. E.g. blade, the clean file logics, using the packages by @Log1x and others and finding answers in this awesome community. So that is why I am wring all this and why I want to ask for the communities opinion.
Is there a need for this vision? Would you support it by contributing? Or can you even imagine that this community works together to build something like this? Really anything that comes to your mind is interesting for me.
Thanks for your attention and kind regards,