Started moving to ES6, JSX

This commit is contained in:
Gianluca Esposito 2015-09-10 20:13:26 +02:00
parent a896447db1
commit 82fa9f21a2
6 changed files with 88 additions and 69 deletions

View file

@ -1,9 +0,0 @@
exports.loadContext = (callback) ->
context = require.context './pages', true
if module.hot
module.hot.accept(context.id, ->
context = require.context './pages', true
callback context
)
callback context

11
app.js Normal file
View file

@ -0,0 +1,11 @@
exports.loadContext = function(callback) {
var context;
context = require.context('./pages', true);
if (module.hot) {
module.hot.accept(context.id, function() {
context = require.context('./pages', true);
return callback(context);
});
}
return callback(context);
};

View file

@ -1,49 +0,0 @@
React = require 'react'
Typography = require 'typography'
DocumentTitle = require 'react-document-title'
typography = new Typography()
{TypographyStyle} = typography
module.exports = React.createClass
getDefaultProps: ->
body: ""
render: ->
title = DocumentTitle.rewind()
if @props.title then title = @props.title
if __GH_PAGES__? and __GH_PAGES__
urlPrefix = @props.config.ghPagesURLPrefix
else
urlPrefix = ""
<html lang="en">
<head>
<meta charSet="utf-8"/>
<meta httpEquiv="X-UA-Compatible" content="IE=edge"/>
<meta name='viewport' content='user-scalable=no width=device-width, initial-scale=1.0 maximum-scale=1.0'/>
<title>{@props.title}</title>
<link rel="shortcut icon" href={@props.favicon}/>
<TypographyStyle/>
<style dangerouslySetInnerHTML={{__html: """
body {
color: rgb(66,66,66);
}
h1,h2,h3,h4,h5,h6 {
color: rgb(44,44,44);
}
a {
color: rgb(42,93,173);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
"""}}/>
</head>
<body className="landing-page">
<div id="react-mount" dangerouslySetInnerHTML={{__html: @props.body}} />
<script src={urlPrefix + "/bundle.js"}/>
</body>
</html>

61
html.jsx Normal file
View file

@ -0,0 +1,61 @@
import React from 'react';
import Typography from 'typography';
import DocumentTitle from 'react-document-title';
var TypographyStyle = new Typography().TypographyStyle;
module.exports = React.createClass({displayName: "exports",
getDefaultProps: function() {
return {
body: ""
};
},
render: function() {
var title, urlPrefix;
title = DocumentTitle.rewind();
if (this.props.title) {
title = this.props.title;
}
if ((typeof __GH_PAGES__ !== "undefined" && __GH_PAGES__ !== null) && __GH_PAGES__) {
urlPrefix = this.props.config.ghPagesURLPrefix;
} else {
urlPrefix = "";
}
return (
<html lang="en">
<head>
<meta charSet="utf-8"/>
<meta httpEquiv="X-UA-Compatible" content="IE=edge"/>
<meta name='viewport' content='user-scalable=no width=device-width, initial-scale=1.0 maximum-scale=1.0'/>
<title>{this.props.title}</title>
<link rel="shortcut icon" href={this.props.favicon}/>
<TypographyStyle/>
<style dangerouslySetInnerHTML={{__html:
`
body {
color: rgb(66,66,66);
}
h1,h2,h3,h4,h5,h6 {
color: rgb(44,44,44);
}
a {
color: rgb(42,93,173);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
`
}}/>
</head>
<body className="landing-page">
<div id="react-mount" dangerouslySetInnerHTML={{__html: this.props.body}} />
<script src={urlPrefix + "/bundle.js"}/>
</body>
</html>
);
}
});

View file

@ -1,11 +0,0 @@
React = require 'react'
module.exports = React.createClass
displayName: "HTMLWrapper"
render: ->
#html = require "../" + @props.page.requirePath
console.log @props
html = "<div>fix me</div>"
<div dangerouslySetInnerHTML={{__html: html}}/>

16
wrappers/html.jsx Normal file
View file

@ -0,0 +1,16 @@
// Generated by CoffeeScript 1.10.0
var React;
React = require('react');
module.exports = React.createClass({
displayName: "HTMLWrapper",
render: function() {
var html;
console.log(this.props);
html = "<div>fix me</div>";
return (
<div dangerouslySetInnerHTML={{__html: html}}/>
);
}
});