refactor: linting html.js

This commit is contained in:
Simon Reinsperger 2017-03-07 16:46:07 +01:00
parent 1e87dfdb6b
commit 84cd888614
2 changed files with 46 additions and 35 deletions

View File

@ -4,5 +4,15 @@
"react", "react",
"jsx-a11y", "jsx-a11y",
"import" "import"
] ],
"rules": {
"react/jsx-filename-extension": [0],
"react/prefer-es6-class": [0],
"global-require": [0],
"react/prefer-stateless-function": [0],
/* to allow importing 'gatsby-helpers' */
"import/no-extraneous-dependencies": [0],
"import/no-unresolved": [0],
"import/extensions": [0]
}
} }

69
html.js
View File

@ -1,38 +1,39 @@
import React from 'react' import React from 'react';
import Helmet from 'react-helmet' import Helmet from 'react-helmet';
import { prefixLink } from 'gatsby-helpers' import { prefixLink } from 'gatsby-helpers';
const BUILD_TIME = new Date().getTime() const BUILD_TIME = new Date().getTime();
module.exports = React.createClass({ module.exports = React.createClass({
displayName: 'HTML', displayName: 'HTML',
propTypes: { propTypes: {
body: React.PropTypes.string, body: React.PropTypes.string,
}, },
render() { render() {
const {body, route} = this.props const { body } = this.props;
const {title} = Helmet.rewind() const { title } = Helmet.rewind();
const font = <link href='https://fonts.googleapis.com/css?family=Roboto:400,400italic,500,700&subset=latin,cyrillic' rel='stylesheet' type='text/css' /> const font = <link href="https://fonts.googleapis.com/css?family=Roboto:400,400italic,500,700&subset=latin,cyrillic" rel="stylesheet" type="text/css" />;
let css let css;
if (process.env.NODE_ENV === 'production') { if (process.env.NODE_ENV === 'production') {
css = <style dangerouslySetInnerHTML={ { __html: require('!raw!./public/styles.css')} } /> // eslint-disable-next-line import/no-webpack-loader-syntax
} css = <style dangerouslySetInnerHTML={{ __html: require('!raw!./public/styles.css') }} />;
}
return ( return (
<html lang="en"> <html lang="en">
<head> <head>
<meta charSet="utf-8" /> <meta charSet="utf-8" />
<meta httpEquiv="X-UA-Compatible" content="IE=edge" /> <meta httpEquiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=5.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=5.0" />
{ title.toComponent() } { title.toComponent() }
{ font } { font }
{ css } { css }
</head> </head>
<body> <body>
<div id="react-mount" dangerouslySetInnerHTML={ { __html: this.props.body} } /> <div id="react-mount" dangerouslySetInnerHTML={{ __html: this.props.body }} />
<script src={ prefixLink(`/bundle.js?t=${BUILD_TIME}`) } /> <script src={prefixLink(`/bundle.js?t=${BUILD_TIME}`)} />
</body> </body>
</html> </html>
) );
}, },
}) });