commit 977c82ed752374fdf2915d08c3ec6f361cf0d9a9
parent 0bb01d575137e0140972063f60850048fde1baef
Author: Konstantin Tarkus <hello@tarkus.me>
Date: Fri, 7 Nov 2014 09:20:45 +0300
Replace .jsx file extensions with .js
Diffstat:
12 files changed, 196 insertions(+), 196 deletions(-)
diff --git a/gulpfile.js b/gulpfile.js
@@ -87,12 +87,12 @@ gulp.task('images', function() {
// HTML pages
gulp.task('pages', function() {
- src.pages = ['src/pages/**/*.jsx', 'src/pages/404.html'];
+ src.pages = ['src/pages/**/*.js', 'src/pages/404.html'];
var render = $.render({template: './src/pages/_template.html'})
.on('error', function(err) { console.log(err); render.end(); });
return gulp.src(src.pages)
.pipe($.changed(DEST, {extension: '.html'}))
- .pipe($.if('*.jsx', render))
+ .pipe($.if('*.js', render))
.pipe($.replace('UA-XXXXX-X', GOOGLE_ANALYTICS_ID))
.pipe($.if(RELEASE, $.htmlmin({
removeComments: true,
diff --git a/src/app.js b/src/app.js
@@ -32,8 +32,8 @@ function render(page) {
// Define URL routes
// See https://github.com/flatiron/director
var routes = {
- '/': () => render(require('./pages/Index.jsx')),
- '/privacy': () => render(require('./pages/Privacy.jsx'))
+ '/': () => render(require('./pages/Index')),
+ '/privacy': () => render(require('./pages/Privacy'))
};
// Initialize a router
diff --git a/src/components/Link.jsx b/src/components/Link.js
diff --git a/src/components/Navbar.js b/src/components/Navbar.js
@@ -0,0 +1,21 @@
+'use strict';
+
+var React = require('react');
+var Link = require('./Link');
+
+var Navbar = React.createClass({
+ render() {
+ return (
+ <div className="navbar-top" role="navigation">
+ <div className="container">
+ <Link className="navbar-brand row" to="/">
+ <img src="/images/logo-small.png" width="38" height="38" alt="React" />
+ <span>React.js Starter Kit</span>
+ </Link>
+ </div>
+ </div>
+ );
+ }
+});
+
+module.exports = Navbar;
diff --git a/src/components/Navbar.jsx b/src/components/Navbar.jsx
@@ -1,21 +0,0 @@
-'use strict';
-
-var React = require('react');
-var Link = require('./Link.jsx');
-
-var Navbar = React.createClass({
- render() {
- return (
- <div className="navbar-top" role="navigation">
- <div className="container">
- <Link className="navbar-brand row" to="/">
- <img src="/images/logo-small.png" width="38" height="38" alt="React" />
- <span>React.js Starter Kit</span>
- </Link>
- </div>
- </div>
- );
- }
-});
-
-module.exports = Navbar;
diff --git a/src/components/__tests__/Navbar-test.js b/src/components/__tests__/Navbar-test.js
@@ -2,14 +2,14 @@
'use strict';
-jest.dontMock('../Navbar.jsx');
+jest.dontMock('../Navbar');
describe('Navbar', function() {
it('sets class name', function() {
var React = require('react/addons');
var TestUtils = React.addons.TestUtils;
- var Navbar = require('../Navbar.jsx');
+ var Navbar = require('../Navbar');
var Component = TestUtils.renderIntoDocument(<Navbar />);
var element = TestUtils.findRenderedDOMComponentWithClass(Component, 'navbar-top');
diff --git a/src/layouts/DefaultLayout.js b/src/layouts/DefaultLayout.js
@@ -0,0 +1,52 @@
+'use strict';
+
+var React = require('react');
+var Link = require('../components/Link');
+var Navbar = require('../components/Navbar');
+
+var DefaultLayout = React.createClass({
+ propTypes: {
+ title: React.PropTypes.string,
+ breadcrumb: React.PropTypes.element
+ },
+ getDefaultProps() {
+ return {
+ title: 'React.js Starter Kit',
+ description: 'A skeleton for an isomorphic web application (SPA) built with React.js and Flux'
+ };
+ },
+ render() {
+ var header = this.props.breadcrumb ? (
+ <div className="container">
+ <h2>{this.props.title}</h2>
+ {this.props.breadcrumb}
+ </div>
+ ) : (
+ <div className="jumbotron">
+ <div className="container text-center">
+ <h1>React</h1>
+ <p>Complex web apps made easy</p>
+ </div>
+ </div>
+ );
+
+ return (
+ <div>
+ <Navbar />
+ {header}
+ {this.props.children}
+ <div className="navbar-footer">
+ <div className="container">
+ <p className="text-muted">
+ <span>© KriaSoft</span>
+ <span><Link to="/">Home</Link></span>
+ <span><Link to="/privacy">Privacy</Link></span>
+ </p>
+ </div>
+ </div>
+ </div>
+ );
+ }
+});
+
+module.exports = DefaultLayout;
diff --git a/src/layouts/DefaultLayout.jsx b/src/layouts/DefaultLayout.jsx
@@ -1,52 +0,0 @@
-'use strict';
-
-var React = require('react');
-var Link = require('../components/Link.jsx');
-var Navbar = require('../components/Navbar.jsx');
-
-var DefaultLayout = React.createClass({
- propTypes: {
- title: React.PropTypes.string,
- breadcrumb: React.PropTypes.element
- },
- getDefaultProps() {
- return {
- title: 'React.js Starter Kit',
- description: 'A skeleton for an isomorphic web application (SPA) built with React.js and Flux'
- };
- },
- render() {
- var header = this.props.breadcrumb ? (
- <div className="container">
- <h2>{this.props.title}</h2>
- {this.props.breadcrumb}
- </div>
- ) : (
- <div className="jumbotron">
- <div className="container text-center">
- <h1>React</h1>
- <p>Complex web apps made easy</p>
- </div>
- </div>
- );
-
- return (
- <div>
- <Navbar />
- {header}
- {this.props.children}
- <div className="navbar-footer">
- <div className="container">
- <p className="text-muted">
- <span>© KriaSoft</span>
- <span><Link to="/">Home</Link></span>
- <span><Link to="/privacy">Privacy</Link></span>
- </p>
- </div>
- </div>
- </div>
- );
- }
-});
-
-module.exports = DefaultLayout;
diff --git a/src/pages/Index.js b/src/pages/Index.js
@@ -0,0 +1,49 @@
+'use strict';
+
+var React = require('react');
+var DefaultLayout = require('../layouts/DefaultLayout');
+
+var HomePage = React.createClass({
+ getDefaultProps() {
+ return {
+ title: 'React.js Starter Kit',
+ layout: DefaultLayout
+ };
+ },
+ render() {
+ return (
+ <div className="container">
+ <div className="row">
+ <div className="col-sm-4">
+ <h3>Runtime Components</h3>
+ <dl>
+ <dt><a href="https://facebook.github.io/react/">React</a></dt>
+ <dd>A JavaScript library for building user interfaces, developed by Facebook</dd>
+ <dt><a href="https://github.com/flatiron/director">Director</a></dt>
+ <dd>A tiny and isomorphic URL router for JavaScript</dd>
+ <dt><a href="http://getbootstrap.com/">Bootstrap</a></dt>
+ <dd>CSS framework for developing responsive, mobile first interfaces</dd>
+ </dl>
+ </div>
+ <div className="col-sm-4">
+ <h3>Development Tools</h3>
+ <dl>
+ <dt><a href="http://gulpjs.com">Gulp</a></dt>
+ <dd>JavaScript streaming build system and task automation</dd>
+ <dt><a href="http://webpack.github.io/">Webpack</a></dt>
+ <dd>Compiles front-end source code into modules / bundles</dd>
+ <dt><a href="http://www.browsersync.io/">BrowserSync</a></dt>
+ <dd>A lightweight HTTP server for development</dd>
+ </dl>
+ </div>
+ <div className="col-sm-4">
+ <h3>Fork me on GitHub</h3>
+ <p><a href="https://github.com/kriasoft/react-starter-kit">github.com/kriasoft/react-starter-kit</a></p>
+ </div>
+ </div>
+ </div>
+ );
+ }
+});
+
+module.exports = HomePage;
diff --git a/src/pages/Index.jsx b/src/pages/Index.jsx
@@ -1,49 +0,0 @@
-'use strict';
-
-var React = require('react');
-var DefaultLayout = require('../layouts/DefaultLayout.jsx');
-
-var HomePage = React.createClass({
- getDefaultProps() {
- return {
- title: 'React.js Starter Kit',
- layout: DefaultLayout
- };
- },
- render() {
- return (
- <div className="container">
- <div className="row">
- <div className="col-sm-4">
- <h3>Runtime Components</h3>
- <dl>
- <dt><a href="https://facebook.github.io/react/">React</a></dt>
- <dd>A JavaScript library for building user interfaces, developed by Facebook</dd>
- <dt><a href="https://github.com/flatiron/director">Director</a></dt>
- <dd>A tiny and isomorphic URL router for JavaScript</dd>
- <dt><a href="http://getbootstrap.com/">Bootstrap</a></dt>
- <dd>CSS framework for developing responsive, mobile first interfaces</dd>
- </dl>
- </div>
- <div className="col-sm-4">
- <h3>Development Tools</h3>
- <dl>
- <dt><a href="http://gulpjs.com">Gulp</a></dt>
- <dd>JavaScript streaming build system and task automation</dd>
- <dt><a href="http://webpack.github.io/">Webpack</a></dt>
- <dd>Compiles front-end source code into modules / bundles</dd>
- <dt><a href="http://www.browsersync.io/">BrowserSync</a></dt>
- <dd>A lightweight HTTP server for development</dd>
- </dl>
- </div>
- <div className="col-sm-4">
- <h3>Fork me on GitHub</h3>
- <p><a href="https://github.com/kriasoft/react-starter-kit">github.com/kriasoft/react-starter-kit</a></p>
- </div>
- </div>
- </div>
- );
- }
-});
-
-module.exports = HomePage;
diff --git a/src/pages/Privacy.js b/src/pages/Privacy.js
@@ -0,0 +1,68 @@
+'use strict';
+
+var React = require('react');
+var Link = require('../components/Link');
+var DefaultLayout = require('../layouts/DefaultLayout');
+
+var PrivacyPage = React.createClass({
+ getDefaultProps() {
+ return {
+ title: 'Privacy Policy',
+ layout: DefaultLayout,
+ breadcrumb: (
+ <ol className="breadcrumb">
+ <li><Link to="/">Home</Link></li>
+ <li className="active">Privacy</li>
+ </ol>
+ )
+ };
+ },
+ render() {
+ return (
+ <div className="container">
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean consequat tortor fermentum mi
+ fermentum dignissim. Nullam vel ipsum ut ligula elementum lobortis. Maecenas aliquam, massa laoreet
+ lacinia pretium, nisi urna venenatis tortor, nec imperdiet tellus libero efficitur metus. Fusce
+ semper posuere ligula, et facilisis metus bibendum interdum. Mauris at mauris sit amet sem pharetra
+ commodo a eu leo. Nam at est non risus cursus maximus. Nam feugiat augue libero, id consectetur
+ tortor bibendum non. Quisque nec fringilla lorem. Nullam efficitur vulputate mauris, nec maximus leo
+ dignissim id.
+ </p>
+ <p>
+ In hac habitasse platea dictumst. Duis sagittis dui ac ex suscipit maximus. Morbi pellentesque
+ venenatis felis sed convallis. Nulla varius, nibh vitae placerat tempus, mauris sem elementum ipsum,
+ eget sollicitudin nisl est vel purus. Fusce malesuada odio velit, non cursus leo fermentum id. Cras
+ pharetra sodales fringilla. Etiam quis est a dolor egestas pellentesque. Maecenas non scelerisque
+ purus, congue cursus arcu. Donec vel dapibus mi. Mauris maximus posuere placerat. Sed et libero eu
+ nibh tristique mollis a eget lectus. Donec interdum augue sollicitudin vehicula hendrerit. Vivamus
+ justo orci, molestie ac sollicitudin ac, lobortis at tellus. Etiam rhoncus ullamcorper risus eu
+ tempor. Sed porttitor, neque ac efficitur gravida, arcu lacus pharetra dui, in consequat elit tellus
+ auctor nulla. Donec placerat elementum diam, vitae imperdiet lectus luctus at.
+ </p>
+ <p>
+ Nullam eu feugiat mi. Quisque nec tristique nisl, dignissim dictum leo. Nam non quam nisi. Donec
+ rutrum turpis ac diam blandit, id pulvinar mauris suscipit. Pellentesque tincidunt libero ultricies
+ risus iaculis, sit amet consequat velit blandit. Fusce quis varius nulla. Nullam nisi nisi, suscipit
+ ut magna quis, feugiat porta nibh. Sed id enim lectus. Suspendisse elementum justo sapien, sit amet
+ consequat orci accumsan et. Aliquam ornare ullamcorper sem sed finibus. Nullam ac lacus pulvinar,
+ egestas felis ut, accumsan est.
+ </p>
+ <p>
+ Pellentesque sagittis vehicula sem quis luctus. Proin sodales magna in lorem hendrerit aliquam.
+ Integer eu varius orci. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
+ cubilia Curae; Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia
+ Curae; Ut at mauris nibh. Suspendisse maximus ac eros at vestibulum.
+ </p>
+ <p>
+ Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque egestas tortor et dui
+ consequat faucibus. Nunc vitae odio ornare, venenatis ligula a, vulputate nisl. Aenean congue varius
+ ex, sit amet bibendum odio posuere at. Nulla facilisi. In finibus, nulla vitae tincidunt ornare,
+ sapien nulla fermentum mauris, sed consectetur tortor arcu eget arcu. Vestibulum vel quam enim.
+ </p>
+ </div>
+ );
+ }
+});
+
+module.exports = PrivacyPage;
diff --git a/src/pages/Privacy.jsx b/src/pages/Privacy.jsx
@@ -1,68 +0,0 @@
-'use strict';
-
-var React = require('react');
-var Link = require('../components/Link.jsx');
-var DefaultLayout = require('../layouts/DefaultLayout.jsx');
-
-var PrivacyPage = React.createClass({
- getDefaultProps() {
- return {
- title: 'Privacy Policy',
- layout: DefaultLayout,
- breadcrumb: (
- <ol className="breadcrumb">
- <li><Link to="/">Home</Link></li>
- <li className="active">Privacy</li>
- </ol>
- )
- };
- },
- render() {
- return (
- <div className="container">
- <p>
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean consequat tortor fermentum mi
- fermentum dignissim. Nullam vel ipsum ut ligula elementum lobortis. Maecenas aliquam, massa laoreet
- lacinia pretium, nisi urna venenatis tortor, nec imperdiet tellus libero efficitur metus. Fusce
- semper posuere ligula, et facilisis metus bibendum interdum. Mauris at mauris sit amet sem pharetra
- commodo a eu leo. Nam at est non risus cursus maximus. Nam feugiat augue libero, id consectetur
- tortor bibendum non. Quisque nec fringilla lorem. Nullam efficitur vulputate mauris, nec maximus leo
- dignissim id.
- </p>
- <p>
- In hac habitasse platea dictumst. Duis sagittis dui ac ex suscipit maximus. Morbi pellentesque
- venenatis felis sed convallis. Nulla varius, nibh vitae placerat tempus, mauris sem elementum ipsum,
- eget sollicitudin nisl est vel purus. Fusce malesuada odio velit, non cursus leo fermentum id. Cras
- pharetra sodales fringilla. Etiam quis est a dolor egestas pellentesque. Maecenas non scelerisque
- purus, congue cursus arcu. Donec vel dapibus mi. Mauris maximus posuere placerat. Sed et libero eu
- nibh tristique mollis a eget lectus. Donec interdum augue sollicitudin vehicula hendrerit. Vivamus
- justo orci, molestie ac sollicitudin ac, lobortis at tellus. Etiam rhoncus ullamcorper risus eu
- tempor. Sed porttitor, neque ac efficitur gravida, arcu lacus pharetra dui, in consequat elit tellus
- auctor nulla. Donec placerat elementum diam, vitae imperdiet lectus luctus at.
- </p>
- <p>
- Nullam eu feugiat mi. Quisque nec tristique nisl, dignissim dictum leo. Nam non quam nisi. Donec
- rutrum turpis ac diam blandit, id pulvinar mauris suscipit. Pellentesque tincidunt libero ultricies
- risus iaculis, sit amet consequat velit blandit. Fusce quis varius nulla. Nullam nisi nisi, suscipit
- ut magna quis, feugiat porta nibh. Sed id enim lectus. Suspendisse elementum justo sapien, sit amet
- consequat orci accumsan et. Aliquam ornare ullamcorper sem sed finibus. Nullam ac lacus pulvinar,
- egestas felis ut, accumsan est.
- </p>
- <p>
- Pellentesque sagittis vehicula sem quis luctus. Proin sodales magna in lorem hendrerit aliquam.
- Integer eu varius orci. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
- cubilia Curae; Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia
- Curae; Ut at mauris nibh. Suspendisse maximus ac eros at vestibulum.
- </p>
- <p>
- Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque egestas tortor et dui
- consequat faucibus. Nunc vitae odio ornare, venenatis ligula a, vulputate nisl. Aenean congue varius
- ex, sit amet bibendum odio posuere at. Nulla facilisi. In finibus, nulla vitae tincidunt ornare,
- sapien nulla fermentum mauris, sed consectetur tortor arcu eget arcu. Vestibulum vel quam enim.
- </p>
- </div>
- );
- }
-});
-
-module.exports = PrivacyPage;