What is Spike?
Spike is a full featured static website generator written in javascript. It offers an extremely wide base of features and flexibility while remaining a small and simple project at its core.
Spike utilizes a number of other fantastic open source projects for compilation:
- Webpack as the core compiler and javascript bundler
- Postcss for css
- Reshape for html
- Babel for javascript
The best thing about all of these libraries is that they are all simply platforms for plugins. This means that, out of the box, Spike will just take standard html, css, and js files and copy them over without any modification. It is up to you to build your ideal system out of plugins that transform your content. And postcss, reshape, and babel all have large and vibrant communities working on plugins, as well as an enormous pool of existing plugins to choose from.
While plugin-based infrastructure is fantastically flexible, it can also be overwhelming when you have so many options available to you and don't know where to start. As such, we provide a set of standards and a default template that follow best practices. You can read more about our default build system here.
This makes spike accessible to every level of developer. Beginners can use straight html, css, and javascript, and add in transform plugins if and when they need -- the platform will grow with them. Intermediate developers can cut down on the constant churn of swapping out plugins, learning new systems, and maintaining massive config files by relying on our rock-solid standard settings. And advanced developers have the capability to add, remove, and even write plugins as they wish to customize the stack to behave in exactly the way they need.
Spike is sponsored and maintained by Carrot Creative, and is behind nearly all of our client work. You can be confident that this project will be actively developed and maintained, and not simply fall by the wayside because it's a side project and the lead maintainer doesn't have time anymore.
Updated about 4 years ago