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!Really cool that it respects the SSG conventions and separation of content, collections, templates, themes etc.
I wonder if you've thought about how to handle scalability? Like, as people start using Sparktype more, handling larger sites or more complex content structures could get tricky. Also, exporting directly to platforms like Github or Netlify is a nice touch; it’s great that you’re thinking about portability too. That feels really important in today's landscape where lock-in can be a real risk.
And I'm curious, how do you envision the theme store evolving? I think that could play a big role in adoption—if users can easily find or customize themes, it might really lower the barrier to entry. Exciting stuff, looking forward to seeing how it develops!
Yes a core part of what I’ve tried to do is separate content from presentation. This all started by trying to build an alt-protocol like Gemini or Gopher as a minimal writing and publishing experience. I realised that for it to be useful it needed to be accessible by browsers, so I added the SSG layer. But it still publishes the source content and config alongside the HTML. This means sites can be accessed by more than just browsers - as an experiment I made a CLI client that parses the source directly.
Themes can be imported via a URL or as a zip file and are pretty similar to Jekyll or 11ty themes. My next task is to port a bunch of them over. I’m also planning to create ready-configured template sites that users can copy and configure. Maybe take an Astro or Ghost approach, with a mix of free and paid themes.
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.