Skip to content

⚠️ UNMAINTAINED ⚠️ A modern static build tool, powered by webpack

License

Notifications You must be signed in to change notification settings

static-dev/spike-core

Repository files navigation

Spike Core

version tests windows dependencies coverage chat

An opinionated static build tool, powered by webpack

No Maintenance Intended

Note: This project is currently unmaintained. If you are interested in taking over maintenance, please reach out!

Why should you care?

We ❤️ static.

If you're building a website or client-side app – then 🌵 spike is probably for you. Spike aims to be simple, efficient, and a pleasure to use.

Spike certainly is not the only static site generator out there, but in our opinion, it's the most powerful and easiest to use.

Spike is from the same team that brought you Roots. The thinking behind moving past Roots is explained in this article. Please feel free to comment and contribute.

The Stack

Spike is fairly strict in enforcing a default stack. However, the stack allows for quite a large amount of flexibility as all of the parsers are simply foundations that do nothing by default and accept plugins to transform code. Also spike's core compiler is Webpack, so you can customize your project with loaders and plugins. The inflexibility of the stack means faster compiles and better stability. We use...

Features

  • Easy configuration via the app.js file
  • Integration with Webpack's massive plugin/loader ecosystem
  • Support for ES6 in your client-side JS via Babel
  • PostCSS default means extensive flexibility in CSS syntax and tools
  • Reshape default means the same for your HTML
  • Breezy local development powered by Browsersync
  • Selective compile in watch mode ⚡
  • Support for multiple environments
  • Interactive Project Starters via sprout
  • Spike Plugins for common integrations

Installation

  • npm install spike-core -S

Usage

Spike operates through a carefully crafted javascript interface. If you are looking to use spike through its command line interface, check out spike. This project is just the core javascript API.

Check out the documentation for the Javascript API here