github.com/billybanfield/evergreen@v0.0.0-20170525200750-eeee692790f7/service/templates/task_log.html (about) 1 {{ define "base" }} 2 <!DOCTYPE html> 3 <html> 4 <head> 5 <!-- mongostrap (Bootstrap + MongoDB Theme) --> 6 <link href="/static/css/mongostrap.min.css?hash={{ StaticsMD5 }}" rel="stylesheet" /> 7 8 <!-- fontawesome icons --> 9 <link href="/static/font-awesome/css/font-awesome.min.css" rel="stylesheet" /> 10 11 <!-- our css --> 12 <link href="/static/dist/css/styles{{if IsProd }}.min{{end}}.css?hash={{ StaticsMD5 }}" rel="stylesheet" /> 13 14 <script src="/static/js/jquery.js"></script> 15 <script type="text/javascript" src="/static/js/ansi_up.js"></script> 16 <script type='text/javascript'> 17 var parseHash = function() { 18 var hash = window.location.hash.toString(); 19 hash = (hash.length > 1 ? hash.substr(2) : hash); 20 return parseInt(hash, 10); 21 }; 22 23 var scrollToLine = function(lineNumber) { 24 var lineHeight = parseFloat($('pre').css('lineHeight')); 25 26 $('html, body').animate( 27 { 28 scrollTop : $('#line-' + lineNumber).offset().top - 29 Math.floor($(window).height() / 2) 30 }, 31 650); 32 }; 33 34 var highlightLine = function(lineNumber) { 35 $('#line-' + lineNumber).addClass('selected-line'); 36 }; 37 38 var removeHighlightLine = function(lineNumber) { 39 $('#line-' + lineNumber).removeClass('selected-line'); 40 }; 41 42 var setLine = function(lineNumber) { 43 window.location.hash = '#L' + lineNumber; 44 highlightLine(lineNumber); 45 }; 46 47 $(document).ready(function() { 48 var lineNumber = parseHash(); 49 50 if (!isNaN(lineNumber) && lineNumber >= 0) { 51 setLine(lineNumber); 52 scrollToLine(lineNumber); 53 } 54 55 $('.line-link').click(function(ev) { 56 var elementId = $(ev.target).get(0).id; 57 var newLineNumber = parseInt(elementId.toString().substr('line-link-'.length), 10); 58 if (!isNaN(newLineNumber) && newLineNumber >= 0) { 59 removeHighlightLine(lineNumber); 60 lineNumber = newLineNumber; 61 setLine(lineNumber); 62 } 63 }); 64 65 $('.log-line').each(function(i, el) { 66 $(el).html(ansi_up.ansi_to_html($(el).html())); 67 $(el).html(ansi_up.linkify($(el).html())); 68 }); 69 }); 70 </script> 71 </head> 72 73 <body style="padding:0;"> 74 <pre> 75 {{ range $index, $element := .Data }}<i class="fa fa-link line-link" id='line-link-{{ $index }}'></i> <span class='severity-{{ $element.Severity }} log-line' id='line-{{ $index }}'>{{if not $element.Timestamp.IsZero}}{{ DateFormat $element.Timestamp "[2006/01/02 15:04:05.000] " (GetTimezone $.User) }}{{end}}{{ $element.Message }}</span> 76 {{ end }} 77 </pre> 78 79 </body> 80 </html> 81 {{ end }}