Skip to content

Commit

Permalink
Better condition to prefix with path to wiki
Browse files Browse the repository at this point in the history
Signed-off-by: Benoit Donneaux <[email protected]>
  • Loading branch information
btlogy committed Jun 13, 2024
1 parent 3ae27e4 commit 7fbcffb
Showing 1 changed file with 13 additions and 18 deletions.
31 changes: 13 additions & 18 deletions markdown/link.go
Original file line number Diff line number Diff line change
Expand Up @@ -256,41 +256,31 @@ func (converter *DefaultConverter) resolveTicketLink(link string) string {
return markLink(issueURL)
}

func (converter *DefaultConverter) resolveWikiLink(ticketID int64, wikiPage string, link string) string {
func (converter *DefaultConverter) resolveWikiLink(path string, link string) string {
wikiPageName := wikiLinkRegexp.ReplaceAllString(link, `$1`)
wikiPageAnchor := wikiLinkRegexp.ReplaceAllString(link, `$2`)
translatedPageName := converter.giteaAccessor.TranslateWikiPageName(wikiPageName)
var prefix, suffix string
if ticketID != trac.NullID {
prefix = "wiki/"
} else if wikiPage != "" {
prefix = ""
}
var suffix string
if wikiPageAnchor == "" {
suffix = ""
} else {
suffix = "#" + wikiPageAnchor
}
return markLink(prefix + translatedPageName + suffix)
return markLink(path + translatedPageName + suffix)
}

func (converter *DefaultConverter) resolveWikiCamelCaseLink(ticketID int64, wikiPage string, link string) string {
func (converter *DefaultConverter) resolveWikiCamelCaseLink(path string, link string) string {
leadingChar := wikiCamelCaseLinkRegexp.ReplaceAllString(link, `$1`)
wikiPageName := wikiCamelCaseLinkRegexp.ReplaceAllString(link, `$2`)
wikiPageAnchor := wikiCamelCaseLinkRegexp.ReplaceAllString(link, `$3`)
translatedPageName := converter.giteaAccessor.TranslateWikiPageName(wikiPageName)
var prefix, suffix string
if ticketID != trac.NullID {
prefix = "wiki/"
} else if wikiPage != "" {
prefix = ""
}
var suffix string
if wikiPageAnchor == "" {
suffix = ""
} else {
suffix = "#" + wikiPageAnchor
}
return leadingChar + markLink(prefix + translatedPageName + suffix)
return leadingChar + markLink(path + translatedPageName + suffix)
}

// convertBrackettedTracLinks converts the various forms of (square) bracketted Trac links into an unbracketted form.
Expand Down Expand Up @@ -390,12 +380,17 @@ func (converter *DefaultConverter) convertUnbrackettedTracLinks(ticketID int64,
return converter.resolveTicketLink(match)
})

// add a 'wiki/' path for link from ticket
var path = ""
if ticketID != trac.NullID {
path = "wiki/"
}
out = wikiLinkRegexp.ReplaceAllStringFunc(out, func(match string) string {
return converter.resolveWikiLink(ticketID, wikiPage, match)
return converter.resolveWikiLink(path, match)
})

out = wikiCamelCaseLinkRegexp.ReplaceAllStringFunc(out, func(match string) string {
return converter.resolveWikiCamelCaseLink(ticketID, wikiPage, match)
return converter.resolveWikiCamelCaseLink(path, match)
})

return out
Expand Down

0 comments on commit 7fbcffb

Please sign in to comment.