> On Apr 12, 2021, at 17:51, ahmet erdinc yilmaz <ahmeterdincyil...@gmail.com> > wrote: > > I'm very glad to hear that you liked the plugin, thank you! > > As discussed in https://forum.qt.io/topic/124822/qtcreator-markdown-plugin, I > really want that it is included QtCreator by default, but I don't know > whether it is possible or not for the following reasons: > > - Plugin depends on qtwebengine and qtwebchannel modules which do not ship > with the QtCreator by default. > - Plugin uses javascript for parsing markdown. > > Also I really did not want to add these dependencies. As Cristian mentioned > the c++ alternatives, I tried c++ markdown parsers at first. I played with > "https://github.com/progsource/maddy" but at the very first examples they > failed. I did not find any c++ parser that maintained properly. Then I find > "https://github.com/markedjs/marked" (js markdown parser) which is highly > maintained and used. It has many tests which are actively developed. Then I > realized that it is not an easy task. Markedjs is being maintained by 126 > developers and used by 603k clients. Also has 24.8k stars. This library is > really mature (By the way, I hate javascript). Then, I quit my C++ markdown > parser dream. Therefore, I forked markedjs > (https://github.com/erdinc09/marked) and added line number data to the > rendered html nodes as html attribute in order to use it in synchronization > of the editor and preview. If I followed other options than the plugin would > be useless. I also used "highlightjs" for code syntax highlighting in > preview. It is also as mature as markedjs. As a bonus, If I have any parsing > or highlighting bug I can get it fixed very easily. > > And another advantage that comes with webengie, since the parsing is in the > engine process you don't need to code for extra parsing thread and > synchronization of data. Less code, less headache I think. > > As litehtml html rendering option there are following problems (IMHO): > - It is not a javascript engine, therefore we cannot use markedjs, > highlightjs and we can not use javascipt DOM API to synch the preview and > editor.
That is definitely correct :) > - It is not fully compatible with HTML/CSS standards. I’d say that doesn’t matter much, since the preview in Qt Creator will probably use pretty simple HTML/CSS which works perfectly fine. > - If I understand correctly, for drawing texts, images, fonts we need other > libraries. We use litehtml for Qt Creator’s help browser by default now. I wrote a frontend that uses litehtml to draw HTML to a QPainter, plus a simple widget that is used in the help browser, enhanced with text search, selection, and copy. This is a library that can be used by Qt Creator plugins (when built with CMake) by adding QtCreator::qlitehtml to library dependencies. Unfortunately not yet documented, but here’s the library: https://code.qt.io/cgit/playground/qlitehtml.git/ how it is used in Qt Creator’s help plugin: https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/src/plugins/help/litehtmlhelpviewer.cpp > In my professional coding time (to earn money :-( ), I use IDEs Intellij and > vscode mainly since I am a JVM (java, kotlin, xtext...) developer (by the > way, my favorite is C++, Qt and QtCreator. Really!). All these IDEs have > these features, developers like them. I felt uncomfortable when I used my > plugin without any feature that I mentioned. For example, without scroll > synchronization after your md file gets bigger, you start to get angry. Scroll synchronization is a big plus, indeed. Br, Eike > > I like Qt and Qt Community, I will be so happy if I can help them. I really > want to upstream plugin but I know that it is not an easy decision when it > comes to dependencies. As I explained, I really tried not to add them but I > can not find any other useful and maintainable option. It is your decision > and which decision is made, I want to help QtCreator become more beautiful! > Yes, she is very beautiful :-). > > If your decision is not to upstream, then I want your ideas about automatic > downloading dependencies. Then it will be more useful. > > Best regards, > > //Erdinç > > > > On Mon, Apr 12, 2021 at 3:36 PM Cristian Adam <cristian.a...@qt.io> wrote: > Hi, > > This plugin has a dependency on QtWebEngine, not because it needs to display > html text, but because of the javascript libraries that are used to convert > from markdown to html. > > A simple websearch after markdown and c++ pointed me to: > https://stackoverflow.com/questions/889434/markdown-implementations-for-c-c > > I would love to have such a plugin in Qt Creator, since now > https://github.com/cloose/CuteMarkEd to edit markdown files outside Qt > Creator. > I think litehtml should suffice to display the html rendered by a markdown > parser. > > Cheers, > Cristian. > > On 19/03/2021 09:17, ahmet erdinc yilmaz wrote: >> Hi all, >> >> I have been developing a markdown plugin for QtCreator. I think it is time >> to announce :-). You can reach from >> https://github.com/erdinc09/MarkdownEditView. >> >> I also published releases for all three platforms. I hope you like it. >> >> Features: >> • Syntax highlighting in editor >> • Html preview >> • Code highlighting in preview >> • Theme aware preview and editor >> • Bidirectional vertical scroll synchronization between editor and >> preview >> >> Dark Theme: >> >> <dark.jpg> >> >> Classic Theme: >> >> <classic.jpg> >> I have already announced it on the forum.qt.io. >> >> Best regards, >> >> // Erdinç >> >> >> _______________________________________________ >> Qt-creator mailing list >> >> Qt-creator@qt-project.org >> https://lists.qt-project.org/listinfo/qt-creator > _______________________________________________ > Qt-creator mailing list > Qt-creator@qt-project.org > https://lists.qt-project.org/listinfo/qt-creator -- Eike Ziller Principal Software Engineer The Qt Company GmbH Erich-Thilo-Straße 10 D-12489 Berlin eike.zil...@qt.io http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B _______________________________________________ Qt-creator mailing list Qt-creator@qt-project.org https://lists.qt-project.org/listinfo/qt-creator