Fossil SCM

Add the ability to escape Wiki page names in hyperlinks using a wiki: prefix. Ticket [f58a05747498d3aaa9ea1e4f8f4015c209dfc54a].

drh 2010-06-13 15:58 trunk
Commit d6b2c387a0e5506293dd24a54c3edd5a757ffa3e
1 file changed +5
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -975,10 +975,11 @@
975975
** [/path]
976976
**
977977
** [./relpath]
978978
**
979979
** [WikiPageName]
980
+** [wiki:WikiPageName]
980981
**
981982
** [0123456789abcdef]
982983
**
983984
** [#fragment]
984985
**
@@ -1041,10 +1042,14 @@
10411042
blob_appendf(p->pOut, "<a href=\"%s/info/%s\">", g.zBaseURL, zTarget);
10421043
}
10431044
}else if( strlen(zTarget)>=10 && isdigit(zTarget[0]) && zTarget[4]=='-'
10441045
&& db_int(0, "SELECT datetime(%Q) NOT NULL", zTarget) ){
10451046
blob_appendf(p->pOut, "<a href=\"%s/timeline?c=%T\">", g.zBaseURL, zTarget);
1047
+ }else if( strncmp(zTarget, "wiki:", 5)==0
1048
+ && wiki_name_is_wellformed((const unsigned char*)zTarget) ){
1049
+ zTarget += 5;
1050
+ blob_appendf(p->pOut, "<a href=\"%s/wiki?name=%T\">", g.zBaseURL, zTarget);
10461051
}else if( wiki_name_is_wellformed((const unsigned char *)zTarget) ){
10471052
blob_appendf(p->pOut, "<a href=\"%s/wiki?name=%T\">", g.zBaseURL, zTarget);
10481053
}else{
10491054
blob_appendf(p->pOut, "[bad-link: %h]", zTarget);
10501055
zTerm = "";
10511056
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -975,10 +975,11 @@
975 ** [/path]
976 **
977 ** [./relpath]
978 **
979 ** [WikiPageName]
 
980 **
981 ** [0123456789abcdef]
982 **
983 ** [#fragment]
984 **
@@ -1041,10 +1042,14 @@
1041 blob_appendf(p->pOut, "<a href=\"%s/info/%s\">", g.zBaseURL, zTarget);
1042 }
1043 }else if( strlen(zTarget)>=10 && isdigit(zTarget[0]) && zTarget[4]=='-'
1044 && db_int(0, "SELECT datetime(%Q) NOT NULL", zTarget) ){
1045 blob_appendf(p->pOut, "<a href=\"%s/timeline?c=%T\">", g.zBaseURL, zTarget);
 
 
 
 
1046 }else if( wiki_name_is_wellformed((const unsigned char *)zTarget) ){
1047 blob_appendf(p->pOut, "<a href=\"%s/wiki?name=%T\">", g.zBaseURL, zTarget);
1048 }else{
1049 blob_appendf(p->pOut, "[bad-link: %h]", zTarget);
1050 zTerm = "";
1051
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -975,10 +975,11 @@
975 ** [/path]
976 **
977 ** [./relpath]
978 **
979 ** [WikiPageName]
980 ** [wiki:WikiPageName]
981 **
982 ** [0123456789abcdef]
983 **
984 ** [#fragment]
985 **
@@ -1041,10 +1042,14 @@
1042 blob_appendf(p->pOut, "<a href=\"%s/info/%s\">", g.zBaseURL, zTarget);
1043 }
1044 }else if( strlen(zTarget)>=10 && isdigit(zTarget[0]) && zTarget[4]=='-'
1045 && db_int(0, "SELECT datetime(%Q) NOT NULL", zTarget) ){
1046 blob_appendf(p->pOut, "<a href=\"%s/timeline?c=%T\">", g.zBaseURL, zTarget);
1047 }else if( strncmp(zTarget, "wiki:", 5)==0
1048 && wiki_name_is_wellformed((const unsigned char*)zTarget) ){
1049 zTarget += 5;
1050 blob_appendf(p->pOut, "<a href=\"%s/wiki?name=%T\">", g.zBaseURL, zTarget);
1051 }else if( wiki_name_is_wellformed((const unsigned char *)zTarget) ){
1052 blob_appendf(p->pOut, "<a href=\"%s/wiki?name=%T\">", g.zBaseURL, zTarget);
1053 }else{
1054 blob_appendf(p->pOut, "[bad-link: %h]", zTarget);
1055 zTerm = "";
1056

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button