elmarsto / sbstr8

A nearly-unstyled, hackable, ultra-modern, ultra-clean scaffold for rich, interactive storytelling, journalism and blogging. Fork this repo and get to work.
https://sbstr8.lizmars.net
GNU General Public License v3.0
4 stars 0 forks source link
animation blogging gsap react storytelling storytelling-platform typescript video

Jan 20 2024 - This project is now archived.

Why?

Because the world doesn't need another JS site generator.

I'm proud of this project, but since completing it, I now have a job where I work in NextJS full-time, and I'm just not enthused to do more of the same work in the evening. Ironically, I used skills I earned building this site to get that job -- but that now means this project is not a priority. What I want to do instead is write, and that means finding a platform that I'm also not making.

I was really into this Wagnerian idea of 'Totallkunst', i.e. making every part of the blog a piece of 'artwork' (if you could call it such.)

But realistically, I don't have time to do my own blogging engine, just like I don't have time to make my own clothes, make paintings instead of smartphone pics, or, some nights, my own dinner.

If I'm going to do something, I want to do it well. And that means walking away from this.

I'm still using a personal version of this package to host my own website, but that will change shortly as well. I might do blot.im, or I might use lume. Or maybe soupault again. Or maybe (and this is an idea that appeals to me greatly,

I'm enormously grateful I did this project, and I'm enormously grateful to walk away.

See you in the streets!

sbstr8 logo

SBSTR8

What is sbstr8? (Prounounced ‘substrate’)

A nearly-unstyled, hackable, ultra-modern, ultra-clean scaffold for rich, interactive storytelling, journalism and blogging. Fork this repo and get to work. See Lizmars.net for an example of what is possible.

Why another starter?

Because ‘small and simple’ usually means ‘limited’. Your posts could be more than just plain text; they could be experiences. Go ahead, flex your creative (o)pinions. 🪽

If you really want a minimalist no-JS blogging engine, you could do much worse than Soupault, and if you really, really hate complexity, there is the elegant, spare Gemini. For good and for ill, that’s not what Sbstr8 is about.

But what if you want to do media-rich storytelling, but coding in Typescript and React isn’t your jam? In this case, please do check out the professional choice for interactive storytelling, the superlative Vev. Yet it’s not open source, and is not optimal for hosting e.g. arbitrary chunks of React. Vev low-code/no-code, which is great for professional journalists, but less great for those of us who don’t feel we’ve done any real work until there’s a .tsx.

By contrast, Sbstr8 is code-first and clastic. With Sbstr8, and a basic knowledge of Typescript and React, your only limit is the imagination. And while we rely on Next’s tree shaking to keep bundle size down, we prioritize immersiveness and creative freedom over counting kilobytes. The bundle size will be what the bundle size needs to be. Because Sbstr8 is for creatives who code.

Caveats

Ingredients

Features

Thanks to Next.js and tree shaking, your finished site will only contain the libraries you choose to use, page by page. But it’s all there if you need it. <3

Coming soon

Quick start

  1. git clone https://github.com/elmarsto/substrate <your-project-name>
  2. npm install
  3. npx husky install (you only have to do this once per repo)
  4. npx storybook & (design your components in a sandbox)
  5. npx run dev happy hacking
  6. npx run build

NEW! Even quicker start

If you’re hashtag-blessed and run Nix or, even better, NixOS, with support for Flakes, then you can actually spin up a local demo with:

nix run github:elmarsto/sbstr8

Yep, that’s it.

Nix features

Supporting the following on most installs of Nix supporting flakes:

Land acknowledgment

Why is the license GPL, and not MIT?