This reminds me of QT’s signal/slot system. I.e. instead of calling functions directly, you just emit a signal and then any number of functions may have the receiving slot enabled.
Lot’s of similar systems in other frameworks too I’m sure.
If markdown fulfills your formatting needs, then there’s no beating it in terms of focus and simplicity. Use whatever text editor you like. My recommendation would be Kate. It supports previewing the rendered document in side by side view.
I’m a shell user too, but as programming languages I would rate Bash utter garbage. Fine for little piping but for longer scripts I will be reaching for Haskell.
In tools like lsblk? Nope. They appear as directories, usually in the top-level subvolume, which typically isn’t mounted anywhere in the system.
Then you just create mount entries in /etc/fstab just like you would with partitions, this time just using the subvol= option as mentioned above. I don’t know if there are any installers that do this for you. Archwiki – as usual – has good documentation on this.