mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Ensure that blob-excerpt links work for wiki (#18587)
It appears that the blob-excerpt links do not work on the wiki - likely since their introduction. This PR adds support for the wiki on these links. Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		| @@ -787,6 +787,15 @@ func ExcerptBlob(ctx *context.Context) { | ||||
| 	direction := ctx.FormString("direction") | ||||
| 	filePath := ctx.FormString("path") | ||||
| 	gitRepo := ctx.Repo.GitRepo | ||||
| 	if ctx.FormBool("wiki") { | ||||
| 		var err error | ||||
| 		gitRepo, err = git.OpenRepositoryCtx(ctx, ctx.Repo.Repository.WikiPath()) | ||||
| 		if err != nil { | ||||
| 			ctx.ServerError("OpenRepository", err) | ||||
| 			return | ||||
| 		} | ||||
| 		defer gitRepo.Close() | ||||
| 	} | ||||
| 	chunkSize := gitdiff.BlobExcerptChunkSize | ||||
| 	commit, err := gitRepo.GetCommit(commitID) | ||||
| 	if err != nil { | ||||
|   | ||||
| @@ -5,6 +5,7 @@ | ||||
| package web | ||||
|  | ||||
| import ( | ||||
| 	gocontext "context" | ||||
| 	"net/http" | ||||
| 	"os" | ||||
| 	"path" | ||||
| @@ -956,7 +957,25 @@ func RegisterRoutes(m *web.Route) { | ||||
|  | ||||
| 		m.Group("/blob_excerpt", func() { | ||||
| 			m.Get("/{sha}", repo.SetEditorconfigIfExists, repo.SetDiffViewStyle, repo.ExcerptBlob) | ||||
| 		}, repo.MustBeNotEmpty, context.RepoRef(), reqRepoCodeReader) | ||||
| 		}, func(ctx *context.Context) (cancel gocontext.CancelFunc) { | ||||
| 			if ctx.FormBool("wiki") { | ||||
| 				ctx.Data["PageIsWiki"] = true | ||||
| 				repo.MustEnableWiki(ctx) | ||||
| 				return | ||||
| 			} | ||||
|  | ||||
| 			reqRepoCodeReader(ctx) | ||||
| 			if ctx.Written() { | ||||
| 				return | ||||
| 			} | ||||
| 			cancel = context.RepoRef()(ctx) | ||||
| 			if ctx.Written() { | ||||
| 				return | ||||
| 			} | ||||
|  | ||||
| 			repo.MustBeNotEmpty(ctx) | ||||
| 			return | ||||
| 		}) | ||||
|  | ||||
| 		m.Group("/pulls/{index}", func() { | ||||
| 			m.Get(".diff", repo.DownloadPullDiff) | ||||
|   | ||||
| @@ -4,17 +4,17 @@ | ||||
| 		{{if eq .GetType 4}} | ||||
| 			<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"> | ||||
| 				{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5) }} | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=down" data-anchor="{{$.Anchor}}"> | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=down&wiki={{$.PageIsWiki}}" data-anchor="{{$.Anchor}}"> | ||||
| 						{{svg "octicon-fold-down"}} | ||||
| 					</a> | ||||
| 				{{end}} | ||||
| 				{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4) }} | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=up" data-anchor="{{$.Anchor}}"> | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=up&wiki={{$.PageIsWiki}}" data-anchor="{{$.Anchor}}"> | ||||
| 						{{svg "octicon-fold-up"}} | ||||
| 					</a> | ||||
| 				{{end}} | ||||
| 				{{if eq $line.GetExpandDirection 2}} | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=" data-anchor="{{$.Anchor}}"> | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=&wiki={{$.PageIsWiki}}" data-anchor="{{$.Anchor}}"> | ||||
| 						{{svg "octicon-fold"}} | ||||
| 					</a> | ||||
| 				{{end}} | ||||
| @@ -43,17 +43,17 @@ | ||||
| 		{{if eq .GetType 4}} | ||||
| 			<td colspan="2" class="lines-num"> | ||||
| 				{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5) }} | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=down" data-anchor="{{$.Anchor}}"> | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=down&wiki={{$.PageIsWiki}}" data-anchor="{{$.Anchor}}"> | ||||
| 						{{svg "octicon-fold-down"}} | ||||
| 					</a> | ||||
| 				{{end}} | ||||
| 				{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4) }} | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=up" data-anchor="{{$.Anchor}}"> | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=up&wiki={{$.PageIsWiki}}" data-anchor="{{$.Anchor}}"> | ||||
| 						{{svg "octicon-fold-up"}} | ||||
| 					</a> | ||||
| 				{{end}} | ||||
| 				{{if eq $line.GetExpandDirection 2}} | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=" data-anchor="{{$.Anchor}}"> | ||||
| 					<a role="button" class="blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{PathEscape $.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=&wiki={{$.PageIsWiki}}" data-anchor="{{$.Anchor}}"> | ||||
| 						{{svg "octicon-fold"}} | ||||
| 					</a> | ||||
| 				{{end}} | ||||
|   | ||||
| @@ -7,17 +7,17 @@ | ||||
| 				{{if eq .GetType 4}} | ||||
| 					<td class="lines-num lines-num-old"> | ||||
| 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5) }} | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=down" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=down&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 								{{svg "octicon-fold-down"}} | ||||
| 							</a> | ||||
| 						{{end}} | ||||
| 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4) }} | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=up" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=up&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 								{{svg "octicon-fold-up"}} | ||||
| 							</a> | ||||
| 						{{end}} | ||||
| 						{{if eq $line.GetExpandDirection 2}} | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 								{{svg "octicon-fold"}} | ||||
| 							</a> | ||||
| 						{{end}} | ||||
|   | ||||
| @@ -6,17 +6,17 @@ | ||||
| 				{{if eq .GetType 4}} | ||||
| 					<td colspan="2" class="lines-num"> | ||||
| 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5) }} | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=down" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=down&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 								{{svg "octicon-fold-down"}} | ||||
| 							</a> | ||||
| 						{{end}} | ||||
| 						{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4) }} | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=up" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=up&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 								{{svg "octicon-fold-up"}} | ||||
| 							</a> | ||||
| 						{{end}} | ||||
| 						{{if eq $line.GetExpandDirection 2}} | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 							<a role="button" class="blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=&wiki={{$.root.PageIsWiki}}" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"> | ||||
| 								{{svg "octicon-fold"}} | ||||
| 							</a> | ||||
| 						{{end}} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user