mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-21 05:42:28 +03:00
90a650d2b0
Backport #28576 by wxiaoguang
Regression of #28454 . Now the string is escaped HTML, so it doesn't
need `| Safe`.
Fix #28575
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit acc8100d47
)
73 lines
3.5 KiB
Go HTML Template
73 lines
3.5 KiB
Go HTML Template
{{template "base/head" .}}
|
|
<div role="main" aria-label="{{.Title}}" class="page-content repository file list">
|
|
{{template "repo/header" .}}
|
|
<div class="ui container">
|
|
<div class="ui repo-search">
|
|
<form class="ui form ignore-dirty" method="get">
|
|
<div class="ui fluid action input">
|
|
<input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable}} disabled{{end}} placeholder="{{ctx.Locale.Tr "repo.search.search_repo"}}">
|
|
<div class="ui dropdown selection {{if .CodeIndexerUnavailable}} disabled{{end}}" data-tooltip-content="{{ctx.Locale.Tr "repo.search.type.tooltip"}}">
|
|
<input name="t" type="hidden"{{if .CodeIndexerUnavailable}} disabled{{end}} value="{{.queryType}}">{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
<div class="text">{{ctx.Locale.Tr (printf "repo.search.%s" (or .queryType "fuzzy"))}}</div>
|
|
<div class="menu">
|
|
<div class="item" data-value="" data-tooltip-content="{{ctx.Locale.Tr "repo.search.fuzzy.tooltip"}}">{{ctx.Locale.Tr "repo.search.fuzzy"}}</div>
|
|
<div class="item" data-value="match" data-tooltip-content="{{ctx.Locale.Tr "repo.search.match.tooltip"}}">{{ctx.Locale.Tr "repo.search.match"}}</div>
|
|
</div>
|
|
</div>
|
|
<button class="ui icon button"{{if .CodeIndexerUnavailable}} disabled{{end}} type="submit">{{svg "octicon-search" 16}}</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{{if .CodeIndexerUnavailable}}
|
|
<div class="ui error message">
|
|
<p>{{ctx.Locale.Tr "repo.search.code_search_unavailable"}}</p>
|
|
</div>
|
|
{{else if .Keyword}}
|
|
<h3>
|
|
{{ctx.Locale.Tr "repo.search.results" (.Keyword|Escape) (.RepoLink|Escape) (.RepoName|Escape) | Str2html}}
|
|
</h3>
|
|
{{if .SearchResults}}
|
|
<div class="flex-text-block gt-fw">
|
|
{{range $term := .SearchResultLanguages}}
|
|
<a class="ui {{if eq $.Language $term.Language}}primary{{end}} basic label gt-m-0" href="{{$.SourcePath}}/search?q={{$.Keyword}}{{if ne $.Language $term.Language}}&l={{$term.Language}}{{end}}{{if ne $.queryType ""}}&t={{$.queryType}}{{end}}">
|
|
<i class="color-icon gt-mr-3" style="background-color: {{$term.Color}}"></i>
|
|
{{$term.Language}}
|
|
<div class="detail">{{$term.Count}}</div>
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
<div class="repository search">
|
|
{{range $result := .SearchResults}}
|
|
<div class="diff-file-box diff-box file-content non-diff-file-content repo-search-result">
|
|
<h4 class="ui top attached normal header gt-df gt-fw">
|
|
<span class="file gt-f1">{{.Filename}}</span>
|
|
<a role="button" class="ui basic tiny button" rel="nofollow" href="{{$.SourcePath}}/src/commit/{{PathEscape $result.CommitID}}/{{PathEscapeSegments .Filename}}">{{ctx.Locale.Tr "repo.diff.view_file"}}</a>
|
|
</h4>
|
|
<div class="ui attached table segment">
|
|
<div class="file-body file-code code-view">
|
|
<table>
|
|
<tbody>
|
|
<tr>
|
|
<td class="lines-num">
|
|
{{range .LineNumbers}}
|
|
<a href="{{$.SourcePath}}/src/commit/{{PathEscape $result.CommitID}}/{{PathEscapeSegments $result.Filename}}#L{{.}}"><span>{{.}}</span></a>
|
|
{{end}}
|
|
</td>
|
|
<td class="lines-code chroma"><code class="code-inner">{{.FormattedLines}}</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
{{template "shared/searchbottom" dict "root" $ "result" .}}
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
{{template "base/paginate" .}}
|
|
{{else}}
|
|
<div>{{ctx.Locale.Tr "repo.search.code_no_results"}}</div>
|
|
{{end}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|