diff --git a/modules/markup/html.go b/modules/markup/html.go
index b5c0e405ae..b5aadb2ad5 100644
--- a/modules/markup/html.go
+++ b/modules/markup/html.go
@@ -867,7 +867,7 @@ func issueIndexPatternProcessor(ctx *RenderContext, node *html.Node) {
var link *html.Node
reftext := node.Data[ref.RefLocation.Start:ref.RefLocation.End]
- if hasExtTrackFormat && !ref.IsPull {
+ if hasExtTrackFormat && !ref.IsPull && ref.Owner == "" {
ctx.Metas["index"] = ref.Issue
res, err := vars.Expand(ctx.Metas["format"], ctx.Metas)
diff --git a/modules/markup/html_internal_test.go b/modules/markup/html_internal_test.go
index 17eff59d56..adc93adb2f 100644
--- a/modules/markup/html_internal_test.go
+++ b/modules/markup/html_internal_test.go
@@ -342,6 +342,22 @@ func TestRender_AutoLink(t *testing.T) {
test(tmp, "d8a994ef24 (diff-2)
")
}
+func TestRender_IssueIndexPatternRef(t *testing.T) {
+ setting.AppURL = TestAppURL
+
+ test := func(input, expected string) {
+ var buf strings.Builder
+ err := postProcess(&RenderContext{
+ Ctx: git.DefaultContext,
+ Metas: numericMetas,
+ }, []processor{issueIndexPatternProcessor}, strings.NewReader(input), &buf)
+ require.NoError(t, err)
+ assert.Equal(t, expected, buf.String(), "input=%q", input)
+ }
+
+ test("alan-turin/Enigma-cryptanalysis#1", `alan-turin/Enigma-cryptanalysis#1`)
+}
+
func TestRender_FullIssueURLs(t *testing.T) {
setting.AppURL = TestAppURL