summaryrefslogtreecommitdiffstats
path: root/src/markdown.cpp
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2018-10-02 10:59:19 (GMT)
committeralbert-github <albert.tests@gmail.com>2018-10-02 10:59:19 (GMT)
commitdee50d6921e2f6fe2a0dd2e9b50fa51cd1fc4c60 (patch)
treea1ef95886c668a63c9639d7c1ecb8b1c963d8bc1 /src/markdown.cpp
parentd7d4d5c443887cc63211febe40d43f26dfe41bc0 (diff)
downloadDoxygen-dee50d6921e2f6fe2a0dd2e9b50fa51cd1fc4c60.zip
Doxygen-dee50d6921e2f6fe2a0dd2e9b50fa51cd1fc4c60.tar.gz
Doxygen-dee50d6921e2f6fe2a0dd2e9b50fa51cd1fc4c60.tar.bz2
issue_6524: Markdown formats missing in doxygen outputs.
Support for strikethrough by means of `~~<text>~~` See also https://help.github.com/articles/basic-writing-and-formatting-syntax/ paragraph about "styling" text".
Diffstat (limited to 'src/markdown.cpp')
-rw-r--r--src/markdown.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/markdown.cpp b/src/markdown.cpp
index c19d6db..db29c07 100644
--- a/src/markdown.cpp
+++ b/src/markdown.cpp
@@ -396,9 +396,11 @@ static int processEmphasis2(GrowBuf &out, const char *data, int size, char c)
data[i-1]!='\n'
)
{
- out.addStr("<strong>");
+ if (c == '~') out.addStr("<strike>");
+ else out.addStr("<strong>");
processInline(out,data,i);
- out.addStr("</strong>");
+ if (c == '~') out.addStr("</strike>");
+ else out.addStr("</strong>");
return i + 2;
}
i++;
@@ -616,7 +618,7 @@ static int processEmphasis(GrowBuf &out,const char *data,int offset,int size)
char c = data[0];
int ret;
- if (size>2 && data[1]!=c) // _bla or *bla
+ if (size>2 && c!='~' && data[1]!=c) // _bla or *bla
{
// whitespace cannot follow an opening emphasis
if (data[1]==' ' || data[1]=='\n' ||
@@ -635,7 +637,7 @@ static int processEmphasis(GrowBuf &out,const char *data,int offset,int size)
}
return ret+2;
}
- if (size>4 && data[1]==c && data[2]==c && data[3]!=c) // ___bla or ***bla
+ if (size>4 && c!='~' && data[1]==c && data[2]==c && data[3]!=c) // ___bla or ***bla
{
if (data[3]==' ' || data[3]=='\n' ||
(ret = processEmphasis3(out, data+3, size-3, c)) == 0)
@@ -2513,6 +2515,7 @@ QCString processMarkdown(const QCString &fileName,const int lineNr,Entry *e,cons
// setup callback table for special characters
g_actions[(unsigned int)'_']=processEmphasis;
g_actions[(unsigned int)'*']=processEmphasis;
+ g_actions[(unsigned int)'~']=processEmphasis;
g_actions[(unsigned int)'`']=processCodeSpan;
g_actions[(unsigned int)'\\']=processSpecialCommand;
g_actions[(unsigned int)'@']=processSpecialCommand;