<div id="file-content" class="{{TabSizeClass .Editorconfig .FileName}}"> <h4 class="ui top attached header" id="{{if .ReadmeExist}}repo-readme{{else}}repo-read-file{{end}}"> {{if .ReadmeExist}} <i class="octicon octicon-book"></i> {{if .ReadmeInList}} <strong>{{.FileName}}</strong> {{else}} <strong>{{.FileName}}</strong> <span class="text grey normal">{{FileSize .FileSize}}</span> {{end}} {{else}} <i class="file text outline icon ui left"></i> <strong>{{.FileName}}</strong> <span class="text grey normal">{{FileSize .FileSize}}</span> {{end}} {{if not .ReadmeInList}} <div class="ui right file-actions"> <div class="ui buttons"> {{if not .IsViewCommit}} <a class="ui button" href="{{.RepoLink}}/src/{{.CommitID}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.file_permalink"}}</a> {{end}} <a class="ui button" href="{{.RepoLink}}/commits/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.file_history"}}</a> <a class="ui button" href="{{EscapePound $.RawFileLink}}">{{.i18n.Tr "repo.file_raw"}}</a> </div> {{if .Repository.CanEnableEditor}} {{if .CanEditFile}} <a href="{{.RepoLink}}/_edit/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><i class="octicon octicon-pencil btn-octicon poping up" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i></a> {{else}} <i class="octicon octicon-pencil btn-octicon poping up disabled" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i> {{end}} {{if .CanDeleteFile}} <a href="{{.RepoLink}}/_delete/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><i class="octicon octicon-trashcan btn-octicon btn-octicon-danger poping up" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i></a> {{else}} <i class="octicon octicon-trashcan btn-octicon poping up disabled" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i> {{end}} {{end}} </div> {{end}} </h4> <div class="ui attached table segment"> <div id="{{if .IsIPythonNotebook}}ipython-notebook{{end}}" class="file-view {{if .IsMarkdown}}markdown{{else if .IsIPythonNotebook}}ipython-notebook{{else if .ReadmeInList}}plain-text{{else if and .IsTextFile}}code-view{{end}} has-emoji"> {{if .IsMarkdown}} {{if .FileContent}}{{.FileContent | Str2html}}{{end}} {{else if .IsIPythonNotebook}} <script> var rendered = null; $.getJSON("{{.RawFileLink}}", null, function(notebook_json) { var notebook = nb.parse(notebook_json); rendered = notebook.render(); $("#ipython-notebook").append(rendered); $("#ipython-notebook code").each(function(i, block) { $(block).addClass("py").addClass("python"); hljs.highlightBlock(block); }); // Overwrite image method to append proper prefix to the source URL var renderer = new marked.Renderer(); var context = '{{.RawFileLink}}'; context = context.substring(0, context.lastIndexOf("/")); renderer.image = function (href, title, text) { return `<img src="${context}/${href}"` } $("#ipython-notebook .nb-markdown-cell").each(function(i, markdown) { $(markdown).html(marked($(markdown).html(), {renderer: renderer})); }); }); </script> {{else if .ReadmeInList}} {{if .FileContent}}{{.FileContent | Str2html}}{{end}} {{else if not .IsTextFile}} <div class="view-raw ui center"> {{if .IsImageFile}} <img src="{{EscapePound $.RawFileLink}}"> {{else if .IsVideoFile}} <video controls src="{{EscapePound $.RawFileLink}}"> <strong>{{.i18n.Tr "repo.video_not_supported_in_browser"}}</strong> </video> {{else if .IsPDFFile}} <iframe width="100%" height="600px" src="{{AppSubURL}}/plugins/pdfjs-1.4.20/web/viewer.html?file={{EscapePound $.RawFileLink}}"></iframe> {{else}} <a href="{{EscapePound $.RawFileLink}}" rel="nofollow" class="btn btn-gray btn-radius">{{.i18n.Tr "repo.file_view_raw"}}</a> {{end}} </div> {{else if .FileSize}} <table> <tbody> <tr> {{if .IsFileTooLarge}} <td><strong>{{.i18n.Tr "repo.file_too_large"}}</strong></td> {{else}} <td class="lines-num">{{.LineNums}}</td> <td class="lines-code"><pre><code class="{{.HighlightClass}}"><ol class="linenums">{{.FileContent}}</ol></code></pre></td> {{end}} </tr> </tbody> </table> {{end}} </div> </div> </div> <script> function submitDeleteForm() { var message = prompt("{{.i18n.Tr "repo.delete_confirm_message"}}\n\n{{.i18n.Tr "repo.delete_commit_summary"}}", "Delete '{{.TreeName}}'"); if (message != null) { $("#delete-message").val(message); $("#delete-file-form").submit() } } </script>