diff --git a/PocoDoc/src/DocWriter.cpp b/PocoDoc/src/DocWriter.cpp index 6dc969801..e4fe787e6 100644 --- a/PocoDoc/src/DocWriter.cpp +++ b/PocoDoc/src/DocWriter.cpp @@ -248,7 +248,7 @@ void DocWriter::writeNavigation() ostr << "
 
\n"; // workaround to avoid cutting off a few pixels from last line endBody(ostr); ostr << "" << std::endl; - writeFooter(ostr, NO_TRACKING); + writeFooter(ostr, NO_TRACKING | NO_CUSTOM_HTML); } @@ -922,7 +922,7 @@ void DocWriter::writeNavigationFrame(std::ostream& ostr, const std::string& grou query += item; } ostr << "
\n"; - ostr << "\n"; + ostr << "\n"; ostr << "
\n"; } @@ -1416,7 +1416,7 @@ bool DocWriter::writeSpecial(std::ostream& ostr, std::string& token, std::string { _htmlMode = false; } - else if (token == "") + { + prop.append(token); + nextToken(begin, end, token); + } + Poco::trimInPlace(prop); + Application& app = Application::instance(); + ostr << app.config().getString(prop, ""); + } else if (_htmlMode) { ostr << token; @@ -1504,7 +1517,10 @@ void DocWriter::nextToken(std::string::const_iterator& it, const std::string::co { token += *it++; if (it != end && std::ispunct(*it)) token += *it++; - if (it != end && std::ispunct(*it)) token += *it++; + if (token != "<[" && token != "<*" && token != "\n"; ostr << "

"; + + const std::string& attrs = pFunc->getAttributeList(); + if (!attrs.empty()) + { + ostr << "" << htmlize(attrs) << "
"; + } const std::string& decl = pFunc->declaration(); writeDecl(ostr, decl); if (!std::isalnum(decl[decl.length() - 1])) @@ -2116,7 +2138,7 @@ void DocWriter::writeFunction(std::ostream& ostr, const Function* pFunc, std::os ostr << " = 0"; ostr << ";

\n"; - if (pFunc->attrs().has("deprecated")) + if (pFunc->attrs().has("deprecated") || pFunc->getAttributeList().compare(0, 12, "[[deprecated") == 0) { writeDeprecated(ostr, "function"); }