44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
import React from 'react'
|
|
import DocumentTitle from 'react-document-title'
|
|
import { prefixLink } from 'gatsby-helpers'
|
|
import { GoogleFont, TypographyStyle } from 'typography-react'
|
|
import typography from './utils/typography'
|
|
|
|
const BUILD_TIME = new Date().getTime()
|
|
|
|
module.exports = React.createClass({
|
|
displayName: 'HTML',
|
|
propTypes: {
|
|
body: React.PropTypes.string,
|
|
},
|
|
render () {
|
|
const { body } = this.props
|
|
const title = DocumentTitle.rewind()
|
|
|
|
let css
|
|
if (process.env.NODE_ENV === 'production') {
|
|
css = <style dangerouslySetInnerHTML={{ __html: require('!raw!./public/styles.css') }} />
|
|
}
|
|
|
|
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 maximum-scale=5.0"
|
|
/>
|
|
<title>{title}</title>
|
|
<TypographyStyle typography={typography} />
|
|
<GoogleFont typography={typography} />
|
|
{css}
|
|
</head>
|
|
<body className="landing-page">
|
|
<div id="react-mount" dangerouslySetInnerHTML={{ __html: body }} />
|
|
<script src={prefixLink(`/bundle.js?t=${BUILD_TIME}`)} />
|
|
</body>
|
|
</html>
|
|
)
|
|
},
|
|
})
|