summaryrefslogtreecommitdiffstats
path: root/src/markdown.cpp
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2018-03-04 12:04:29 (GMT)
committeralbert-github <albert.tests@gmail.com>2018-03-04 12:04:29 (GMT)
commit5bae9d9ec8e5a253d6f5e8f15be43b85cd7ae0ff (patch)
treeb45caa9f4fad606ef6ddf023d79c91b8b65d14bb /src/markdown.cpp
parentb6f01ff09b17e5c2288f2418ef0a8f074456c357 (diff)
downloadDoxygen-5bae9d9ec8e5a253d6f5e8f15be43b85cd7ae0ff.zip
Doxygen-5bae9d9ec8e5a253d6f5e8f15be43b85cd7ae0ff.tar.gz
Doxygen-5bae9d9ec8e5a253d6f5e8f15be43b85cd7ae0ff.tar.bz2
Bug 792122 - XHTML pages are broken several ways
The Markdown processing was done after the normal tag processing and splitting the comment in brief, doc, inline. This resulted in that sectioning parts (i.e. e.g. ==== conversion to <h1> ) remained in the brief description whilst similar constructs with HTML commands landed in the doc (details) description. By performing the markdown on the entire comment block this problem has been overcome. commentscan.l - change moment of calling markdown processing - skip start spaces and subsequent empty lines in markdown processed code - small debug correction markdown.cpp - don't convert the dashes in <!-- and --> (HTML type comment) - small debug correction 054 test - update of example for compatibility and adding part about none code result. doxygen.cpp - small textual comment correction
Diffstat (limited to 'src/markdown.cpp')
-rw-r--r--src/markdown.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/markdown.cpp b/src/markdown.cpp
index d3ec3f1..de5805f 100644
--- a/src/markdown.cpp
+++ b/src/markdown.cpp
@@ -483,6 +483,8 @@ static int processNmdash(GrowBuf &out,const char *data,int off,int size)
{
count++;
}
+ if (count==2 && off>=2 && qstrncmp(data-2,"<!",2)==0) return 0; // start HTML comment
+ if (count==2 && (data[2]=='>')) return 0; // end HTML comment
if (count==2 && (off<8 || qstrncmp(data-8,"operator",8)!=0)) // -- => ndash
{
out.addStr("&ndash;");
@@ -2548,7 +2550,7 @@ QCString processMarkdown(const QCString &fileName,const int lineNr,Entry *e,cons
// finally process the inline markup (links, emphasis and code spans)
processInline(out,s,s.length());
out.addChar(0);
- Debug::print(Debug::Markdown,0,"======== Markdown =========\n---- input ------- \n%s\n---- output -----\n%s\n---------\n",qPrint(input),qPrint(out.get()));
+ Debug::print(Debug::Markdown,0,"======== Markdown =========\n---- input ------- \n%s\n---- output -----\n%s\n=========\n",qPrint(input),qPrint(out.get()));
return out.get();
}