diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..84f5661 Binary files /dev/null and b/.DS_Store differ diff --git a/assets/.DS_Store b/assets/.DS_Store new file mode 100644 index 0000000..de6bbe0 Binary files /dev/null and b/assets/.DS_Store differ diff --git a/assets/css/.DS_Store b/assets/css/.DS_Store new file mode 100644 index 0000000..ca7de4d Binary files /dev/null and b/assets/css/.DS_Store differ diff --git a/assets/css/app.scss b/assets/css/app.scss index 32ac3d5..c0e41cd 100644 --- a/assets/css/app.scss +++ b/assets/css/app.scss @@ -1,6 +1,21 @@ @import "variables"; @import "~bootstrap/scss/bootstrap"; -@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@515&family=Fira+Code:wght@515&display=swap"); + +@font-face { + font-family: "Fira Code"; + src: url("fonts/FiraCode-VF.woff2") format("woff2-variations"), + url("fonts/FiraCode-VF.woff") format("woff-variations"); + font-weight: 300 700; + font-style: normal; +} + +@font-face { + font-family: "Comfortaa"; + font-style: normal; + font-weight: 300 700; + src: url("fonts/Comfortaa.woff2") format("woff2-variations"), + url("fonts/Comfortaa.woff") format("woff-variations"); +} :root { --openpod-red: #f24400; diff --git a/assets/css/fonts/.DS_Store b/assets/css/fonts/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/assets/css/fonts/.DS_Store differ diff --git a/assets/css/fonts/Comfortaa.woff b/assets/css/fonts/Comfortaa.woff new file mode 100644 index 0000000..f8db251 Binary files /dev/null and b/assets/css/fonts/Comfortaa.woff differ diff --git a/assets/css/fonts/Comfortaa.woff2 b/assets/css/fonts/Comfortaa.woff2 new file mode 100644 index 0000000..10703d9 Binary files /dev/null and b/assets/css/fonts/Comfortaa.woff2 differ diff --git a/assets/css/fonts/FiraCode-VF.woff b/assets/css/fonts/FiraCode-VF.woff new file mode 100644 index 0000000..f7ac814 Binary files /dev/null and b/assets/css/fonts/FiraCode-VF.woff differ diff --git a/assets/css/fonts/FiraCode-VF.woff2 b/assets/css/fonts/FiraCode-VF.woff2 new file mode 100644 index 0000000..64ffe43 Binary files /dev/null and b/assets/css/fonts/FiraCode-VF.woff2 differ diff --git a/assets/package-lock.json b/assets/package-lock.json index 75c7b66..d80eba7 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -906,6 +906,12 @@ "to-fast-properties": "^2.0.0" } }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "dev": true + }, "@types/q": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", @@ -1481,6 +1487,16 @@ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", @@ -3150,6 +3166,65 @@ "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, + "file-loader": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.0.tgz", + "integrity": "sha512-26qPdHyTsArQ6gU4P1HJbAbnFTyT2r0pG7czh1GFAd9TZbj0n94wWbupgixZH/ET/meqi2/5+F7DhW4OAXD+Lg==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^2.7.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -7745,6 +7820,7 @@ "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1" } }, diff --git a/assets/package.json b/assets/package.json index f22811f..d222643 100644 --- a/assets/package.json +++ b/assets/package.json @@ -17,13 +17,14 @@ "babel-loader": "^8.0.0", "copy-webpack-plugin": "^5.1.1", "css-loader": "^3.4.2", - "sass-loader": "^8.0.2", - "node-sass": "^4.13.1", + "file-loader": "^6.1.0", "mini-css-extract-plugin": "^0.9.0", + "node-sass": "^4.13.1", "optimize-css-assets-webpack-plugin": "^5.0.1", + "sass": "^1.26.9", + "sass-loader": "^8.0.2", "terser-webpack-plugin": "^2.3.2", "webpack": "4.41.5", - "webpack-cli": "^3.3.2", - "sass": "^1.26.9" + "webpack-cli": "^3.3.2" } } diff --git a/assets/webpack.config.js b/assets/webpack.config.js index dd77c3d..e1cba8d 100644 --- a/assets/webpack.config.js +++ b/assets/webpack.config.js @@ -1,51 +1,51 @@ -const path = require('path'); -const glob = require('glob'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const TerserPlugin = require('terser-webpack-plugin'); -const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); +const path = require("path"); +const glob = require("glob"); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const TerserPlugin = require("terser-webpack-plugin"); +const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin"); +const CopyWebpackPlugin = require("copy-webpack-plugin"); module.exports = (env, options) => { - const devMode = options.mode !== 'production'; + const devMode = options.mode !== "production"; return { optimization: { minimizer: [ new TerserPlugin({ cache: true, parallel: true, sourceMap: devMode }), - new OptimizeCSSAssetsPlugin({}) - ] + new OptimizeCSSAssetsPlugin({}), + ], }, entry: { - 'app': glob.sync('./vendor/**/*.js').concat(['./js/app.js']) + app: glob.sync("./vendor/**/*.js").concat(["./js/app.js"]), }, output: { - filename: '[name].js', - path: path.resolve(__dirname, '../priv/static/js'), - publicPath: '/js/' + filename: "[name].js", + path: path.resolve(__dirname, "../priv/static/js"), + publicPath: "/js/", }, - devtool: devMode ? 'source-map' : undefined, + devtool: devMode ? "source-map" : undefined, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { - loader: 'babel-loader' - } + loader: "babel-loader", + }, + }, + { + test: /\.(woff|woff2|ttf|eot)$/, + use: "file-loader?name=fonts/[name].[ext]!static", }, { test: /\.[s]?css$/, - use: [ - MiniCssExtractPlugin.loader, - 'css-loader', - 'sass-loader', - ], - } - ] + use: [MiniCssExtractPlugin.loader, "css-loader", "sass-loader"], + }, + ], }, plugins: [ - new MiniCssExtractPlugin({ filename: '../css/app.css' }), - new CopyWebpackPlugin([{ from: 'static/', to: '../' }]) - ] - } + new MiniCssExtractPlugin({ filename: "../css/app.css" }), + new CopyWebpackPlugin([{ from: "static/", to: "../" }]), + ], + }; }; diff --git a/lib/openpod_web/templates/page/howto.html.eex b/lib/openpod_web/templates/page/howto.html.eex index cc197db..51bd1dc 100644 --- a/lib/openpod_web/templates/page/howto.html.eex +++ b/lib/openpod_web/templates/page/howto.html.eex @@ -2,7 +2,7 @@