Settings

Theme

Show HN: Sparktype – a CMS and SSG that runs entirely in the browser

app.sparktype.org

48 points by mattkevan a month ago · 12 comments · 2 min read

Reader

Hi HN,

After trying to teach a non-technical friend how to manage a Jekyll site I decided there must be a way to make building a site with a SSG easier. Options like Decap, Contentful etc. do make it a bit easier but still take lots of tech knowledge to set up.

So I built Sparktype, a browser-based CMS that outputs statically-generated HTML and CSS. My goal is for it to be as easy to use as Substack or Medium, while providing all the benefits of a static site generator including openness, simplicity, speed, security and ownership.

It handles most things that you'd need from a CMS, including creating pages, image resizing, menu management, tags, collections, listings etc. I've only made two themes so far, but I'm working on a theme store and the ability to import custom themes.

Content is saved as plain Markdown + YAML frontmatter and JSON config files, so there's no lock-in and content is easily portable to other platforms. Generated sites can be exported as a zip file to upload via FTP, committed to Github or published via Netlify API.

I'm working on cross-platform client apps using Tauri which will enable more publishing options as its not limited by what can be done in a client-only environment.

The way the system works means that the Web doesn't need to be the only interface to the content - here's a simple Go-based CLI client that bypasses the HTML altogether https://github.com/sparktype-project/sparktype/tree/main/st-...

It's very early days and there are still plenty of bugs, but I'm posting now to hopefully get feedback and see what people think. Please do let me know!

lenova a month ago

I love this idea. There are so many use-cases where friends or clients need a simple interface for building a quick wiki-style documentation site. I've often suggested static site generators desktop apps like Publii to them before, but even that can be a bit on the heavy-side in terms of their requirements.

First feature request: auto light/dark theme adjustment.

First bug report: when I tried adding authentication to a test site, I received this error:

  Failed to enable protection: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.
Keep up the good work!
jeff-hykin a month ago

One of my long term goals is generating tauri builds on the web. E.g. click "build" and wasm cross compiles a .exe, a .app, and a .appimage which start downloading. Theres a long way to go before that's possible, but theres been pretty steady progress. Especially now that clang was compiled to wasm theres a real avenue to bootstrap everything.

dmje a month ago

This could be cool but it’s hard to tell - mobile just doesn’t seem to work and I’m going to guess that’s most people’s first touchpoint with it?

Will try on laptop later…

  • mattkevanOP a month ago

    Thanks, will take a look at why it’s not working. There’s no reason why it shouldn’t!

ngc6677 a month ago

Excellent idea!

Really cool that it respects the SSG conventions and separation of content, collections, templates, themes etc.

opengrass a month ago

I like it. How are netlify and Github credentials stored across re-visit? Also no ftp in publishing.

  • mattkevanOP a month ago

    Hey thanks! Secrets are stored in the browser cache but not exported, so they’ll persist until the cache is cleared. If you open the site in a new browser you’ll need to re-enter the credentials.

    I found I wasn’t able to add FTP support without some sort of proxy service. However I am working on wrapping it into a native Tauri app. This will have more publishing options as it’s not so constrained by what you can do in a browser.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection