mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-30 23:53:52 +03:00
af7ffaa279
* Server-side syntax hilighting for all code This PR does a few things: * Remove all traces of highlight.js * Use chroma library to provide fast syntax hilighting directly on the server * Provide syntax hilighting for diffs * Re-style both unified and split diffs views * Add custom syntax hilighting styling for both regular and arc-green Fixes #7729 Fixes #10157 Fixes #11825 Fixes #7728 Fixes #3872 Fixes #3682 And perhaps gets closer to #9553 * fix line marker * fix repo search * Fix single line select * properly load settings * npm uninstall highlight.js * review suggestion * code review * forgot to call function * fix test * Apply suggestions from code review suggestions from @silverwind thanks Co-authored-by: silverwind <me@silverwind.io> * code review * copy/paste error * Use const for highlight size limit * Update web_src/less/_repository.less Co-authored-by: Lauris BH <lauris@nix.lv> * update size limit to 1MB and other styling tweaks * fix highlighting for certain diff sections * fix test * add worker back as suggested Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Lauris BH <lauris@nix.lv>
73 lines
3.8 KiB
Cheetah
73 lines
3.8 KiB
Cheetah
{{template "base/head" .}}
|
|
<div class="explore users">
|
|
{{template "explore/navbar" .}}
|
|
<div class="ui container">
|
|
<form class="ui form ignore-dirty" style="max-width: 100%">
|
|
<input type="hidden" name="tab" value="{{$.TabName}}">
|
|
<div class="ui fluid action input">
|
|
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "explore.search"}}..." autofocus>
|
|
<button class="ui blue button">{{.i18n.Tr "explore.search"}}</button>
|
|
</div>
|
|
</form>
|
|
<div class="ui divider"></div>
|
|
|
|
<div class="ui user list">
|
|
{{if .SearchResults}}
|
|
<h3>
|
|
{{.i18n.Tr "explore.code_search_results" (.Keyword|Escape) | Str2html }}
|
|
</h3>
|
|
<div>
|
|
{{range $term := .SearchResultLanguages}}
|
|
<a class="ui text-label {{if eq $.Language $term.Language}}primary {{end}}basic label" href="{{AppSubUrl}}/explore/code?q={{$.Keyword}}{{if ne $.Language $term.Language}}&l={{$term.Language}}{{end}}">
|
|
<i class="color-icon" style="background-color: {{$term.Color}}"></i>
|
|
{{$term.Language}}
|
|
<div class="detail">{{$term.Count}}</div>
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
<div class="repository search">
|
|
{{range $result := .SearchResults}}
|
|
{{$repo := (index $.RepoMaps .RepoID)}}
|
|
<div class="diff-file-box diff-box file-content non-diff-file-content repo-search-result">
|
|
<h4 class="ui top attached normal header">
|
|
<span class="file"><a rel="nofollow" href="{{EscapePound $repo.HTMLURL}}">{{$repo.FullName}}</a> - {{.Filename}}</span>
|
|
<a class="ui basic grey tiny button" rel="nofollow" href="{{EscapePound $repo.HTMLURL}}/src/commit/{{$result.CommitID}}/{{EscapePound .Filename}}">{{$.i18n.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="{{EscapePound $repo.HTMLURL}}/src/commit/{{$result.CommitID}}/{{EscapePound $result.Filename}}#L{{.}}"><span>{{.}}</span></a>
|
|
{{end}}
|
|
</td>
|
|
<td class="lines-code"><pre><code class="chroma"><ol class="linenums">{{.FormattedLines | Safe}}</ol></code></pre></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="ui bottom attached table segment">
|
|
{{if $result.Language}}
|
|
<i class="color-icon" style="background-color: {{$result.Color}}"></i>{{$result.Language}}
|
|
{{end}}
|
|
|
|
{{if not $result.UpdatedUnix.IsZero}}
|
|
<span class="ui small grey text pull right">{{$.i18n.Tr "explore.code_last_indexed_at" (TimeSinceUnix $result.UpdatedUnix $.i18n.Lang) | Safe}} </span>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
{{else}}
|
|
<div>{{$.i18n.Tr "explore.code_no_results"}}</div>
|
|
{{end}}
|
|
</div>
|
|
|
|
{{template "base/paginate" .}}
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|
|
|