Templates are added to create a stuctured HTML file.
Commands in doxygen comments are still not handled and the command is displayed in the output.
In HTMLGenerator.cpp .str().str().c_str() is done several times, this is necesary to covert a SmallString object to a char pointer: SmallString->StringRef->string->char*. SmallString and string can't be used because function applyHTMLTemplate is variadic and it requires its arguments to be of a trivial type. StringRef can't be used because its data may not be null terminated. StringRef has a c_str method but it's not constant. It is being considered to change the SmallString attributes to a string to avoid this, but it would be done later.
Depends on D63180.