diff --git a/README.markdown b/README.markdown index d683287..a7c0964 100644 --- a/README.markdown +++ b/README.markdown @@ -14,3 +14,10 @@ Then run $ npm run build to create all site code in `dist`. To deploy serve the `dist` directory. + + +## Hack + +Dev mode: + + $ npx webpack diff --git a/package.json b/package.json index a486d8a..dd6c689 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "clean": "rm -f dist/*.js && rm -f dist/*.css", + "clean": "rm -f dist/*.js && rm -f dist/*.css && rm -f dist/*html", "build": "webpack --mode production" }, "author": "Nathan Bergey", @@ -18,11 +18,14 @@ }, "devDependencies": { "css-loader": "^2.1.0", - "extract-loader": "^3.1.0", + "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^3.0.1", + "html-loader": "^0.5.5", + "html-webpack-plugin": "^3.2.0", "node-sass": "^4.11.0", "sass-loader": "^7.1.0", - "webpack": "^4.28.4", - "webpack-cli": "^3.2.1" + "style-loader": "^0.23.1", + "webpack": "^3.0.0", + "webpack-cli": "^3.2.3" } } diff --git a/dist/index.html b/src/index.html similarity index 71% rename from dist/index.html rename to src/index.html index 320ee3b..3cf93db 100644 --- a/dist/index.html +++ b/src/index.html @@ -1,8 +1,8 @@ - Weather for Philadelphia, PA - + <%= htmlWebpackPlugin.options.title %> +
@@ -14,7 +14,5 @@ - - diff --git a/src/index.js b/src/index.js index f1a47ca..0f80240 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,7 @@ var d3 = require('d3') import {readxml} from './data.js' import {render_calendar, render_nights, render_astronomy, render_temperature, render_clouds} from './render.js' +import './style.sass' const canvas = d3.select('svg') diff --git a/webpack.config.js b/webpack.config.js index f6f9874..2789650 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,38 +1,32 @@ -const path = require('path'); +var HtmlWebpackPlugin = require('html-webpack-plugin'); +var ExtractTextPlugin = require('extract-text-webpack-plugin'); +var path = require("path"); -module.exports = [{ - name: 'js', +module.exports = { entry: ['./src/index.js'], output: { - filename: 'main.js', - path: path.resolve(__dirname, 'dist') - } -}, -{ - name: 'css', - entry: ['./src/style.sass'], - module: { - rules: [ - { - test: /\.sass$/, - use: [ - { - loader: 'file-loader', - options: { - name: 'style.css', - } - }, - { - loader: 'extract-loader' - }, - { - loader: 'css-loader?-url' - }, - { - loader: 'sass-loader' - } - ] - } - ] - } -}]; + path: path.join(__dirname, "./dist/"), + filename: "main.js", + }, + module:{ + rules:[ + { + test:/\.sass$/, + use: ExtractTextPlugin.extract({ + fallback:'style-loader', + use:['css-loader','sass-loader'] + }) + } + ] + }, + plugins: [ + new ExtractTextPlugin({filename:'style.css'}), + new HtmlWebpackPlugin({ + hash: true, + title: 'Weather for Philadelphia, PA', + template: './src/index.html', + path: path.join(__dirname, "./dist/"), + filename: 'index.html' + }), + ] +}