mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 20:36:07 +01:00 
			
		
		
		
	Use raw Wiki links for non-renderable Wiki files (#30273)
In Wiki pages, short-links created to local Wiki files were always expanded as regular Wiki Links. In particular, if a link wanted to point to a file that Gitea doesn't know how to render (e.g, a .zip file), a user following the link would be silently redirected to the Wiki's home page. This change makes short-links* in Wiki pages be expanded to raw wiki links, so these local wiki files may be accessed without manually accessing their URL. * only short-links ending in a file extension that isn't renderable are affected. Closes #27121. Signed-off-by: Rafael Girão <rafael.s.girao@tecnico.ulisboa.pt> Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
		@@ -653,9 +653,9 @@ space</p>
 | 
			
		||||
			Expected: `<p>space @mention-user<br/>
 | 
			
		||||
/just/a/path.bin<br/>
 | 
			
		||||
<a href="https://example.com/file.bin" rel="nofollow">https://example.com/file.bin</a><br/>
 | 
			
		||||
<a href="/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/image.jpg" alt="local image"/></a><br/>
 | 
			
		||||
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image"/></a><br/>
 | 
			
		||||
@@ -711,9 +711,9 @@ space</p>
 | 
			
		||||
			Expected: `<p>space @mention-user<br/>
 | 
			
		||||
/just/a/path.bin<br/>
 | 
			
		||||
<a href="https://example.com/file.bin" rel="nofollow">https://example.com/file.bin</a><br/>
 | 
			
		||||
<a href="https://gitea.io/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://gitea.io/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="https://gitea.io/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://gitea.io/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="https://gitea.io/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/image.jpg" alt="local image"/></a><br/>
 | 
			
		||||
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image"/></a><br/>
 | 
			
		||||
@@ -769,9 +769,9 @@ space</p>
 | 
			
		||||
			Expected: `<p>space @mention-user<br/>
 | 
			
		||||
/just/a/path.bin<br/>
 | 
			
		||||
<a href="https://example.com/file.bin" rel="nofollow">https://example.com/file.bin</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
 | 
			
		||||
@@ -829,9 +829,9 @@ space</p>
 | 
			
		||||
			Expected: `<p>space @mention-user<br/>
 | 
			
		||||
/just/a/path.bin<br/>
 | 
			
		||||
<a href="https://example.com/file.bin" rel="nofollow">https://example.com/file.bin</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
 | 
			
		||||
@@ -889,9 +889,9 @@ space</p>
 | 
			
		||||
			Expected: `<p>space @mention-user<br/>
 | 
			
		||||
/just/a/path.bin<br/>
 | 
			
		||||
<a href="https://example.com/file.bin" rel="nofollow">https://example.com/file.bin</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
 | 
			
		||||
@@ -951,9 +951,9 @@ space</p>
 | 
			
		||||
			Expected: `<p>space @mention-user<br/>
 | 
			
		||||
/just/a/path.bin<br/>
 | 
			
		||||
<a href="https://example.com/file.bin" rel="nofollow">https://example.com/file.bin</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/file.bin" rel="nofollow">local link</a><br/>
 | 
			
		||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
 | 
			
		||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user