In the last two days I’ve written a working prototype of the main window that will compose NoteDown. It can be found in the git repository. Supported operations:
- Text insertion (well, no big issue here, GTK takes care of that);
- Bold/Italic/anything on selections (still no big issue, the Tutorial covers that);
- Bold/Italic/anything on current word (zim-style)
- Least astonishment behavior for Toggle-Buttons in the Toolbar
I still need to study some aspects of GTK, but tonight I wanted to place a small code base. In this case is not about the GUI, but about the core of the program! I’ve got:
- A simple configuration class (a few lines of Python and here we go!)
- GUI selection is configurable (which means that the software is not strictly bound to GTK: different toolkit could be added in future, allowing (for instance) to run seamlessly the stuff under a QT-based environment;
- Paragraph and Text Block abstractions (i.e. something like an intermediate representation of the text format which an be conveniently translated in Markdown.
I was thinking that, as there’s can be multiple choice in terms of GUI, there could be also room for different output formats besides Markdown. No, I don’t want to end with yet another word processor! The first rule here is simplicity! I’m just saying that Markdown has got many siblings…
Enough for today.