ff-stream-web

git clone git://archive.git.mtrnord.blog/MTRNord/ff-stream-web.git
Log | Files | Refs | README | LICENSE

commit 8f82cbae5c306b9d7f0428c667faca7fd3b6d525
parent 5df666ddb9e699ddea7d9e174f7e6ba26efc03ea
Author: Konstantin Tarkus <hello@tarkus.me>
Date:   Mon, 15 Sep 2014 22:58:34 +0400

Replace 4-spaces tabs with 2-spaces

Diffstat:
M.editorconfig | 13+++++++------
Mconfig/webpack.config.js | 104++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mgulpfile.js | 226++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/404.html | 102++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/app.jsx | 14+++++++-------
Msrc/components/Navbar.jsx | 18+++++++++---------
Msrc/index.html | 46+++++++++++++++++++++++-----------------------
Msrc/layouts/Default.jsx | 26+++++++++++++-------------
Msrc/pages/Home.jsx | 42+++++++++++++++++++++---------------------
Msrc/pages/Privacy.jsx | 94++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/styles/bootstrap.less | 6+++---
Msrc/styles/mixins.less | 6+++---
Msrc/styles/navbar.less | 40++++++++++++++++++++--------------------
Msrc/styles/utilities.less | 20++++++++++----------
Msrc/styles/variables.less | 6+++---
15 files changed, 382 insertions(+), 381 deletions(-)

