page view: fix messed up ul close tags

This commit is contained in:
Albert S. 2019-08-26 20:51:59 +02:00
parent 116fe5aecc
commit 5147283a32
1 changed files with 13 additions and 6 deletions

View 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)
{
indexcontent += "</ul>";
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>";
}
indexcontent += "</ul>";
for(unsigned int i = 0; i < previous; i++)
{
indexcontent += "</ul>";
}
return indexcontent;
}