10 ms·
Thank you for your question. Exonote supports codeblocks like in Markdown. Instead of providing the ability to execute codeblocks, which would lead to literate
by alexrustic 4y ago
Thank you for your question.
Exonote supports codeblocks like in Markdown. Instead of providing the ability to execute codeblocks, which would lead to literate programming [1] like in Emacs' org-mode, Exonote would execute a program whose source code is properly written [2] elsewhere by calling a function with arguments.
I thought it would be nice to separate prose and source code and embed a program by simply referencing it with a minimalist syntax the same way an image is embedded in Markdown.
This is how an image is embedded in Exonote:
@[title](path/to/img.png)
This is how a program is embedded in Exonote:
${path.to.module:functionOrClass arg1 arg2 "foo bar"}
[1] https://en.wikipedia.org/wiki/Literate_programming https://en.wikipedia.org/wiki/Literate_programming
[2] By properly written source code, I mean a regular Python package with tree structure, modularity, Python ".py" file extension, et cetera. Thus, with a minimalist syntax, one can embed not only a program whose source code is written in a directory inside an exonotes dossier, but also a program whose distributable package is installed in the current Python virtual environment.