mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-23 19:02:29 +03:00
9c8b02949a
Fixes #825 - Changes the way the error middleware is delivered in server.js, moving all the logic back into errorHandling.js - Alters error logging to use console.error (probably more appropriate) instead of console.log - Changes error tests to accomodate for these alterations - Alters user-error and error hbs templates to incorporate stack traces - Adds additional styling for error pages to accomodate stack traces - Added logic to parse and deliver formatted stack traces Notes: ====== - Jslint gets in the way of the regex I've got to use to parse the stack. (It cites 'security reasons' which are not relevant in this case.) I needed to add a condition to relax it at the top of errorHandling.js - The stack trace should probably be added as a partial, but I figured it was out of scope for this PR.
56 lines
2.0 KiB
Handlebars
56 lines
2.0 KiB
Handlebars
<!doctype html>
|
|
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
|
|
<!--[if (gte IE 9)| IEMobile |!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
|
|
|
<title>{{code}} — {{message}}</title>
|
|
<meta name="description" content="{{siteDescription}}">
|
|
<meta name="author" content="">
|
|
<meta name="HandheldFriendly" content="True">
|
|
<meta name="MobileOptimized" content="320">
|
|
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1">
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
|
|
<link rel="shortcut icon" href="/favicon.ico">
|
|
<meta http-equiv="cleartype" content="on">
|
|
|
|
<link rel="stylesheet" type='text/css' href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,700'>
|
|
<link rel="stylesheet" href="/ghost/css/screen.css">
|
|
{{{block "pageStyles"}}}
|
|
</head>
|
|
<body class="{{bodyClass}}">
|
|
<main role="main" id="main">
|
|
<section class="error-content error-404 js-error-container">
|
|
<section class="error-details">
|
|
<figure class="error-image">
|
|
<img
|
|
class="error-ghost"
|
|
src="/ghost/img/404-ghost@2x.png"
|
|
srcset="/ghost/img/404-ghost.png 1x, /ghost/img/404-ghost@2x.png 2x"/>
|
|
</figure>
|
|
<section class="error-message">
|
|
<h1 class="error-code">{{code}}</h1>
|
|
<h2 class="error-description">{{message}}</h2>
|
|
</section>
|
|
</section>
|
|
</section>
|
|
{{#if stack}}
|
|
<section class="error-stack">
|
|
<h3>Stack Trace</h3>
|
|
<p><strong>{{message}}</strong></p>
|
|
<ul class="error-stack-list">
|
|
{{#foreach stack}}
|
|
<li>
|
|
at
|
|
{{#if function}}<em class="error-stack-function">{{function}}</em>{{/if}}
|
|
<span class="error-stack-file">({{at}})</span>
|
|
</li>
|
|
{{/foreach}}
|
|
</ul>
|
|
</section>
|
|
{{/if}}
|
|
</main>
|
|
</body>
|
|
</html> |