You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.3 KiB
60 lines
1.3 KiB
/**
|
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|
*
|
|
* @emails react-core
|
|
*/
|
|
|
|
import React, {Component} from 'react';
|
|
|
|
let stylesStr;
|
|
if (process.env.NODE_ENV === `production`) {
|
|
try {
|
|
stylesStr = require(`!raw-loader!../public/styles.css`);
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
const JS_NPM_URLS = [
|
|
'//unpkg.com/docsearch.js@2.4.1/dist/cdn/docsearch.min.js',
|
|
];
|
|
|
|
export default class HTML extends Component {
|
|
render() {
|
|
let css;
|
|
if (process.env.NODE_ENV === 'production') {
|
|
css = (
|
|
<style
|
|
id="gatsby-inlined-css"
|
|
dangerouslySetInnerHTML={{__html: stylesStr}}
|
|
/>
|
|
);
|
|
}
|
|
|
|
const js = JS_NPM_URLS.map(url => <script key={url} src={url} />);
|
|
|
|
return (
|
|
<html lang="en">
|
|
<head>
|
|
<meta charSet="utf-8" />
|
|
<meta httpEquiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta
|
|
name="viewport"
|
|
content="width=device-width, initial-scale=1.0"
|
|
/>
|
|
<link rel="icon" href="/favicon.ico" />
|
|
{this.props.headComponents}
|
|
{css}
|
|
</head>
|
|
<body>
|
|
<div
|
|
id="___gatsby"
|
|
dangerouslySetInnerHTML={{__html: this.props.body}}
|
|
/>
|
|
{this.props.postBodyComponents}
|
|
{js}
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|
|
}
|
|
|