In my last post I outlined a writing tool I wanted to build by extending VSCode. As of this point I have a pretty functional baseline that I’m 99% happy with. As a bonus, in the past few days I discovered someone had already had the same idea with adapting Homebrewery as a VS Code extension.
Here’s where I am now.
- Creates a file folder structure that encapsulates a writing project via what VS Code/Codium calls a workspace.
- Expects sections of writing material of arbitrary length and content to be placed in a specific location
- Assumes Markdown but has no requirement beyond being a basic text editor.
- Has a simple tree-based tool for building the assembly order
- Can preview the stitched results
- Can export the stitched results
What sort of works:
- Can interact with git extensions for revision control and potential offsite backup. This required a very small bit of work to be contributed to the git extension *or* the git project root to be either manually selected or automatically placed in a non-preferred location. PR@Github
- Uses an assembly order to stitch together the sections in a semi-defined order. This is not quite where I want it because it forced all nodes to be in alphanumerical order with their siblings. This can be worked around by naming files carefully in the mean time.
- Can preview the stitched results in Homebrewery Markdown interpreted HTML. This requires a patch on the Dungeons and Markdown extension to allow feeding a document stream to the Markdown interpretor instead of polling from an editing window. PR@Github. 1
- Can export stitched results in Homebrewery Markdown html. This requires a patch on the Dungeons and Markdown extension to read the Markdown source from an arbitrary file instead of an editing window. PR@Github.1
What still needs started:
- Most of the assembly quality of life features, such as file manipulation ( creating, renaming, etc. ), correcting arbitrary ordering of the sections on a given parent, forced pagination flags, etc.
- Investigating a direct to PDF print option
- Documentation on chance someone not me decides to use it.
- Disabling/Hiding the assembly editor when not in our special workspace
- Document Theming/Styling system for other book layouts than emulating D&D.
Pending answers on the Tree children problem, I think this is releasable soon.
1 This is against an extension I can easily fork if it is no longer being worked on by the creator.
Leave a Reply