https://bugs.kde.org/show_bug.cgi?id=488497
machinedreamcatc...@temp752.ynh.fr changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |NEEDSINFO Resolution|--- |NOT A BUG --- Comment #4 from machinedreamcatc...@temp752.ynh.fr --- > (Joplin, Zotero, Typora as desktop editors, or websites such as popular > software forges) are actually following as a base a common spec called > CommonMark (sometimes referred-to as "Github-flavoured"). It seems to me > relatively widespread, even if not the unique path as you demonstrated. After further research, the CommonMark spec alone is not enough to cover that linebreak issue, as show this page: https://markdown-it.github.io ("CommonMark strict" does not convert newlines in paragraphs as linebreaks, but checking the extra feature "breaks" would do it). In the section dedicated to soft and hard breaks, [the specs say](https://spec.commonmark.org/0.31.2/#example-649) that `a renderer may also provide an option to render soft line breaks as hard line breaks.` So the softwares I mentionned earlier may be using CommonMark-based markdown rendered together with extra-features, in particular for linebreak. But any CommonMark-based renderer is supposed to allow forcing hard linebreaks by adding a backslash OR 2 spaces or more at the end of a line. As for Discount, it also implements a way to force hard linebreak [since version 2.1.5a](https://www.pell.portland.or.us/~orc/Code/discount/#v2.1.5a) (and it works at least from Okular 21.12.3): `[support for github flavored markdown] input methods that put hardbreaks (== two spaces) at the end of every input line. The bahavior of linebreaks in Markdown has actually is being [subject to debate](https://talk.commonmark.org/search?q=line%20break), and personnally I would rather have the option to consider newline as linebreak, ideally within the same paragraph. > I do think that - at some point - it could make sense to switch Okular from > libdiscount to Qt's recently-ish gained markdown support (iirc based upon > md4c) but don't hold your breath for it. Will happily review patches though. Thank you for the feedback. [According to MD4C](https://github.com/mity/md4c?tab=readme-ov-file#links-to-related-projects), QT do use their implementation. MD4C has CommonMark and Github-flavour, as well as extra optional features, potentially the one regarding linebreaks. QT implements a strict CommonMark rendered as well a Github-flavoured one (according to the parameters which is set when using the method). Markdown-related methods seems to be implemented in `QTextDocument` & `QTextEdit` classes. Are those related to the former what you had in mind ? https://docs.w3cub.com/qt/qtextdocument#setMarkdown https://docs.w3cub.com/qt/qtextdocument#toMarkdown While I have never worked on a C++/QT/KDE project so far, it could be a starting point... This is not something I could work on with a high priority either, but I quickly checked the code and I guess I would have to focus on that folder : https://invent.kde.org/graphics/okular/-/tree/master/generators/markdown?ref_type=heads Would you have in mind: 1. Where in the code is libmarkdown (Discount) being called so far ? I could see mentions of it in what seem the build instructions or as comments in `/generators/markdown/converter.cpp`, but could not spot an actual call to the library. 2. Is the Markdown class (in converter.cpp) used to both render view and generate file ? In that case, the general markdown ouput string would be the one returned at the following line ? https://invent.kde.org/graphics/okular/-/blob/master/generators/markdown/converter.cpp?ref_type=heads#L177 Also, should QT/MD4C Markdown renderer be implemented as the new and only markdown backend, or should it be optional and offered as an alternative backend to Discount in the [configuration window](https://docs.kde.org/stable5/en/okular/okular/configure-backends.html)? Not sure whether this is feasible with QT, but ideally the config panel would offer optional markdown features included in MD4C. PS: could this bug report be moved to the Request section? -- You are receiving this mail because: You are watching all bug changes.