Advertisement
ROODAY

error.hbs

Apr 21st, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5.30 KB | None | 0 0
  1. <!doctype html>
  2. <!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
  3. <!--[if (gte IE 9)| IEMobile |!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
  4.   <head>
  5.     <meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
  6.     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  7.  
  8.     <title>{{code}} — {{message}}</title>
  9.  
  10.     <meta name="HandheldFriendly" content="True">
  11.     <meta name="MobileOptimized" content="320">
  12.     <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1">
  13.     <meta name="apple-mobile-web-app-capable" content="yes" />
  14.  
  15.     <link rel="shortcut icon" href="/assets/favicons/favicon.ico">
  16.     <meta http-equiv="cleartype" content="on">
  17.  
  18.     <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
  19.     <link href='http://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'>
  20.  
  21.     <style>a,a:focus,a:hover{text-decoration:none}body,html{text-align:center;color:#ccc;background-color:#F1F2EF;font-size:1rem;margin:0;padding:0;overflow:hidden}#content{margin:45vh auto}p{font-size:1.5rem;font-family:'Open Sans',sans-serif}h1,h2{font-family:Montserrat,serif}h1{font-size:8rem}h2{font-size:2.5rem}a{color:#ccc -webkit-transition: color .5s ease;-moz-transition:color .5s ease;-o-transition:color .5s ease}a:hover{color:#aaa}#wrapper{position:fixed;top:0;width:100vw;height:100vh;background-image:url(/assets/img/space.jpg);border-image-repeat:repeat}.stars{position:absolute;margin:0;padding:0;left:0;top:0}canvas{pointer-events:none}</style>
  22.   </head>
  23.   <body>
  24.     <main role="main" id="main">
  25.       <div class="gh-app">
  26.           <div class="gh-viewport">
  27.               <div class="gh-view">
  28.                 <section class="error-content error-404 js-error-container">
  29.                   <section class="error-details">
  30.                     <div id="wrapper">
  31.                       <div id="content">
  32.                         <h1>Whoa</h1>
  33.                         <h2>This looks like a {{code}}</h2>
  34.                         <p>{{message}}</p>
  35.                         <a href="{{@blog.url}}">Go to the front page →</a>
  36.                       </div>
  37.                     </div>
  38.                     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  39.                     <script>function sign(){return Math.random()>.5?1:-1}var Star=function(t){this.space=t,this.speed=1,this.velocity=1,this.size=1,this.growth=3,this.vec=[sign()*Math.random(),sign()*Math.random()],this.x=Math.floor(t.c_width/2)+5e4*this.vec[0],this.y=Math.floor(t.c_height/2)+5e4*this.vec[1]};Star.prototype.update=function(){this.x+=this.speed*this.vec[0],this.y+=this.speed*this.vec[1],this.speed+=this.velocity,this.size+=this.growth,(Math.abs(this.x)>this.space.c_width+100||Math.abs(this.y)>this.space.c_height+100)&&(this.space.population.splice(this.space.population.indexOf(this),1),this.space.populate(1))};var Space=function(t){this.canvas=document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.c_width=window.innerWidth,this.c_height=window.innerHeight,this.canvas.width=this.c_width,this.canvas.height=this.c_height,this.ctx.fillStyle="#ffffff",this.ctx.strokeStyle="#ffffff";var i=document.getElementById("wrapper");this.canvas.className="stars",i.appendChild(this.canvas),this.population=[],this.populate(t),setInterval(this.update.bind(this),10)};Space.prototype={constructor:Space,populate:function(t){for(var i=0;t>i;i++)this.population.push(new Star(this))},update:function(){this.population.forEach(function(t,i){t.update()}),this.redraw()},redraw:function(){var t=this.ctx;Math.floor(this.c_width/2),Math.floor(this.c_width/2);t.save(),t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,this.c_width,this.c_height),this.population.forEach(function(i,s){t.beginPath(),t.moveTo(i.x,i.y),t.lineTo(i.x-i.vec[0]*i.size,i.y-i.vec[1]*i.size),t.stroke()}),t.restore()}};</script>
  40.                     <script>
  41.                     $(document).ready(function(){
  42.                       $("#content").css("margin-top", (($(window).height() / 2) - ($("#content").height() / 2)) + "px");
  43.                       $('body').mousemove(function(e){
  44.                         var x = -(e.pageX + this.offsetLeft) / 20;
  45.                         var y = -(e.pageY + this.offsetTop) / 20;
  46.                         $("#wrapper").css('background-position', x + 'px ' + y + 'px');
  47.                       });
  48.                       var sp = new Space(1000);
  49.                     });
  50.                     </script>
  51.                    
  52.                 </section>
  53.                 {{#if stack}}
  54.                   <section class="error-stack">
  55.                     <h3>Stack Trace</h3>
  56.                     <p><strong>{{message}}</strong></p>
  57.                     <ul class="error-stack-list">
  58.                       {{#each stack}}
  59.                         <li>
  60.                           at
  61.                           {{#if function}}<em class="error-stack-function">{{function}}</em>{{/if}}
  62.                           <span class="error-stack-file">({{at}})</span>
  63.                         </li>
  64.                       {{/each}}
  65.                     </ul>
  66.                   </section>
  67.                 {{/if}}
  68.               </div>
  69.           </div>
  70.       </div>
  71.     </main>
  72.   </body>
  73. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement