Loading doc/markdown.doc +6 −0 Original line number Diff line number Diff line Loading @@ -445,6 +445,12 @@ when processed by doxygen: Documentation that will appear on the main page If a page has a label you can link to it using \ref cmdref "\@ref" as is shown above. To refer to a markdown page without such label you can simple use the file name of the page, e.g. See [the other page](@ref other.md) for more info. \subsection md_html_blocks Treatment of HTML blocks Markdown is quite strict in the way it processes block-level HTML: Loading src/docparser.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ #include "formula.h" #include "config.h" #include "growbuf.h" #include "markdown.h" // debug off #define DBG(x) do {} while(0) Loading Loading @@ -2417,8 +2418,13 @@ DocRef::DocRef(DocNode *parent,const QCString &target,const QCString &context) : QCString anchor; //printf("DocRef::DocRef(target=%s,context=%s)\n",target.data(),context.data()); ASSERT(!target.isEmpty()); SrcLangExt lang = getLanguageFromFileName(target); m_relPath = g_relPath; SectionInfo *sec = Doxygen::sectionDict->find(target); if (sec==0 && lang==SrcLangExt_Markdown) // lookup as markdown file { sec = Doxygen::sectionDict->find(markdownFileNameToId(target)); } if (sec) // ref to section or anchor { PageDef *pd = 0; Loading src/markdown.cpp +10 −6 Original line number Diff line number Diff line Loading @@ -2249,6 +2249,15 @@ QCString processMarkdown(const QCString &fileName,Entry *e,const QCString &input //--------------------------------------------------------------------------- QCString markdownFileNameToId(const QCString &fileName) { QCString baseFn = stripFromPath(QFileInfo(fileName).absFilePath().utf8()); int i = baseFn.findRev('.'); if (i!=-1) baseFn = baseFn.left(i); QCString baseName = substitute(substitute(baseFn," ","_"),"/","_"); return "md_"+baseName; } void MarkdownFileParser::parseInput(const char *fileName, const char *fileBuf, Entry *root, Loading @@ -2270,15 +2279,10 @@ void MarkdownFileParser::parseInput(const char *fileName, QCString docs = output.data(); QCString id; QCString title=extractPageTitle(docs,id).stripWhiteSpace(); //g_correctSectionLevel = !title.isEmpty(); QCString baseFn = stripFromPath(QFileInfo(fileName).absFilePath().utf8()); int i = baseFn.findRev('.'); if (i!=-1) baseFn = baseFn.left(i); QCString titleFn = QFileInfo(fileName).baseName().utf8(); QCString fn = QFileInfo(fileName).fileName().utf8(); QCString baseName = substitute(substitute(baseFn," ","_"),"/","_"); static QCString mdfileAsMainPage = Config_getString("USE_MDFILE_AS_MAINPAGE"); if (id.isEmpty()) id = "md_"+baseName; if (id.isEmpty()) id = markdownFileNameToId(fileName); if (title.isEmpty()) title = titleFn; if (fn==mdfileAsMainPage) { Loading src/markdown.h +1 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ class Entry; /** processes string \a s and converts markdown into doxygen/html commands. */ QCString processMarkdown(const QCString &fileName,Entry *e,const QCString &s); QCString markdownFileNameToId(const QCString &fileName); class MarkdownFileParser : public ParserInterface { Loading Loading
doc/markdown.doc +6 −0 Original line number Diff line number Diff line Loading @@ -445,6 +445,12 @@ when processed by doxygen: Documentation that will appear on the main page If a page has a label you can link to it using \ref cmdref "\@ref" as is shown above. To refer to a markdown page without such label you can simple use the file name of the page, e.g. See [the other page](@ref other.md) for more info. \subsection md_html_blocks Treatment of HTML blocks Markdown is quite strict in the way it processes block-level HTML: Loading
src/docparser.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ #include "formula.h" #include "config.h" #include "growbuf.h" #include "markdown.h" // debug off #define DBG(x) do {} while(0) Loading Loading @@ -2417,8 +2418,13 @@ DocRef::DocRef(DocNode *parent,const QCString &target,const QCString &context) : QCString anchor; //printf("DocRef::DocRef(target=%s,context=%s)\n",target.data(),context.data()); ASSERT(!target.isEmpty()); SrcLangExt lang = getLanguageFromFileName(target); m_relPath = g_relPath; SectionInfo *sec = Doxygen::sectionDict->find(target); if (sec==0 && lang==SrcLangExt_Markdown) // lookup as markdown file { sec = Doxygen::sectionDict->find(markdownFileNameToId(target)); } if (sec) // ref to section or anchor { PageDef *pd = 0; Loading
src/markdown.cpp +10 −6 Original line number Diff line number Diff line Loading @@ -2249,6 +2249,15 @@ QCString processMarkdown(const QCString &fileName,Entry *e,const QCString &input //--------------------------------------------------------------------------- QCString markdownFileNameToId(const QCString &fileName) { QCString baseFn = stripFromPath(QFileInfo(fileName).absFilePath().utf8()); int i = baseFn.findRev('.'); if (i!=-1) baseFn = baseFn.left(i); QCString baseName = substitute(substitute(baseFn," ","_"),"/","_"); return "md_"+baseName; } void MarkdownFileParser::parseInput(const char *fileName, const char *fileBuf, Entry *root, Loading @@ -2270,15 +2279,10 @@ void MarkdownFileParser::parseInput(const char *fileName, QCString docs = output.data(); QCString id; QCString title=extractPageTitle(docs,id).stripWhiteSpace(); //g_correctSectionLevel = !title.isEmpty(); QCString baseFn = stripFromPath(QFileInfo(fileName).absFilePath().utf8()); int i = baseFn.findRev('.'); if (i!=-1) baseFn = baseFn.left(i); QCString titleFn = QFileInfo(fileName).baseName().utf8(); QCString fn = QFileInfo(fileName).fileName().utf8(); QCString baseName = substitute(substitute(baseFn," ","_"),"/","_"); static QCString mdfileAsMainPage = Config_getString("USE_MDFILE_AS_MAINPAGE"); if (id.isEmpty()) id = "md_"+baseName; if (id.isEmpty()) id = markdownFileNameToId(fileName); if (title.isEmpty()) title = titleFn; if (fn==mdfileAsMainPage) { Loading
src/markdown.h +1 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ class Entry; /** processes string \a s and converts markdown into doxygen/html commands. */ QCString processMarkdown(const QCString &fileName,Entry *e,const QCString &s); QCString markdownFileNameToId(const QCString &fileName); class MarkdownFileParser : public ParserInterface { Loading