Xangelo.ca

Technical musings and other tidbits

Outliner [Garden]

[ project ] [ outliner ] [ garden ]

This page will serve as the current state of my Outliner project.

Github - https://github.com/angelor/outliner

Current Version: 0.0.1-alpha-2

Known Bugs

Planned Features

There’s no timeline on any of these features, but their current order is rougly the order that I’ll be working on them on.

Mouse Support

I’ve been holding off on this a bit, mostly because I don’t want to deal with the node-reordering during dragging/dropping. However, I think it’ll be one of those things that are really helpful even if you’re a keyboard only user.

Copy Nodes

Hitting ctrl+c on a hilighted node should all you to copy the content of that particular node. Pasting the node should happen in one of two ways: If you are in edit mode, it should paste just the content of the node in your current editor. If you are in navigation mode, it should paste a new copy of the node at your cursor, pushing the existing content down.

This lends itself really well to “referential nodes” as well

General Publishing

Right now, publishing is heavily hardcoded to work with my ¬†hugo setup. The idea is to first iron out all the usability bugs and then once we have a nice working copy that’s relatively bug free, implement a “settings” file where these things can be configured. One issue that I’m running in to right now is the fact that I restrict permissions on the build to only the .outliner/ directory so that I don’t accidentally touch any other files. Hugo, obviously, lives outside that directoy and so we have a slight issue. I’m not totally sure what the best way to deal with this is yet, which is why there hasn’t been a new build of the outliner that officially supports this.

Each node in the outliner is saved as its own JSON file. The reason for this was to eventually implement the idea of “Referential Node Links”. A single node, that can be referenced in multiple outliners. Updating the node from any of the outlines will update the node in every outline. The idea is to give you the ability to re-use certain templates/bits of code. If you hit ctrl+shift+c it should copy the node reference and allow you to paste that in

Posted Tuesday, June 06, 2023

Source: https://xangelo.ca/gardens/outliner/, 2023-06-06