jml's notebook
Command-line bliss
After I moved this blog to Zola, I lost my ability to quickly make new blog posts.
The old workflow used to be:
$ notebook new
... type type type ...
$ git push
Which made the whole flow lovely.
For reasons that elude me now, when I gutted the old blog code, I decided to throw that away and rewrite it in Rust.
The end result is at https://github.com/jml/jml-notes. It's highly situated software, so please don't re-use it.
A crappy little script might not be the obvious choice for a Rust program, but it has worked out:
- clap is a great library for command-line parsing
- tera is a great library for templating
- spawning subprocesses is easy peasy
- shipping a single self-contained binary is miles better than virtualenv hell
- the cargo tool suite is nice
And now, the new workflow is:
$ notes new
... type type type ...
$ git push
I'm using Github Actions to build it and that was surprisingly painless,
aside from a strange accident where it keeps creating a release called refs/heads/master
.
How embarrassing.
I'm going to keep pushing on Rust as a way to get things done.
That said, I'm also aching for an opportunity to try trio, so no promises.