Text Files as a First-Class Citizen
Because noodle uses text labels, it makes sense to make text files something of a first-class citizen with respect to other file types. It’s also in line with UNIX-y thinking. I just don’t like that it breaks with the spirit of noodle as being a general way to express ideas and relations. So I should probably de-emphasize this text-first priority in the docs and guides unless I’m explicitly talking about a workflow that relates to text files for example technical writing.
I think a markdown plugin would be good. Incidentally, I think it makes sense to have standard plugin commands. I use the markdown format a lot. I think of it as additional punctuation for the digital medium. You can use pandoc to turn your knowledge base into other things. It would introduce a number of commands:
Consolidate noodle structure into a markdown file.
Usage: requires selection
md-synthesize <newname>
Break a doodle into
Usage:
md-atomize <markdowndoodle>
Usage: requires selection
md-compile <target>
It might make sense, if I want to do software architecture and programming with noodle, to come up with a general way of structuring plugin commands. For instance a C++ plugin would have the folloowing commands:
Create a formatted / linted file from structured doodles. Removes the doodle structure.
Usage: requires selection
synthesize <newname>
Break a formatted / linted file into doodles. Removes the file.
Usage:
atomize <doodle>
Builds
Usage: requires selection
compile <target>
This should probably go along with some default behaviours with respect to handling doodle name collisions, running into other noodle structure etc.