Updated

Getting started

Create your own spacebook exactly like this one and customize it to your needs. Spacebooks are speedy to set up, free, and 100% open source. ๐Ÿ”ฅ

  • Easy to use ๐Ÿ˜€ โ€“ add a new page and it appears magically in your navigation
  • Writing focused โค๏ธ โ€“ beautiful typography and a minimalist design managed with easy-to-use Markdown
  • Speedy and accessible ๐Ÿš€ โ€“ static files, system fonts, minimal JavaScript, purge and minify All the Things, fully responsive, accessible to all
  • Privacy first ๐Ÿ”’ โ€“ User-agent: * Disallow: / is set by default with noreferrer links; encrypt your full site with a password if desired
  • Flexible ๐Ÿ’ช โ€“ disable features you donโ€™t need, add advanced features with serverless functions or Alpine.js

Communicators and learners from Da Vinci and Darwin to Grace Hopper and Ida Tarbell are famous for their use of notebooks, illustrations, and the written word to explain complex ideas. Spacebooks are modern notebooks you can use to create documentation, sketch out new ideas, or whatever suits your fancy.


Launch a new spacebook now ๐Ÿ™‹

You can launch your own spacebook and deploy it to the cloud on Netlify with the click of a button. Youโ€™ll need an existing Github account and a Netlify account (which you can create during this process if you wish):

Deploy to Netlify

Once complete, your new spacebook will be available immediately on Netlify and ready for customization and automatic deploys from your shiny new Github repository ๐Ÿ‘


๐Ÿค  Whoa, slow down Tex

What even is this? A spacebook is a simple website generator that will help you create your own project just like this one using:

  • Eleventy a super fast Node-based static site generator that stays out of your way and lets you ship only what you want to ship ๐Ÿš€
  • Tailwind 2.0 a brilliant and tiny utility-first CSS framework (Tailwind Typography included) ๐ŸŽจ
  • Alpine.js a minimal utility-first framework for simple or advanced JavaScript ๐Ÿ•น๏ธ
  • Elasticlunr a lightweight full-text search engine ๐Ÿ”
  • Advanced Markdown-it support with footnotes, custom containers, emoji support, tables, task lists, and auto-linked images โœ๏ธ
  • Netlify for cloud hosting and one-click installs, easy form support, and an automated Github deployment pipepline ๐Ÿค–
  • Netlify CMS (optional) to provide an easy Markdown editor for creating and changing content with optional Cloudinary support for advanced image management. ๐Ÿ’ป

All of this results in a speedy and accessible website that scores 100s across the board on Google Lighthouse metrics for mobile and desktop:

Performance

Did you know? If you enable the optional Netlify CMS, you will typically lose 2-3 performance points due to the required loading of the Netlify identity script but this is a pretty swell starting point. ๐Ÿ‘

If you wish, you may customize your spacebook or use it as the basis for your creating your own starter. It was built on the shoulders of giants.


Who needs a spacebook? ๐Ÿค”

A spacebook is for anybody who believes in the #indieweb and wants a simple, modern, and free way to put something on the web that they own and control:

  • Writers and thinkers
  • Planners and dreamers
  • Technical doc writers
  • Project managers
  • Teachers and students

Anybody who is willing to learn a few simple things can create as many spacebooks as theyโ€™d like for any reason in the world.


๐Ÿ‘ฉโ€๐Ÿš€ Install spacebook

In theory, you can launch a spacebook without ever downloading the code or running your site locally. Just click that big green button and edit your files directly on Github! But if you want to customize your codebase or write your Markdown files in a local editor, youโ€™ll want to download and install your site locally.

Requirements

You must be running Node version 12 or higher due to the Tailwind 2.0 release. I recommend using NVM to easily manage your Node versions if you need to switch back and forth between older versions.

To find your current node version:

node --version

Step one

If already have a Github repository from a Netlify install, simply clone a copy of your new repository:

git clone https://github.com/<your-username>/<your-repository>

If you just want to try this out locally, you can clone the Spacebook repository directly:

git clone https://github.com/broeker/spacebook

Note: Youโ€™ll need to remove the existing .git file and add your own upstream repository if you want to use this as a basis for moving forward. You can also simply fork the repository directly from Github.

Step two

Install the site and run an initial build command:

cd spacebook 

npm install

npn run build (only necessary the first time!)

If you get errors here, double check your node version!

Step three

Now spin up your local server to see your site!

npm run start

This command will start a local server and youโ€™ll be able to work on your site with hot reloads and some nice Browsersync features. If you install your site locally without connecting it to Netlify, you can easily do so later by moving your code into its own Github repository, and then creating a new Netlify site connect to that repository. ๐Ÿ’ฅ