Ghost/core/server/views/maintenance.html
Hannah Wolfe 0b79abf5b2 Added new, simpler, linear boot process
Background:
- Ghosts existing boot process is split across multiple files, has affordances for outdated ways of running Ghost and is generally non-linear making it nigh-impossible to follow
- The web of dependencies that are loaded on boot are also impossible to unpick, which makes it really hard to decouple Ghost
- With 4.0 we want to introduce a new, linear, simpler, clearer way to boot up Ghost to unlock decoupling Ghost into much smaller pieces

This commit:
- adds a new ghost.js file which switches between boot mode with `node index` or `node index old` so that if we find bugs we can work around them this week
   - Note: the old boot process will go away very soon, but ghost.js will remain as the interface between the command to start Ghost and the application code
- reworks the database migration process into a standalone utility, so that the DB is handled as one simple step of the boot process, decoupled from everything else
- is missing tests for this new db utility
- leaves a lot of work to do around loading core code, services, express apps in a sensible order, as work to fix this would start to break the old boot process
- doesn't use the new maintenance app because we aren't restarting the server here, instead we have the concept of a "core app" that starts in maintenance mode - need to think about how apps will be decoupled in the near future
2021-02-08 11:56:44 +00:00

87 lines
1.8 KiB
HTML

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>We'll be right back</title>
<style type="text/css">
* {
box-sizing: border-box;
}
html {
font-size: 62.5%;
background: #f1f2f3;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
width: 100vw;
margin: 0;
padding: 4vmin;
color: #15171A;
font-size: 2rem;
line-height: 1.4em;
font-family: sans-serif;
background: #f1f2f3;
scroll-behavior: smooth;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
::selection {
text-shadow: none;
background: #cbeafb;
}
.content {
display: flex;
flex-direction: column;
justify-content: center;
max-width: 500px;
min-height: 500px;
margin: 0 0 4vmin;
padding: 40px;
text-align: center;
background: #fff;
border-radius: 20px;
box-shadow:
0 50px 100px -20px rgb(50 50 93 / 8%),
0 30px 60px -30px rgb(0 0 0 / 13%),
0 10px 20px -10px rgb(0 0 0 / 8%);
}
h1 {
margin: 0 0 0.3em;
font-size: 4rem;
line-height: 1em;
font-weight: 700;
letter-spacing: -0.02em;
}
p {
margin: 0 0 40px;
opacity: 0.7;
font-weight: 400;
}
img {
display: block;
margin: 0 auto 40px;
}
@media (max-width: 500px) {
body { font-size: 1.8rem; }
h1 { font-size: 3.4rem; }
}
</style>
</head>
<body>
<div class="content">
<h1>We'll be right back.</h1>
<p>We're busy updating our site to give you the best experience, and will be back soon.</p>
</div>
</body>
</html>