mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 13:59:52 +08:00
fix html toc parsing
Handle wrong notation such as header 3 under header 1 directly. Signed-off-by: Le Tan <tamlokveer@gmail.com>
This commit is contained in:
parent
ab91f755c0
commit
ae0130aa26
@ -298,16 +298,17 @@ void VEditTab::parseTocLi(QXmlStreamReader &xml, QVector<VHeader> &headers, int
|
||||
qWarning() << "error: TOC HTML <a> should be ended by </a>" << xml.name();
|
||||
return;
|
||||
}
|
||||
VHeader header;
|
||||
header.level = level;
|
||||
header.name = name;
|
||||
header.anchor = anchor;
|
||||
header.lineNumber = -1;
|
||||
VHeader header(level, name, anchor, -1);
|
||||
headers.append(header);
|
||||
} else {
|
||||
// Error
|
||||
return;
|
||||
}
|
||||
} else if (xml.name() == "ul") {
|
||||
// Such as header 3 under header 1 directly
|
||||
VHeader header(level, "[Empty]", "#", -1);
|
||||
headers.append(header);
|
||||
parseTocUl(xml, headers, level + 1);
|
||||
} else {
|
||||
qWarning() << "error: TOC HTML <li> should contain <a> or <ul>" << xml.name();
|
||||
return;
|
||||
|
@ -12,6 +12,9 @@ enum VHeaderType
|
||||
|
||||
struct VHeader
|
||||
{
|
||||
VHeader() : level(1), lineNumber(-1) {}
|
||||
VHeader(int level, const QString &name, const QString &anchor, int lineNumber)
|
||||
: level(level), name(name), anchor(anchor), lineNumber(lineNumber) {}
|
||||
int level;
|
||||
QString name;
|
||||
QString anchor;
|
||||
|
Loading…
x
Reference in New Issue
Block a user