• GSOC
  • KDE
  • markdown


Hi I’m SonGeon live in Seoul, South Korea.

On this summer I’m working with the KDE community by participating the “Google Summer of Code” Program.

My main goal during GSOC period is making a markdown view, WYSIWIG editor using C++ and Qt.

There were two reasons that I started to make a new markdown view.

First, most markdown editors are using webview based renderer. But webview based editors have the lack of printing options. Because Markdown is aiming to make a good looking document with simple text notations on the web environment. In a single webpage, It doesn’t have pagination for printing.

So webview based renders have the same problems. 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.

Second, the KDE project already has the markdown renderer kmarkdownWebview. Currently, It has a forked third-party javascript library for markdown rendering. I want to minimize the dependencies. And It use the Qt’s QWebEngine and QWebChannel. Those are used to run a JS library and It brings a lot of overhead.

I think writing new renderer using Qt API and C++ without a third-party library is a lighter approach. So I choose to make parser with the Boost Spirit. It’s the PEG parser generator implemented in the boost library and It’s super fast.

I want to contribute many way not only makaing my own markdown editor. One of the main goal in this summer is make as a KDE part to reuse it. It can be markdown preivew module in Okular.

If you interested in this project please feel free to contact me. I’ll check KDevelop, kde-soc telegram group (I joined in irc but it’s hard to check) . Or you can use my email kde.jen6@gmail.com.