Another month of work on Keepmark is behind me, and it seems like a good time to release the next version with the latest changes. This time I was mainly focused on markdown editor - there were many fixes and improvements, which I’ll talk about below. But there were also a couple of small features - like Read Mode for HTML documents preview.

Let me start this with the ReadMode functionality. Next to the zoom-related buttons, there appeared a button to switch to read mode. In this mode, the rendered HTML document is extracted and converted to markdown format and then presented on the markdown editor component, thanks to which all unnecessary formattings are cut out, allowing the reader to focus on the actual content of the document. This is an idea that has been on my mind for some time. Eventually, I would like to get rid of the standard HTML file preview, in favor of a component that allows the reader to focus on the content of the file, rather than its appearance. I make no secret of the fact that one of the sources of this idea is also the constant problems with the WebView component provided by JavaFx.
Another change is related to WorkContext. Here, I changed the standard document management view, to a document search view as you would see in the search dialog. This gave a simpler interface, allowing users to focus only on the functionality required to work with the current document, instead of providing functionality for managing other documents. When you double-click on a document, or press the ENTER key, the selected document will be opened in a new tab of this view.
The search view itself has also been slightly modified - now, you can choose how you want the found documents to be presented (like in the main window of the application).
As I mentioned at the beginning, I spent most of the time in this release on the markdown editor. One of the changes is moving information of the formatting type for text (e.g. bold, or links) above the text itself (instead of next to it). Previously, additional nodes appeared for the active element, which caused the text to move. I concluded that this was a bit of a hassle, but I didn't want to get rid of the functionality where I show whether the caret is inside or outside the formatted element.

In the image above you can also see that I added rounded corners for the keyword/code element, which wasn’t that easy, but now it looks much better. The fonts used in the editor have also changed, I think this makes it more readable. A new convenient feature is also the ability to enlarge text with the mouse scroll - as in many other applications, you can now easily change the font size by holding down ctrl while scrolling with the mouse. I’ve also improved the editor’s placeholders when the correct image can’t be loaded in its place.
Concerning the list of fixes for the editor:
- fixes for caret positioning after text formatting
- fixes to pasting large text with images
- fix for caret position when the word is selected by double-click
- fix for releasing loaded images from memory, after closing the document
- fixes for placing caret for bullet lists, ordered list, and tasks list
- fix the “pointer/numer” position for the ordered list item (alignment relative to text)
- fixes for clipboard (copy plain text, paste text with many rows, paste from a web browser when there are images, etc)
- fix for break line, when there are many paragraphs in a list item, and we are at the beginning of “not first one”
- fix for “auto-scroll” to caret while typing
- fix for auto-format for ordered list, when there are empty lines before it
- fix for position caret for auto-format while reversing (ctrl+z)
- fix for first “Enter” inside an empty document (don’t need to press it twice)
Among other fixes unrelated to the editor, I can mention:
- improvements in tooltips (ex. in the presentation of the keyboard shortcut)
- fix for changing workspace, when the folders list is a filtered (unhandled exception)
- fixed font color in the project progress bar on the dashboard view