I write fiction using Markdown + Git and love the workflow. Now it's kind of strange treating the whole thing like a software project and having each chapter as a seperate file (along with other folders for notes, artwork, etc.) but it's easy to work with, self hostable, and the entire repository with all its history can easily travel with me on any device. It even has a Makefile to spit everything out as a PDF!
This is also what I do. I use markdown+git for all kinds of writing. I use Obsidian with tons of extensions. It's integrated with my personal knowledge base, notes etc. If I'm writing fiction or poetry, one file is one chapter/unit, but sometimes if I'm making huge changes, I'll rename that file to "Chapter X Draft 4" or something like that, so that I can instantly see very old versions without git. If I want to look at the full history git history on "Chapter X" will give the entire thing. It's also nice to write tiny scripts to assemble finished chapters into volumes etc and auto-convert to PDF.
I also do literate programming (write code as if it's a book written for your future self) with this exact same approach. Just write a two line script that removes everything that's not between ```python ``` and you can code inside Obsidian. (E.g. you can use a markdown parser like `marko` for python) I personally don't need syntax highlighting, but if you do, you can open it in your IDE/Emacs/etc and IDE should highlight most languages in Markdown files. You obviously don't get all the IDE bells and whistles, for those you can have separate files and import them in, or enable Python mode in markdown files (somehow). (Obsidian should support basic syntax highlighting for most common languages anyway)
Since Obsidian is so awesome, this approach has endless possibilities. E.g. you can do project management inside Obsidian via Kanban board, you can use Excalidraw tool in Obsidian to draw architecture diagrams, write music inside Obsidian with its Lilypond plugin, write math with LaTeX plugin etc. It just automatically works out of the box.
I too use markdown + git for everything. I checked out Obsidian one day, it appears to be a wiki with tags to me, while it's great to do notes taking for some, it seems to be less organized for myself, and it's hard to use it for books, which is more streamlined by chapters etc, am I missing something?
Obsidian is an extremely extensible and customizable software. Truthfully, there is no text editor as customizable as Emacs, but if you're looking for something other than that, Obsidian is pretty close to being "Emacs for Markdown". I use Emacs for coding but I'm not a fan of the orgmode so I use Obsidian for note taking, and writing things.
You're missing something. Obsidian is amazing for writing and research because of all of the automatic linking between things. If you're already using markdown and git for writing, then Obsidian is worth another look because you can pick and choose to enable what options help your workflow.
As an example, let's say you tagged every time a character is mentioned (will be done automatically as well with 'untagged references' for proper names). Or you have all of your backstory and timelines in sections that are linked to your writing, but you can output the finished writing without all of those links in there. So as an author you get a full timeline with metadata. You can also use additional tools for research with Obsidian plugins, including Zotero for academic references, Markdownload Browser Extension for shooting MD and images straight into your vault, git plugins inside Obsidian, etc.
Sorry I'm rambling, but absolutely go look at it again!
The last screenshot shows a single source file having multiple themes applied, one being a manuscript theme.
The editor integrates variables in an external file so that if I want to change a character's name, I can do so in one place. Even diagrams (e.g., family tree) are updated.
Out of curiosity, do you use any specific version control features when writing like this outside of history which is just kind of there by default? It would be hilarious but amazing if you said your editors (if you have any) give you feedback in the form of pull requests.
Yeah that would be awesome but sadly they'd just be confused and annoyed by it all. I mean in my writing communities I'm the only one that uses Git, Linux, and MD. Everyone else just sticks with Google Docs, Word, or some more specialized writing apps.
I sometimes use Git branches to explore different story ideas but I mostly just use the system for basic versioning and history. I also use Git for written roleplays to store my logs and thoughts, and since MD is basically text I can use Unix tools like grep and wc.
I literally just wrote a script to handle my Markdown->PDF workflow: https://github.com/oddevan/periodical "Finished" it today and then saw this article. :/