Фаза 6: просмотр Markdown — MdParser (cmark-gfm AST→HTML: таблицы/ссылки/вики/картинки data-URI/задачи-чекбоксы), подсветка кода KSyntaxHighlighting (алиасы «С»/«С++»/python), RichText-просмотр в EditorPane (onLinkActivated); тест mdparser (15/15)

This commit is contained in:
Flora (opencode)
2026-08-17 13:05:19 +03:00
parent 3317aa169a
commit c4708b6be6
8 changed files with 765 additions and 6 deletions
+26
View File
@@ -0,0 +1,26 @@
#pragma once
#include <QObject>
#include <QString>
// Рендер Markdown (CommonMark + GFM) в HTML для режима просмотра.
// Задачи/ссылки/переходы кодируются ссылками schemes:
// flora://task/N — переключить задачу на строке N (1-based)
// flora://open/<path> — открыть файл хранилища
// flora://wiki/<name> — вики-ссылка без найденного файла
class MdParser : public QObject
{
Q_OBJECT
public:
explicit MdParser(QObject *parent = nullptr);
// markdown → HTML. vaultRoot/vaultDir — для разрешения относительных путей.
Q_INVOKABLE QString render(const QString &markdown,
const QString &vaultRoot,
const QString &fileDir);
private:
struct Impl;
Impl *m = nullptr;
};