luke.b//blog

Oh boy. It’s late, I should sleep.

Looks like I need a git repo on my cloud server and a way to rebuild specific apps if the relevant files change.

I might definitely will spend some of my downtime tomorrow working on this.

So I’ll just have to make this myself, not that I wasn’t of course definitely going to do that already.

I need to fill the blanks in this journey:

Editor/Camera/Other -> ??? -> Content files -> Hugo -> Static Site (hosted)

I want:

  • Version tracking
  • Any platform
  • Security
  • Uniform interface

Couple of supported user stories:

  • Edit a text document locally, commit the changes to a local git repo and push the changes: the content appears updated on the hosted static site.
  • Upload a photo and a text description: the content appears updated on the hosted static site.

Is it a bad sign that I’m already wondering how to push a git commit directly from a web browser?

Right now I’m thinking this has to be git-based. I could run a git repo on the server, which will rebuild the static site when changes are pushed to the repo. Then I can either commit changes to the repo from my laptop or potentially push changes from my phone? Provided there’s a way to push new git commits to a git repo from a browser.

I suspect that anyone who’s deploying a Hugo/Jekyll or whatever also has their own special workflow that involves updating the content and potentially tracking the changes and maybe a build step.

There are 1000s of permutations of CMS/version tracking/editors/hosting solutions but I feel like none of them cater specifically to developers because we find our own way.

I love my custom scripts. Every part of my blogging process was pieced together by me because I was interested in building the pieces. Custom editor, terminal, server in the cloud, site generator. I didn’t make all of it but it’s still unique to me.

It seems odd to me that there isn’t an open source solution to CMS.

OK, so I’ve actually heard of this one - it’s called Ghost and they did a blog a while back that explained how it can be deployed locally as a headless CMS…

Wait a minute… Ghost uses JSON. JSON? It uses JSON. What. WHY?

so that you don’t have to rely on messy microformats in your markup to provide semantic context…

Oh OK, so fair enough. And also it uses JSON for features like integration with 3rd parties and because using a preamble of TOML at the top of a markdown file is too cool I guess.

So Ghost isn’t exactly what I want because I DO NOT want JSON. I like text files, they’re simple.

I even tried using YAML for some content on my (shudders) personal website and it felt very wrong.

Markdown is where I live now, it’s cozy and basic. Comforting.

JSON is like the corporate enterprise and markdown is the hipster dev journalist trying to deploy his damn markdown website.

Maybe what I’m after is something half-way between manually editing files with Vim in a terminal and posting something on Twitter or any other social media site from a phone or browser.

I haven’t seen decent apps for editing files and pushing changes to a remote git repo. I’m surprised there isn’t an obvious solution to this.

Using Vim on MacOS suits me for most stuff but I’m missing that always available platform for uploading stuff when I’m not at my laptop.

Here I am thinking this would be amazing, and it already exists - it’s https://forestry.io/. Only thing is that it’s a paid-for thing.

One alternative to editing files locally and pushing them over scp is to push updates over git.

According to the hugo docs, rebuilding the whole thing from scratch when the files changes is pretty normal. So I guess I should focus on (a) simplifying uploading and editing of files and (b) automatically rebuilding the site when files have changed on disk.

I am super happy with how my site is coming along but I want an easier way to upload content to it than rebuilding the whole thing with Hugo and then uploading every file.

I want a way to upload files with some kind of meta data to allow for easier blogging and photo journaling.

Just implemented keyboard controls AND mobile support for link scrabble. I also deployed a change that adds my weird compression algorithm I’ve been working on to make the URLs smaller by roughly a half on a good day.

Unrelated: the Internet in my home town is collapsing?

Made solid progress on making something gzip-like in js. Turns out the tricky part isn’t the compressing, but representing the compressed information such that literal data isn’t confused for compression information and vice-versa.

page 25 of 27 after before