Create components

The following is a guideline for a suggested structure and design for components

An easy way to get started is to download and setup Spacecraft components. It contains all Whitespace components that are published at npm. Make a copy of e.g. the spc_example folder - it contains all the files you will need to create a component.


Export the path with module.exports = __dirname; in your index.js file so that the import tasks in Spacecraft can reach your files.

Care about your friends by setting up changelog-, license- and readme files for your component.



Add a markdown for your component that will be visible in the documentation naviagtion for the styleuide here, if it’s specific documentation for the component only it’s suggested that you put it in the viem-folder (see below).


SVG icons goes here. Components that not uses any icons can skip this folder.


Images goes here. Probably there will be some placeholder images here, provide guidelines and info in the documentation. Components that not uses any images can skip this folder.


Here you’ll put Javascript for the component, in Spacecraft you can (and are suggested to) isolate your JS to the component by making a module as described here.


This is the place for:

  • HTML (Twig)
  • CSS (SCSS)
  • Config (JSON)
  • Readme (md)

Twig is Spacecraft´s default but Nunjucks, Handlebars etc can be used. This is set in Spacecraft´s config for your project.

Further information

Further information is available in pedrics Github project: