I would recommand you taking a look to Phenomic, an alternative to Gatby. There is an entry on Phenomic FAQ that try to list majors differences between Phenomic and Gatsby https://phenomic.io/docs/faq/gatsby/ (not reviewed by Gatsby author yet even if I poked him - he is probably busy).
Here are some key points I would like to highlight:
- like gatsby, Phenomic generate HTML for all pages (so works without JS)
- unlike gatsby, Phenomic does not put all content of the website in the JS client side bundle (content is loaded on demand only, which is a must have for moderate and big websites)
- offline support can be enabled with a single boolean flag to save all content of the website (make sense for docs) but you have plenty of options in case you want something more flexible (like cache when viewed) https://phenomic.io/docs/advanced/offline-browsing/
- we will offer soon a built-in search probably via algolia, but I will try to offer alternatives (note that it can already be setup pretty easily - some of our users already did this with just a few lines of code)
- a plugin system is coming soon so you can tweak the content consumed by phenomic
- themes will be a thing
- in case you have some questions before making your choices, here is a link to our gitter chat https://gitter.im/MoOx/phenomic
Phenomic is not meant to be a closed/magic box: you have full control over any step of the build process. And you also have full control over your webpack and babel config etc. We offer flexibility for built-in options via JSON or CLI args (we use yargs and an additional custom layer to validates all options and values so you make any mistakes).
Btw, Phenomic offers by default best practices with eslint/stylelint and uses under the hood AVA for its tests.
The value added as I perceive it by gatsby is instant page changes on link click. Is it possible to make phenomic preload at least some of the pages, as I really don't see what benefit it can provide otherwise?
cssnext has some features that LESS doesn't like auto prefixing CSS rules according to your browser scope. So it rely on caniuse database which is why it's not a good idea to use it on the client side. That being said, there is a playground so you can try it http://cssnext.io/playground/
A lot of people stopped using those things.
With a good methodology and a UI component approach, you will find yourself to not need mixins loops etc.
I stopped using Sass some years ago and I can definitly live without those features. Maybe one missing thing is extend, but it's comming, a CSS spec is in draft ;)
Here are some key points I would like to highlight:
- like gatsby, Phenomic generate HTML for all pages (so works without JS)
- unlike gatsby, Phenomic does not put all content of the website in the JS client side bundle (content is loaded on demand only, which is a must have for moderate and big websites)
- offline support can be enabled with a single boolean flag to save all content of the website (make sense for docs) but you have plenty of options in case you want something more flexible (like cache when viewed) https://phenomic.io/docs/advanced/offline-browsing/
- we will offer soon a built-in search probably via algolia, but I will try to offer alternatives (note that it can already be setup pretty easily - some of our users already did this with just a few lines of code)
- a plugin system is coming soon so you can tweak the content consumed by phenomic
- themes will be a thing
- in case you have some questions before making your choices, here is a link to our gitter chat https://gitter.im/MoOx/phenomic
Phenomic is not meant to be a closed/magic box: you have full control over any step of the build process. And you also have full control over your webpack and babel config etc. We offer flexibility for built-in options via JSON or CLI args (we use yargs and an additional custom layer to validates all options and values so you make any mistakes).
Btw, Phenomic offers by default best practices with eslint/stylelint and uses under the hood AVA for its tests.
Just take a quick look to https://phenomic.io/ and the showcased sites https://phenomic.io/showcase/