Show HN: Sparktype – a CMS and SSG that runs entirely in the browser
app.sparktype.orgHi 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! 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: Thanks for the bug report! Will take a look at that. 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. 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… Thanks, will take a look at why it’s not working. There’s no reason why it shouldn’t! Excellent idea! Really cool that it respects the SSG conventions and separation of content, collections, templates, themes etc. I like it. How are netlify and Github credentials stored across re-visit? Also no ftp in publishing. 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. env import would be useful or some auth server that gets it.
Keep up the good work! Failed to enable protection: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.