added local fonts, no more gfonts

This commit is contained in:
uf0 2020-09-02 23:19:20 +02:00
parent 318f0019d8
commit f3234dced5
13 changed files with 125 additions and 33 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

BIN
assets/.DS_Store vendored Normal file

Binary file not shown.

BIN
assets/css/.DS_Store vendored Normal file

Binary file not shown.

View file

@ -1,6 +1,21 @@
@import "variables"; @import "variables";
@import "~bootstrap/scss/bootstrap"; @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 { :root {
--openpod-red: #f24400; --openpod-red: #f24400;

BIN
assets/css/fonts/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -906,6 +906,12 @@
"to-fast-properties": "^2.0.0" "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": { "@types/q": {
"version": "1.5.4", "version": "1.5.4",
"resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", "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==", "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
"dev": true "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": { "block-stream": {
"version": "0.0.9", "version": "0.0.9",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
@ -3150,6 +3166,65 @@
"integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
"dev": true "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": { "fill-range": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@ -7745,6 +7820,7 @@
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"bindings": "^1.5.0",
"nan": "^2.12.1" "nan": "^2.12.1"
} }
}, },

View file

@ -17,13 +17,14 @@
"babel-loader": "^8.0.0", "babel-loader": "^8.0.0",
"copy-webpack-plugin": "^5.1.1", "copy-webpack-plugin": "^5.1.1",
"css-loader": "^3.4.2", "css-loader": "^3.4.2",
"sass-loader": "^8.0.2", "file-loader": "^6.1.0",
"node-sass": "^4.13.1",
"mini-css-extract-plugin": "^0.9.0", "mini-css-extract-plugin": "^0.9.0",
"node-sass": "^4.13.1",
"optimize-css-assets-webpack-plugin": "^5.0.1", "optimize-css-assets-webpack-plugin": "^5.0.1",
"sass": "^1.26.9",
"sass-loader": "^8.0.2",
"terser-webpack-plugin": "^2.3.2", "terser-webpack-plugin": "^2.3.2",
"webpack": "4.41.5", "webpack": "4.41.5",
"webpack-cli": "^3.3.2", "webpack-cli": "^3.3.2"
"sass": "^1.26.9"
} }
} }

View file

@ -1,51 +1,51 @@
const path = require('path'); const path = require("path");
const glob = require('glob'); const glob = require("glob");
const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const TerserPlugin = require('terser-webpack-plugin'); const TerserPlugin = require("terser-webpack-plugin");
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin'); const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
const CopyWebpackPlugin = require('copy-webpack-plugin'); const CopyWebpackPlugin = require("copy-webpack-plugin");
module.exports = (env, options) => { module.exports = (env, options) => {
const devMode = options.mode !== 'production'; const devMode = options.mode !== "production";
return { return {
optimization: { optimization: {
minimizer: [ minimizer: [
new TerserPlugin({ cache: true, parallel: true, sourceMap: devMode }), new TerserPlugin({ cache: true, parallel: true, sourceMap: devMode }),
new OptimizeCSSAssetsPlugin({}) new OptimizeCSSAssetsPlugin({}),
] ],
}, },
entry: { entry: {
'app': glob.sync('./vendor/**/*.js').concat(['./js/app.js']) app: glob.sync("./vendor/**/*.js").concat(["./js/app.js"]),
}, },
output: { output: {
filename: '[name].js', filename: "[name].js",
path: path.resolve(__dirname, '../priv/static/js'), path: path.resolve(__dirname, "../priv/static/js"),
publicPath: '/js/' publicPath: "/js/",
}, },
devtool: devMode ? 'source-map' : undefined, devtool: devMode ? "source-map" : undefined,
module: { module: {
rules: [ rules: [
{ {
test: /\.js$/, test: /\.js$/,
exclude: /node_modules/, exclude: /node_modules/,
use: { use: {
loader: 'babel-loader' loader: "babel-loader",
} },
},
{
test: /\.(woff|woff2|ttf|eot)$/,
use: "file-loader?name=fonts/[name].[ext]!static",
}, },
{ {
test: /\.[s]?css$/, test: /\.[s]?css$/,
use: [ use: [MiniCssExtractPlugin.loader, "css-loader", "sass-loader"],
MiniCssExtractPlugin.loader, },
'css-loader', ],
'sass-loader',
],
}
]
}, },
plugins: [ plugins: [
new MiniCssExtractPlugin({ filename: '../css/app.css' }), new MiniCssExtractPlugin({ filename: "../css/app.css" }),
new CopyWebpackPlugin([{ from: 'static/', to: '../' }]) new CopyWebpackPlugin([{ from: "static/", to: "../" }]),
] ],
} };
}; };

View file

@ -2,7 +2,7 @@
<div class="wrapper"><div class="container-fluid"> <div class="wrapper"><div class="container-fluid">
<div class="row row-border-red"> <div class="row row-border-red">
<div class="col-12 col-md-2 border-right-red py-3 px-4"> <div class="col-12 col-md-2 border-right-red py-3 px-4">
<div class="d-flex align-item-center h-100"> <div class="d-flex align-item-center flex-column h-100">
<a href="/"> <a href="/">
<img src="<%= Routes.static_path(@conn, "/images/logo.svg") %>" width="100%" height="auto" alt="OpenPod" /> <img src="<%= Routes.static_path(@conn, "/images/logo.svg") %>" width="100%" height="auto" alt="OpenPod" />
</a> </a>