* 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" .}}
 | |
| 
 |