>_
Theory Tech: Writing space
This is a series where I detail an idea and then my plans to implement it. This is to hopefully inspire me to actually do the thing.
This one is called Writing space, a working title. The idea is its one place to both journal and host a blog. Obviously an idea that has been done before. But in my case its self-hosted.
My idea is to have different spaces:
- Draft: These are unpublished
- Publish: Accessible to public.
- Journal: Private and uneditable.
- Know: A knowledge base for TIL notes (more personal to me)
The final section is Know, which is more just for me. A key feature for the Publish section is that it is statically published so that it can be hosted as a static site.
Draft posts can be sent to Journal where they are then never editable again. The journal section will eventually have some stats on last posted, number of words, that sort of thing. Basically fulfilling some basic daily journalling features.
Tags I think would also be useful but not a major feature. Also a way to edit the pages that are published.
Implementation
I want this to be really easy to build and deploy. Therefore I want to use Golang for this.
I would aim to provide an executable that can be provided with a settings file to change settings and html files to help modify the published pages site.
I believe I can embed all html files within here to serve them so there is only a requirement for the executable.
I've thought about how I would implement this. At first I thought svelte, but I think I will try using
htmlx. I've read good things about it and I think it keeps my pages lightweight enough. Ill just embed the script thats used. Also I already have a journalling app that I can reuse parts of for this.
My database will be SQLite, as its simple and easy and requires next to no setup.
So the stack looks like: BE: Golang, FE: htmx, DB: SQLite.
They're pretty tried and tested. The idea itself is incredibly simple so it should use a simple stack. I havent got any intention of making it more complex with big silly features. It just means I have a better way of writing up my ideas without having to SSH onto this box. While I like this setup, I think it would be more accessible to have it available through a browser.
Start
I have tried a couple of different methods for starting and continuing side projects. One I havent tried is writing the README first, so I think I would start this project with that. I would write out the README and also use it as a TODO list that I can easily just remove afterwards.
A big issue I have with projects is when the initial enthusiasm has gone and there are now days until I get back to it, I find it difficult to just pick back up. So Im hoping having the README and a proper TODO list would help with this.
Lets hope this one gets atleast started.
27 Jul 2023, 12:31 p.m.
Home