fix(docs-infra): generate the `404.html` page correctly (#41163)

Previously, the generated `404.html` page did not include a `<body>`
tag. In some browsers (such as IE 11), this was causing warnings in the
console.

This commit ensures the generated page contains a `<body>` tag. It also
fixes the indentation in the generated page.

PR Close #41163
This commit is contained in:
George Kalpakas 2021-03-10 23:09:43 +02:00 committed by Andrew Kushnir
parent 79e21b966e
commit e1e766a880
2 changed files with 47 additions and 46 deletions

View File

@ -18,8 +18,9 @@ function _main() {
const dst404PagePath = join(DIST_DIR, '404.html'); const dst404PagePath = join(DIST_DIR, '404.html');
const srcIndexContent = readFileSync(srcIndexPath, 'utf8'); const srcIndexContent = readFileSync(srcIndexPath, 'utf8');
const src404BodyContent = readFileSync(src404BodyPath, 'utf8'); const src404BodyContent = readFileSync(src404BodyPath, 'utf8').trim();
const dst404PageContent = srcIndexContent.replace(/<body>[\s\S]+<\/body>/, src404BodyContent); const dst404PageContent = srcIndexContent
.replace(/(<body>)[\s\S]+(<\/body>)/, `$1\n ${src404BodyContent}\n$2`);
if (dst404PageContent === srcIndexContent) { if (dst404PageContent === srcIndexContent) {
throw new Error( throw new Error(

View File

@ -1,17 +1,17 @@
<!-- <!--
This content replaces the `<body>` content of `index.html` to generate our custom `404.html` page. This content replaces the `<body>` content of `index.html` to generate our custom `404.html` page.
The content must visually and structurally resemble the resulting HTML of the main app for not The content must visually and structurally resemble the resulting HTML of the main app for not
found pages (e.g. https://angular.io/not/existing). found pages (e.g. https://angular.io/not/exist.ing).
--> -->
<style> <style>
.mat-toolbar-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap} .mat-toolbar-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}
.mat-toolbar-row{height:64px} .mat-toolbar-row{height:64px}
@media (max-width:600px){.mat-toolbar-row{height:56px}} @media (max-width:600px){.mat-toolbar-row{height:56px}}
.nav-link.home{margin-left:24px} .nav-link.home{margin-left:24px}
</style> </style>
<aio-shell class="mode-stable page-file-not-found folder-file-not-found view- aio-notification-hide"> <aio-shell class="mode-stable page-file-not-found folder-file-not-found view- aio-notification-hide">
<mat-toolbar class="app-toolbar no-print mat-toolbar mat-primary"> <mat-toolbar class="app-toolbar no-print mat-toolbar mat-primary">
<mat-toolbar-row class="mat-toolbar-row"> <mat-toolbar-row class="mat-toolbar-row">
@ -49,4 +49,4 @@
</aio-footer> </aio-footer>
</footer> </footer>
</aio-shell> </aio-shell>