KDE will soon get a light-weight WYSIWIG markdown viewer
KDE's Google Summer of Code student Geon Son is working on a lightweight markdown WYSIWIG kpart built using pure C++, Boost and Qt. There's existing solutions based on webview but these have poor support for printing and other use-cases that go beyond simple web display.
This new kpart module will be usable by KDE software like the document viewer Okular. Son Geon's reason for taking on this project as part of his GSOC internship is the lack of printing options in existing markdown renderers. In his GSOC project annoucement he explains that:
"For example, document elements are printed across multiple pages and the document’s paragraphs, word spacing, and line spacing are slightly different compared to the screen. If the markdown editor support the preview of the paging, better text rendering with the layout of printing, It will be more powerfull like word processors."
Writing a new renderer from scratch is far from trivial, it is a huge undertaking. We reached out to Geon Son and asked him about the challenges involved.
"I think writing the whole thing will be the biggest challenge.
Like I wrote in my article I'm trying to make markdown view with minimizing the external dependencies.
So I started from writing markdown parser. It's exciting but a little bit worried about writing from scratch.
The second challenge is the printing preview.
It needs to calculate whole elements size in the markdown document.
That will be hard but after that work, we can adjust elements for the good looking and can give the same experience in different devices like MS Word. For example, we can add the word break functions like CSS. Paragraph or line spacing for good looking."
He is confident that he will be able to get it done in time
"Sure! If I sleep less."
We wish him the best of luck in this huge undertaking.
You can read Son Geon's KDE GSOC announcement at jen6.github.io/2019/05/hi-kde-hi-gsoc2019.html and check out his new blog at jen6.github.io. He also had an old blog at jen6.tistory.com which is still available but no longer updated.
published 2019-06-06 - last edited 2019-06-19