mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00: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:
		@@ -427,6 +427,10 @@ func TestRender_ShortLinks(t *testing.T) {
 | 
			
		||||
	otherImgurlWiki := util.URLJoin(markup.TestRepoURL, "wiki", "raw", "Link+Other.jpg")
 | 
			
		||||
	encodedImgurlWiki := util.URLJoin(markup.TestRepoURL, "wiki", "raw", "Link+%23.jpg")
 | 
			
		||||
	notencodedImgurlWiki := util.URLJoin(markup.TestRepoURL, "wiki", "raw", "some", "path", "Link+#.jpg")
 | 
			
		||||
	renderableFileURL := util.URLJoin(tree, "markdown_file.md")
 | 
			
		||||
	renderableFileURLWiki := util.URLJoin(markup.TestRepoURL, "wiki", "markdown_file.md")
 | 
			
		||||
	unrenderableFileURL := util.URLJoin(tree, "file.zip")
 | 
			
		||||
	unrenderableFileURLWiki := util.URLJoin(markup.TestRepoURL, "wiki", "raw", "file.zip")
 | 
			
		||||
	favicon := "http://google.com/favicon.ico"
 | 
			
		||||
 | 
			
		||||
	test(
 | 
			
		||||
@@ -481,6 +485,14 @@ func TestRender_ShortLinks(t *testing.T) {
 | 
			
		||||
		"[[Link]] [[Other Link]] [[Link?]]",
 | 
			
		||||
		`<p><a href="`+url+`" rel="nofollow">Link</a> <a href="`+otherURL+`" rel="nofollow">Other Link</a> <a href="`+encodedURL+`" rel="nofollow">Link?</a></p>`,
 | 
			
		||||
		`<p><a href="`+urlWiki+`" rel="nofollow">Link</a> <a href="`+otherURLWiki+`" rel="nofollow">Other Link</a> <a href="`+encodedURLWiki+`" rel="nofollow">Link?</a></p>`)
 | 
			
		||||
	test(
 | 
			
		||||
		"[[markdown_file.md]]",
 | 
			
		||||
		`<p><a href="`+renderableFileURL+`" rel="nofollow">markdown_file.md</a></p>`,
 | 
			
		||||
		`<p><a href="`+renderableFileURLWiki+`" rel="nofollow">markdown_file.md</a></p>`)
 | 
			
		||||
	test(
 | 
			
		||||
		"[[file.zip]]",
 | 
			
		||||
		`<p><a href="`+unrenderableFileURL+`" rel="nofollow">file.zip</a></p>`,
 | 
			
		||||
		`<p><a href="`+unrenderableFileURLWiki+`" rel="nofollow">file.zip</a></p>`)
 | 
			
		||||
	test(
 | 
			
		||||
		"[[Link #.jpg]]",
 | 
			
		||||
		`<p><a href="`+encodedImgurl+`" rel="nofollow"><img src="`+encodedImgurl+`" title="Link #.jpg" alt="Link #.jpg"/></a></p>`,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user