Step 1 complete
Back references (1)
I like the feeling of just writing stuff down and knowing it will be publicly available.
Of course, if I want to explicitly publish content, I can mark it private and when I’m ready I’ll manually publish. I’ll do that for long-form posts but it’s nice to have a more lightweight option.
A few things I still want to do:
I learned a lot about datalog through this process, and right now the code is pretty messy and inconsistent. I want to refactor everything and think more about what is a “page” and how things get grouped together. Currently the index page which shows daily notes is not consistent with everything else.
Daily notes should de-emphasize the date, and probably attach it to each section in smaller font
Pages should probably infer the latest date by getting the latest back reference from a daily page and show that somewhere
Blocks as headers currently don’t render correctly
Tag a page to view it as a document, so it doesn’t render the bullet points
Eventually, full-text search and make page list lists all the pages sorted by date edited
I’ve also been thinking about code blocks. I love the idea of inline code blocks, and it feels so close to a kind of literate programming environment. I experimented with hooked up a “live coding” functionality where changes to code blocks were streamed to a process that actually ran them, but there are issues with that.
Actually editing code in Roam is annoying. You don’t get prettier, linters, type checking, etc. So I don’t actually want to write code here, but I do want to read the code inline if I’m constructing a post.
I want to write a tool that pushes code from a file into a Roam page, and is also able to extract code out of a page. It will track which block a piece of code is stored, so when I want work on the code I can extract it out and run it. When I’m done, I’ll sync it back.
I’m always annoyed at including code in blog posts for a few reasons: either they are directly embedded and you can’t run them, so you never know when they break. Or you reference the code externally, but then you can’t read the post with the code which is really important to craft the story. I also hate managing external code snippets as random files that are totally separate than the post.
In my code, my graph would be the actual storage for the code, but I’d be able to extract it and run it as needed.