diff --git a/.editorconfig b/.editorconfig @@ -1,19 +1,20 @@ -# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs # http://editorconfig.org root = true [*] + +# Change these settings to your own preference indent_style = space -indent_size = 4 +indent_size = 2 + +# We recommend you to keep these unchanged end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -[{.travis.yml,bower.json,package.json,.jshintrc}] -indent_style = space -indent_size = 2 - [*.md] trim_trailing_whitespace = false diff --git a/config/webpack.config.js b/config/webpack.config.js @@ -11,62 +11,62 @@ var webpack = require('webpack'); module.exports = function (release) { - return { - output: { - publicPatch: './build/', - path: './build/', - filename: 'app.js' - }, + return { + output: { + publicPatch: './build/', + path: './build/', + filename: 'app.js' + }, - cache: !release, - debug: !release, - devtool: false, - entry: './src/app.jsx', + cache: !release, + debug: !release, + devtool: false, + entry: './src/app.jsx', - stats: { - colors: true, - reasons: !release - }, + stats: { + colors: true, + reasons: !release + }, - plugins: release ? [ - new webpack.DefinePlugin({'process.env.NODE_ENV': '"production"'}), - new webpack.optimize.DedupePlugin(), - new webpack.optimize.UglifyJsPlugin(), - new webpack.optimize.OccurenceOrderPlugin(), - new webpack.optimize.AggressiveMergingPlugin() - ] : [], + plugins: release ? [ + new webpack.DefinePlugin({'process.env.NODE_ENV': '"production"'}), + new webpack.optimize.DedupePlugin(), + new webpack.optimize.UglifyJsPlugin(), + new webpack.optimize.OccurenceOrderPlugin(), + new webpack.optimize.AggressiveMergingPlugin() + ] : [], - module: { - preLoaders: [ - { - test: '\\.js$', - exclude: 'node_modules', - loader: 'jshint' - } - ], + module: { + preLoaders: [ + { + test: '\\.js$', + exclude: 'node_modules', + loader: 'jshint' + } + ], - loaders: [ - { - test: /\.css$/, - loader: 'style!css' - }, - { - test: /\.gif/, - loader: 'url-loader?limit=10000&mimetype=image/gif' - }, - { - test: /\.jpg/, - loader: 'url-loader?limit=10000&mimetype=image/jpg' - }, - { - test: /\.png/, - loader: 'url-loader?limit=10000&mimetype=image/png' - }, - { - test: /\.jsx$/, - loader: 'jsx-loader' - } - ] + loaders: [ + { + test: /\.css$/, + loader: 'style!css' + }, + { + test: /\.gif/, + loader: 'url-loader?limit=10000&mimetype=image/gif' + }, + { + test: /\.jpg/, + loader: 'url-loader?limit=10000&mimetype=image/jpg' + }, + { + test: /\.png/, + loader: 'url-loader?limit=10000&mimetype=image/png' + }, + { + test: /\.jsx$/, + loader: 'jsx-loader' } - }; + ] + } + }; }; diff --git a/gulpfile.js b/gulpfile.js @@ -18,33 +18,33 @@ var browserSync = require('browser-sync'); var argv = require('minimist')(process.argv.slice(2)); // Settings -var DEST = './build'; // The build output folder -var RELEASE = !!argv.release; // Minimize and optimize during a build? -var GOOGLE_ANALYTICS_ID = 'UA-XXXXX-X'; // https://www.google.com/analytics/web/ -var AUTOPREFIXER_BROWSERS = [ // https://github.com/ai/autoprefixer - 'ie >= 10', - 'ie_mob >= 10', - 'ff >= 30', - 'chrome >= 34', - 'safari >= 7', - 'opera >= 23', - 'ios >= 7', - 'android >= 4.4', - 'bb >= 10' +var DEST = './build'; // The build output folder +var RELEASE = !!argv.release; // Minimize and optimize during a build? +var GOOGLE_ANALYTICS_ID = 'UA-XXXXX-X'; // https://www.google.com/analytics/web/ +var AUTOPREFIXER_BROWSERS = [ // https://github.com/ai/autoprefixer + 'ie >= 10', + 'ie_mob >= 10', + 'ff >= 30', + 'chrome >= 34', + 'safari >= 7', + 'opera >= 23', + 'ios >= 7', + 'android >= 4.4', + 'bb >= 10' ]; var src = {}; var watch = false; var reload = browserSync.reload; var pkgs = (function () { - var temp = {}; - var map = function (source) { - for (var key in source) { - temp[key.replace(/[^a-z0-9]/gi, '')] = source[key].substring(1); - } - }; - map(require('./package.json').dependencies); - return temp; + var temp = {}; + var map = function (source) { + for (var key in source) { + temp[key.replace(/[^a-z0-9]/gi, '')] = source[key].substring(1); + } + }; + map(require('./package.json').dependencies); + return temp; }()); // The default task @@ -55,137 +55,137 @@ gulp.task('clean', del.bind(null, [DEST])); // 3rd party libraries gulp.task('vendor', function () { - return merge( - gulp.src('./node_modules/jquery/dist/**') - .pipe(gulp.dest(DEST + '/vendor/jquery-' + pkgs.jquery)), - gulp.src('./node_modules/bootstrap/dist/fonts/**') - .pipe(gulp.dest(DEST + '/fonts')) - ); + return merge( + gulp.src('./node_modules/jquery/dist/**') + .pipe(gulp.dest(DEST + '/vendor/jquery-' + pkgs.jquery)), + gulp.src('./node_modules/bootstrap/dist/fonts/**') + .pipe(gulp.dest(DEST + '/fonts')) + ); }); // Static files gulp.task('assets', function () { - src.assets = 'src/assets/**'; - return gulp.src(src.assets) - .pipe(gulp.dest(DEST)) - .pipe($.if(watch, reload({stream: true}))); + src.assets = 'src/assets/**'; + return gulp.src(src.assets) + .pipe(gulp.dest(DEST)) + .pipe($.if(watch, reload({stream: true}))); }); // Images gulp.task('images', function () { - src.images = 'src/images/**'; - return gulp.src(src.images) - .pipe($.cache($.imagemin({ - progressive: true, - interlaced: true - }))) - .pipe(gulp.dest(DEST + '/images')) - .pipe($.if(watch, reload({stream: true}))); + src.images = 'src/images/**'; + return gulp.src(src.images) + .pipe($.cache($.imagemin({ + progressive: true, + interlaced: true + }))) + .pipe(gulp.dest(DEST + '/images')) + .pipe($.if(watch, reload({stream: true}))); }); // HTML pages gulp.task('pages', function () { - src.pages = 'src/**/*.html'; - return gulp.src(src.pages) - .pipe($.if(RELEASE, $.htmlmin({ - removeComments: true, - collapseWhitespace: true, - minifyJS: true - }))) - .pipe(gulp.dest(DEST)) - .pipe($.if(watch, reload({stream: true}))); + src.pages = 'src/**/*.html'; + return gulp.src(src.pages) + .pipe($.if(RELEASE, $.htmlmin({ + removeComments: true, + collapseWhitespace: true, + minifyJS: true + }))) + .pipe(gulp.dest(DEST)) + .pipe($.if(watch, reload({stream: true}))); }); // CSS style sheets gulp.task('styles', function () { - src.styles = 'src/styles/**/*.{css,less}'; - return gulp.src('src/styles/bootstrap.less') - .pipe($.plumber()) - .pipe($.less({sourceMap: !RELEASE, sourceMapBasepath: __dirname})) - .on('error', $.util.log) - .pipe($.autoprefixer(AUTOPREFIXER_BROWSERS)) - .pipe($.csscomb()) - .pipe($.if(RELEASE, $.minifyCss())) - .pipe(gulp.dest(DEST + '/css')) - .pipe($.if(watch, reload({stream: true}))); + src.styles = 'src/styles/**/*.{css,less}'; + return gulp.src('src/styles/bootstrap.less') + .pipe($.plumber()) + .pipe($.less({sourceMap: !RELEASE, sourceMapBasepath: __dirname})) + .on('error', $.util.log) + .pipe($.autoprefixer(AUTOPREFIXER_BROWSERS)) + .pipe($.csscomb()) + .pipe($.if(RELEASE, $.minifyCss())) + .pipe(gulp.dest(DEST + '/css')) + .pipe($.if(watch, reload({stream: true}))); }); // Bundle gulp.task('bundle', function (cb) { - var started = false; - var config = require('./config/webpack.config.js')(RELEASE); - var bundler = webpack(config); - - function bundle (err, stats) { - if (err) { - throw new $.util.PluginError('webpack', err); - } + var started = false; + var config = require('./config/webpack.config.js')(RELEASE); + var bundler = webpack(config); - !!argv.verbose && $.util.log('[webpack]', stats.toString({colors: true})); + function bundle (err, stats) { + if (err) { + throw new $.util.PluginError('webpack', err); + } - if (watch) { - reload(config.output.filename); - } + !!argv.verbose && $.util.log('[webpack]', stats.toString({colors: true})); - if (!started) { - started = true; - return cb(); - } + if (watch) { + reload(config.output.filename); } - if (watch) { - bundler.watch(200, bundle); - } else { - bundler.run(bundle); + if (!started) { + started = true; + return cb(); } + } + + if (watch) { + bundler.watch(200, bundle); + } else { + bundler.run(bundle); + } }); // Build the app from source code gulp.task('build', ['clean'], function (cb) { - runSequence(['vendor', 'assets', 'images', 'pages', 'styles', 'bundle'], cb); + runSequence(['vendor', 'assets', 'images', 'pages', 'styles', 'bundle'], cb); }); // Launch a lightweight HTTP Server gulp.task('serve', function (cb) { - watch = true; - - runSequence('build', function () { - browserSync({ - notify: false, - // Run as an https by uncommenting 'https: true' - // Note: this uses an unsigned certificate which on first access - // will present a certificate warning in the browser. - // https: true, - server: { - baseDir: ['build'] - } - }); - - gulp.watch(src.assets, ['assets']); - gulp.watch(src.images, ['images']); - gulp.watch(src.pages, ['pages']); - gulp.watch(src.styles, ['styles']); - cb(); + watch = true; + + runSequence('build', function () { + browserSync({ + notify: false, + // Run as an https by uncommenting 'https: true' + // Note: this uses an unsigned certificate which on first access + // will present a certificate warning in the browser. + // https: true, + server: { + baseDir: ['build'] + } }); + + gulp.watch(src.assets, ['assets']); + gulp.watch(src.images, ['images']); + gulp.watch(src.pages, ['pages']); + gulp.watch(src.styles, ['styles']); + cb(); + }); }); // Deploy to GitHub Pages gulp.task('deploy', function () { - // Remove temp folder - if (argv.clean) { - var os = require('os'); - var path = require('path'); - var repoPath = path.join(os.tmpdir(), 'tmpRepo'); - $.util.log('Delete ' + $.util.colors.magenta(repoPath)); - del.sync(repoPath, {force: true}); - } - - return gulp.src(DEST + '/**/*') - .pipe($.if('**/robots.txt', !argv.production ? $.replace('Disallow:', 'Disallow: /') : $.util.noop())) - .pipe($.ghPages({ - remoteUrl: 'https://github.com/{name}/{name}.github.io.git', - branch: 'master' - })); + // Remove temp folder + if (argv.clean) { + var os = require('os'); + var path = require('path'); + var repoPath = path.join(os.tmpdir(), 'tmpRepo'); + $.util.log('Delete ' + $.util.colors.magenta(repoPath)); + del.sync(repoPath, {force: true}); + } + + return gulp.src(DEST + '/**/*') + .pipe($.if('**/robots.txt', !argv.production ? $.replace('Disallow:', 'Disallow: /') : $.util.noop())) + .pipe($.ghPages({ + remoteUrl: 'https://github.com/{name}/{name}.github.io.git', + branch: 'master' + })); }); diff --git a/src/404.html b/src/404.html @@ -1,59 +1,59 @@ <!doctype html> <html lang="en"> <head> - <meta charset="utf-8"> - <title>Page Not Found</title> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <style> - - * { - line-height: 1.5; - margin: 0; - } - - html { - color: #888; - font-family: sans-serif; - text-align: center; - } - - body { - left: 50%; - margin: -43px 0 0 -150px; - position: absolute; - top: 50%; - width: 300px; - } - - h1 { - color: #555; - font-size: 2em; - font-weight: 400; - } - - p { - line-height: 1.2; - } - - @media only screen and (max-width: 270px) { - - body { - margin: 10px auto; - position: static; - width: 95%; - } - - h1 { - font-size: 1.5em; - } - - } - - </style> + <meta charset="utf-8"> + <title>Page Not Found</title> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <style> + + * { + line-height: 1.5; + margin: 0; + } + + html { + color: #888; + font-family: sans-serif; + text-align: center; + } + + body { + left: 50%; + margin: -43px 0 0 -150px; + position: absolute; + top: 50%; + width: 300px; + } + + h1 { + color: #555; + font-size: 2em; + font-weight: 400; + } + + p { + line-height: 1.2; + } + + @media only screen and (max-width: 270px) { + + body { + margin: 10px auto; + position: static; + width: 95%; + } + + h1 { + font-size: 1.5em; + } + + } + + </style> </head> <body> - <h1>Page Not Found</h1> - <p>Sorry, but the page you were trying to view does not exist.</p> + <h1>Page Not Found</h1> + <p>Sorry, but the page you were trying to view does not exist.</p> </body> </html> <!-- IE needs 512+ bytes: http://blogs.msdn.com/b/ieinternals/archive/2010/08/19/http-error-pages-in-internet-explorer.aspx --> diff --git a/src/app.jsx b/src/app.jsx @@ -15,11 +15,11 @@ var HomePage = require('./pages/Home.jsx'); var PrivacyPage = require('./pages/Privacy.jsx'); React.renderComponent( - <Routes location="history"> - <Route name="app" path="/" handler={DefaultLayout}> - <Route name="home" path="/" handler={HomePage} /> - <Route name="privacy" path="/privacy" handler={PrivacyPage} /> - </Route> - </Routes>, - document.body + <Routes location="history"> + <Route name="app" path="/" handler={DefaultLayout}> + <Route name="home" path="/" handler={HomePage} /> + <Route name="privacy" path="/privacy" handler={PrivacyPage} /> + </Route> + </Routes>, + document.body ); diff --git a/src/components/Navbar.jsx b/src/components/Navbar.jsx @@ -7,15 +7,15 @@ var React = require('react'); var Navbar = React.createClass({ - render: function () { - return ( - <div className="navbar-top"> - <div className="container"> - <a className="navbar-brand" href="/"><img src="/images/logo-small.png" width="38" height="38" alt="" /> React Seed</a> - </div> - </div> - ); - } + render: function () { + return ( + <div className="navbar-top"> + <div className="container"> + <a className="navbar-brand" href="/"><img src="/images/logo-small.png" width="38" height="38" alt="" /> React Seed</a> + </div> + </div> + ); + } }); module.exports = Navbar; diff --git a/src/index.html b/src/index.html @@ -1,28 +1,28 @@ <!doctype html> <html class="no-js" lang=""> - <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <title></title> - <meta name="description" content=""> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel="stylesheet" href="css/bootstrap.css"> - </head> - <body> - <!--[if lt IE 8]> - <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> - <![endif]--> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <title></title> + <meta name="description" content=""> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="stylesheet" href="css/bootstrap.css"> + </head> + <body> + <!--[if lt IE 8]> + <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> + <![endif]--> - <script src="app.js"></script> + <script src="app.js"></script> - <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. --> - <script> - (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]= - function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date; - e=o.createElement(i);r=o.getElementsByTagName(i)[0]; - e.src='//www.google-analytics.com/analytics.js'; - r.parentNode.insertBefore(e,r)}(window,document,'script','ga')); - ga('create','UA-XXXXX-X');ga('send','pageview'); - </script> - </body> + <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. --> + <script> + (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]= + function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date; + e=o.createElement(i);r=o.getElementsByTagName(i)[0]; + e.src='//www.google-analytics.com/analytics.js'; + r.parentNode.insertBefore(e,r)}(window,document,'script','ga')); + ga('create','UA-XXXXX-X');ga('send','pageview'); + </script> + </body> </html> diff --git a/src/layouts/Default.jsx b/src/layouts/Default.jsx @@ -9,19 +9,19 @@ var Link = require('react-router').Link; var Navbar = require('../components/Navbar.jsx'); var DefaultLayout = React.createClass({ - render: function () { - return ( - <div> - <Navbar /> - <this.props.activeRouteHandler /> - <div className="navbar-footer"> - <div className="container"> - <p className="text-muted">&copy; KriaSoft • <Link to="home">Home</Link> • <Link to="privacy">Privacy</Link></p> - </div> - </div> - </div> - ); - } + render: function () { + return ( + <div> + <Navbar /> + <this.props.activeRouteHandler /> + <div className="navbar-footer"> + <div className="container"> + <p className="text-muted">&copy; KriaSoft • <Link to="home">Home</Link> • <Link to="privacy">Privacy</Link></p> + </div> + </div> + </div> + ); + } }); module.exports = DefaultLayout; diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx @@ -7,27 +7,27 @@ var React = require('react'); var HomePage = React.createClass({ - render: function () { - return ( - <div className="container"> - <h2>Facebook React Starter Kit</h2> - <p>This is a single-page application (SPA) project template based on Facebook React.</p> - <h4>Runtime Components:</h4> - <ul> - <li><a href="https://facebook.github.io/react/">React</a> - A JavaScript library for building user interfaces, developed by Facebook</li> - <li><a href="https://github.com/rackt/react-router">React-Router</a> - A complete routing library for React</li> - <li><a href="http://getbootstrap.com/">Bootstrap</a> - CSS framework for developing responsive, mobile first interfaces</li> - </ul> - <h4>Development Tools:</h4> - <ul> - <li><a href="http://webpack.github.io/">Webpack</a> - Compiles front-end source code into modules / bundles</li> - <li><a href="http://gulpjs.com">Gulp</a> - JavaScript streaming build system and task automation</li> - </ul> - <h3>Fork me on GitHub</h3> - <p><a href="https://github.com/kriasoft/react-seed">https://github.com/kriasoft/react-seed</a></p> - </div> - ); - } + render: function () { + return ( + <div className="container"> + <h2>Facebook React Starter Kit</h2> + <p>This is a single-page application (SPA) project template based on Facebook React.</p> + <h4>Runtime Components:</h4> + <ul> + <li><a href="https://facebook.github.io/react/">React</a> - A JavaScript library for building user interfaces, developed by Facebook</li> + <li><a href="https://github.com/rackt/react-router">React-Router</a> - A complete routing library for React</li> + <li><a href="http://getbootstrap.com/">Bootstrap</a> - CSS framework for developing responsive, mobile first interfaces</li> + </ul> + <h4>Development Tools:</h4> + <ul> + <li><a href="http://webpack.github.io/">Webpack</a> - Compiles front-end source code into modules / bundles</li> + <li><a href="http://gulpjs.com">Gulp</a> - JavaScript streaming build system and task automation</li> + </ul> + <h3>Fork me on GitHub</h3> + <p><a href="https://github.com/kriasoft/react-seed">https://github.com/kriasoft/react-seed</a></p> + </div> + ); + } }); module.exports = HomePage; diff --git a/src/pages/Privacy.jsx b/src/pages/Privacy.jsx @@ -7,53 +7,53 @@ var React = require('react'); var PrivacyPage = React.createClass({ - render: function () { - return ( - <div className="container"> - <h2>Privacy Policy</h2> - <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> - ); - } + render: function () { + return ( + <div className="container"> + <h2>Privacy Policy</h2> + <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/styles/bootstrap.less b/src/styles/bootstrap.less @@ -1,6 +1,6 @@ -/* ========================================================================== - Bootstrap CSS + Custom Styles and overrides - ========================================================================== */ +// ============================================================================= +// Bootstrap CSS + Custom styles and overrides +// ============================================================================= // Core variables and mixins @import "variables.less"; diff --git a/src/styles/mixins.less b/src/styles/mixins.less @@ -1,5 +1,5 @@ -/* ========================================================================== - Mixins - ========================================================================== */ +// ============================================================================= +// Mixins +// ============================================================================= @import "../../node_modules/bootstrap/less/mixins.less"; diff --git a/src/styles/navbar.less b/src/styles/navbar.less @@ -1,37 +1,37 @@ -/* ========================================================================== - Navigation Bar - ========================================================================== */ +// ============================================================================= +// Navigation Bar +// ============================================================================= @import "../../node_modules/bootstrap/less/navbar.less"; html { - padding-top: @navbar-height; + padding-top: @navbar-height; } .navbar-top { - &:extend(.navbar); - &:extend(.navbar-inverse); - &:extend(.navbar-fixed-top); + &:extend(.navbar); + &:extend(.navbar-inverse); + &:extend(.navbar-fixed-top); } .navbar-brand { - padding-top: 8px; - padding-bottom: 8px; - color: #00d8ff !important; - font-size: 24px; + padding-top: 8px; + padding-bottom: 8px; + color: #00d8ff !important; + font-size: 24px; } -/* ========================================================================== - Navigation Footer - ========================================================================== */ +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Navigation Footer +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .navbar-footer { - &:extend(.navbar); - &:extend(.navbar-fixed-bottom); + &:extend(.navbar); + &:extend(.navbar-fixed-bottom); - background-color: darken(@body-bg, 2%); + background-color: darken(@body-bg, 2%); - .text-muted { - margin-top: 1em; - } + .text-muted { + margin-top: 1em; + } } diff --git a/src/styles/utilities.less b/src/styles/utilities.less @@ -1,16 +1,16 @@ -/* ========================================================================== - Utility classes - ========================================================================== */ +// ============================================================================= +// Utility classes +// ============================================================================= @import "../../node_modules/bootstrap/less/utilities.less"; -/* ========================================================================== - Browse Happy prompt - ========================================================================== */ +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Browse Happy prompt +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .browsehappy { - margin: 0.2em 0; - background: #ccc; - color: #000; - padding: 0.2em 0; + margin: 0.2em 0; + background: #ccc; + color: #000; + padding: 0.2em 0; } diff --git a/src/styles/variables.less b/src/styles/variables.less @@ -1,6 +1,6 @@ -/* ========================================================================== - Variables - ========================================================================== */ +// ============================================================================= +// Variables +// ============================================================================= @import "../../node_modules/bootstrap/less/variables.less";