From eaf691cc82cb2c819bf61a48265d334464f2d831 Mon Sep 17 00:00:00 2001 From: albert-github Date: Tue, 3 Nov 2020 20:15:27 +0100 Subject: issue #8156 Markdown anchors do not work with special symbols Replace the respective characters by an underscore. --- src/markdown.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/markdown.cpp b/src/markdown.cpp index 4abe10e..9b3232e 100644 --- a/src/markdown.cpp +++ b/src/markdown.cpp @@ -2685,7 +2685,13 @@ 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(substitute(substitute(baseFn," ","_"),"/","_"),":","_"),"@","_"); + QCString baseName = baseFn; + baseName = substitute(baseName,":","_"); + baseName = substitute(baseName,"/","_"); + baseName = substitute(baseName,".","_"); + baseName = substitute(baseName," ","_"); + baseName = substitute(baseName,"+","_"); + baseName = substitute(baseName,"@","_"); //printf("markdownFileNameToId(%s)=md_%s\n",qPrint(fileName),qPrint(baseName)); return "md_"+baseName; } -- cgit v0.12