From 636fcaae40db02ef6038a1b573013e9e6423738d Mon Sep 17 00:00:00 2001 From: Kevin Jahns Date: Sun, 12 May 2019 11:23:48 +0200 Subject: [PATCH] prelim website state --- .babelrc | 9 + README.md | 3 - package.json | 34 +- preact.config.js | 5 - src/.babelrc | 5 - src/components/app.js | 58 ++- src/components/code/index.js | 23 ++ src/components/code/style.css | 4 + .../examples/examples.js} | 0 src/components/examples/style.css | 0 src/components/footer.js | 16 - src/components/header.js | 15 - src/components/livecode/index.js | 26 ++ src/components/livecode/style.css | 10 + src/components/navbar.js | 21 -- src/components/navbar/index.js | 16 + src/components/navbar/style.css | 14 + src/components/textcontent/index.js | 10 + src/components/textcontent/style.css | 4 + src/index.js | 2 + src/manifest.json | 4 +- src/routes/demos/index.js | 128 ------- src/routes/home/index.js | 144 +------- src/routes/home/style.css | 5 + src/routes/profile/index.js | 47 +++ src/routes/profile/style.css | 5 + src/style/codemirror.css | 346 ++++++++++++++++++ src/style/highlightjs.css | 67 ++++ src/style/index.css | 51 +++ src/style/index.scss | 262 ------------- .../tests => tests}/__mocks__/browserMocks.js | 0 {src/tests => tests}/__mocks__/fileMocks.js | 0 {src/tests => tests}/header.test.js | 5 +- 33 files changed, 703 insertions(+), 636 deletions(-) create mode 100644 .babelrc delete mode 100644 preact.config.js delete mode 100644 src/.babelrc create mode 100644 src/components/code/index.js create mode 100644 src/components/code/style.css rename src/{routes/demos/style.css => components/examples/examples.js} (100%) create mode 100644 src/components/examples/style.css delete mode 100644 src/components/footer.js delete mode 100644 src/components/header.js create mode 100644 src/components/livecode/index.js create mode 100644 src/components/livecode/style.css delete mode 100644 src/components/navbar.js create mode 100644 src/components/navbar/index.js create mode 100644 src/components/navbar/style.css create mode 100644 src/components/textcontent/index.js create mode 100644 src/components/textcontent/style.css delete mode 100644 src/routes/demos/index.js create mode 100644 src/routes/profile/index.js create mode 100644 src/routes/profile/style.css create mode 100644 src/style/codemirror.css create mode 100644 src/style/highlightjs.css create mode 100644 src/style/index.css delete mode 100644 src/style/index.scss rename {src/tests => tests}/__mocks__/browserMocks.js (100%) rename {src/tests => tests}/__mocks__/fileMocks.js (100%) rename {src/tests => tests}/header.test.js (72%) diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..156eaae --- /dev/null +++ b/.babelrc @@ -0,0 +1,9 @@ +{ + "env": { + "test": { + "presets": [ + ["preact-cli/babel", { "modules": "commonjs" }] + ] + } + } +} diff --git a/README.md b/README.md index d26649b..2a680f1 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,3 @@ npm run test ``` For detailed explanation on how things work, checkout the [CLI Readme](https://github.com/developit/preact-cli/blob/master/README.md). - - -[Design](https://codepen.io/cssgirl/pen/qEKgaJ) by Lindsey Di Napoli - CSSgirl \ No newline at end of file diff --git a/package.json b/package.json index 8f36aea..5c0de98 100644 --- a/package.json +++ b/package.json @@ -4,31 +4,47 @@ "version": "0.0.0", "license": "MIT", "scripts": { - "start": "if-env NODE_ENV=production && npm run -s serve || npm run -s dev", + "start": "per-env", + "start:production": "npm run -s serve", + "start:development": "npm run -s dev", "build": "preact build", "serve": "preact build && preact serve", "dev": "preact watch", - "lint": "standard src", - "test": "jest ./tests" + "lint": "standard", + "test": "jest" }, + "standard": { + "parser": "babel-eslint" + }, + "eslintIgnore": [ + "build/*" + ], "devDependencies": { + "babel-eslint": "^10.0.1", "identity-obj-proxy": "^3.0.0", - "if-env": "^1.0.0", "jest": "^21.2.1", + "per-env": "^1.0.2", "preact-cli": "^2.1.0", - "preact-cli-plugin-netlify": "^1.1.0", "preact-render-spy": "^1.2.1" }, "dependencies": { - "node-sass": "^4.9.0", + "codemirror": "^5.45.0", + "highlight.js": "^9.15.6", "preact": "^8.2.6", + "preact-compat": "^3.17.0", + "preact-markdown": "^0.4.1", "preact-router": "^2.5.7", - "sass-loader": "^7.0.1" + "standard": "^12.0.1" }, "jest": { "verbose": true, "setupFiles": [ - "/src/tests/__mocks__/browserMocks.js" + "/tests/__mocks__/browserMocks.js" + ], + "testRegex": "(/(__tests__|tests)/.*|(\\.|/)(test|spec))\\.jsx?$", + "testPathIgnorePatterns": [ + "/node_modules/", + "/tests/__mocks__/*" ], "testURL": "http://localhost:8080", "moduleFileExtensions": [ @@ -39,7 +55,7 @@ "node_modules" ], "moduleNameMapper": { - "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/src/tests/__mocks__/fileMock.js", + "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/tests/__mocks__/fileMock.js", "\\.(css|less|scss)$": "identity-obj-proxy", "^./style$": "identity-obj-proxy", "^preact$": "/node_modules/preact/dist/preact.min.js", diff --git a/preact.config.js b/preact.config.js deleted file mode 100644 index 38028b4..0000000 --- a/preact.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const netlifyPlugin = require('preact-cli-plugin-netlify') - -export default function (config) { - netlifyPlugin(config) -} diff --git a/src/.babelrc b/src/.babelrc deleted file mode 100644 index ba8581b..0000000 --- a/src/.babelrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "presets": [ - ["preact-cli/babel", { "modules": "commonjs" }] - ] -} \ No newline at end of file diff --git a/src/components/app.js b/src/components/app.js index 298ef36..91cfa42 100644 --- a/src/components/app.js +++ b/src/components/app.js @@ -1,50 +1,34 @@ -import { h, Component } from 'preact'; -import { Router } from 'preact-router'; -import Header from './header'; -import NavBar from './navbar' -import Footer from './footer' -import Home from '../routes/home'; -import Demos from '../routes/demos'; +import { Component } from 'preact' +import { Router } from 'preact-router' -// import Home from 'async!../routes/home'; -// import Profile from 'async!../routes/profile'; - -if (module.hot) { - require('preact/debug'); -} +// Code-splitting is automated for routes +import Home from '../routes/home' +import Profile from '../routes/profile' +import Navbar from './navbar' export default class App extends Component { - /** Gets fired when the route changes. - * @param {Object} event "change" event from [preact-router](http://git.io/preact-router) - * @param {string} event.url The newly routed URL + /** + * Gets fired when the route changes. + * @param {Object} event "change" event from [preact-router](http://git.io/preact-router) + * @param {string} event.url The newly routed URL */ handleRoute = e => { - this.currentUrl = e.url; + this.currentUrl = e.url }; - render() { + render () { return ( -
-
- - - - - -