page view: fix messed up ul close tags

This commit is contained in:
Albert S. 2019-08-26 20:51:59 +02:00
orang tua 116fe5aecc
melakukan 5147283a32
1 mengubah file dengan 13 tambahan dan 6 penghapusan

Melihat File

@ -38,25 +38,32 @@ std::string HandlerPageView::createIndexContent(IParser &parser, std::string con
{
std::vector<Headline> headlines = parser.extractHeadlines(content);
std::string indexcontent = "";
unsigned int l = 0;
unsigned int previous = 0;
for(const Headline &h : headlines)
{
if(h.level > l)
if(h.level > previous)
{
indexcontent += "<ul>";
}
else if(h.level < l)
else if(h.level < previous)
{
unsigned int diff = previous - h.level;
for(unsigned int i = 0; i < diff; i++)
{
indexcontent += "</ul>";
}
l = h.level;
}
previous = h.level;
HtmlLink link;
link.href="#" + h.title;
link.innervalue = h.title;
link.cssclass = "indexlink";
indexcontent += "<li>"+link.render()+"</li>";
}
for(unsigned int i = 0; i < previous; i++)
{
indexcontent += "</ul>";
}
return indexcontent;
}