From 325401351d807cf322634e0a6dd49e6b7676e067 Mon Sep 17 00:00:00 2001 From: Tony Air Date: Fri, 9 Feb 2018 01:16:34 +0700 Subject: [PATCH] [API] Font Awesome support --- .../js/_pageType_and_component_template.js | 9 ++- site/src/scss/app.scss | 74 ++++++++++--------- webpack.config.common.js | 28 ------- webpack.config.dev.js | 5 ++ webpack.config.prod.js | 12 ++- 5 files changed, 62 insertions(+), 66 deletions(-) diff --git a/site/src/js/_pageType_and_component_template.js b/site/src/js/_pageType_and_component_template.js index d2bc62b..231da64 100644 --- a/site/src/js/_pageType_and_component_template.js +++ b/site/src/js/_pageType_and_component_template.js @@ -55,12 +55,17 @@ const TypePage = (($) => { }); // JQuery extension functions - /*$.fn[NAME] = TypePage._jQueryInterface; + /* + $.fn[NAME] = TypePage._jQueryInterface; $.fn[NAME].Constructor = TypePage; $.fn[NAME].noConflict = function () { $.fn[NAME] = JQUERY_NO_CONFLICT; return TypePage._jQueryInterface; - };*/ + }; + // auto-apply + $(".ui." + NAME).ready(function(){ + $(".ui." + NAME).TypePage(); + });*/ return TypePage; })($); diff --git a/site/src/scss/app.scss b/site/src/scss/app.scss index c2eda41..8e4fc53 100644 --- a/site/src/scss/app.scss +++ b/site/src/scss/app.scss @@ -2,41 +2,45 @@ @import "variables"; // Bootstrap basics -@import "../../../node_modules/bootstrap/scss/functions"; -@import "../../../node_modules/bootstrap/scss/variables"; -@import "../../../node_modules/bootstrap/scss/mixins"; -@import "../../../node_modules/bootstrap/scss/root"; -@import "../../../node_modules/bootstrap/scss/reboot"; -@import "../../../node_modules/bootstrap/scss/type"; -@import "../../../node_modules/bootstrap/scss/images"; -@import "../../../node_modules/bootstrap/scss/code"; -@import "../../../node_modules/bootstrap/scss/grid"; -@import "../../../node_modules/bootstrap/scss/tables"; -@import "../../../node_modules/bootstrap/scss/forms"; -@import "../../../node_modules/bootstrap/scss/buttons"; -@import "../../../node_modules/bootstrap/scss/transitions"; -@import "../../../node_modules/bootstrap/scss/dropdown"; -@import "../../../node_modules/bootstrap/scss/button-group"; -@import "../../../node_modules/bootstrap/scss/input-group"; -@import "../../../node_modules/bootstrap/scss/custom-forms"; -@import "../../../node_modules/bootstrap/scss/nav"; -@import "../../../node_modules/bootstrap/scss/navbar"; -@import "../../../node_modules/bootstrap/scss/card"; -@import "../../../node_modules/bootstrap/scss/breadcrumb"; -@import "../../../node_modules/bootstrap/scss/pagination"; -@import "../../../node_modules/bootstrap/scss/badge"; -@import "../../../node_modules/bootstrap/scss/jumbotron"; -@import "../../../node_modules/bootstrap/scss/alert"; -@import "../../../node_modules/bootstrap/scss/progress"; -@import "../../../node_modules/bootstrap/scss/media"; -@import "../../../node_modules/bootstrap/scss/list-group"; -@import "../../../node_modules/bootstrap/scss/close"; -@import "../../../node_modules/bootstrap/scss/modal"; -@import "../../../node_modules/bootstrap/scss/tooltip"; -@import "../../../node_modules/bootstrap/scss/popover"; -@import "../../../node_modules/bootstrap/scss/carousel"; -@import "../../../node_modules/bootstrap/scss/utilities"; -@import "../../../node_modules/bootstrap/scss/print"; +@import "~bootstrap/scss/functions"; +@import "~bootstrap/scss/variables"; +@import "~bootstrap/scss/mixins"; +@import "~bootstrap/scss/root"; +@import "~bootstrap/scss/reboot"; +@import "~bootstrap/scss/type"; +@import "~bootstrap/scss/images"; +@import "~bootstrap/scss/code"; +@import "~bootstrap/scss/grid"; +@import "~bootstrap/scss/tables"; +@import "~bootstrap/scss/forms"; +@import "~bootstrap/scss/buttons"; +@import "~bootstrap/scss/transitions"; +@import "~bootstrap/scss/dropdown"; +@import "~bootstrap/scss/button-group"; +@import "~bootstrap/scss/input-group"; +@import "~bootstrap/scss/custom-forms"; +@import "~bootstrap/scss/nav"; +@import "~bootstrap/scss/navbar"; +@import "~bootstrap/scss/card"; +@import "~bootstrap/scss/breadcrumb"; +@import "~bootstrap/scss/pagination"; +@import "~bootstrap/scss/badge"; +@import "~bootstrap/scss/jumbotron"; +@import "~bootstrap/scss/alert"; +@import "~bootstrap/scss/progress"; +@import "~bootstrap/scss/media"; +@import "~bootstrap/scss/list-group"; +@import "~bootstrap/scss/close"; +@import "~bootstrap/scss/modal"; +@import "~bootstrap/scss/tooltip"; +@import "~bootstrap/scss/popover"; +@import "~bootstrap/scss/carousel"; +@import "~bootstrap/scss/utilities"; +@import "~bootstrap/scss/print"; + +// Font Awesome +$fa-font-path: "~font-awesome/fonts"; +@import "~font-awesome/scss/font-awesome"; // Your custom UI @import "layout"; \ No newline at end of file diff --git a/webpack.config.common.js b/webpack.config.common.js index 242cab2..4635b6a 100755 --- a/webpack.config.common.js +++ b/webpack.config.common.js @@ -64,34 +64,6 @@ module.exports = { options: { name: "img/[name].[ext]", } - }, { - test: /\.eot(\?v=\d+.\d+.\d+)?$/, - use: { - loader: "file-loader", - options: { - name: "fonts/[name].[ext]" - } - } - }, { - test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, - use: { - loader: "url-loader", - options: { - name: "fonts/[name].[ext]", - limit: 10000, - mimetype: "application/font-woff" - } - } - }, { - test: /\.[ot]tf(\?v=\d+.\d+.\d+)?$/, - use: { - loader: "url-loader", - options: { - name: "fonts/[name].[ext]", - limit: 10000, - mimetype: "application/octet-stream" - } - } }, { test: /\.worker\.js$/, use: { diff --git a/webpack.config.dev.js b/webpack.config.dev.js index 5746a9a..8cca152 100755 --- a/webpack.config.dev.js +++ b/webpack.config.dev.js @@ -67,6 +67,11 @@ const config = merge.strategy({ sourceMap: true } }, ] + }, { + test: /fontawesome([^.]+).(ttf|otf|eot|svg|woff(2)?)(\?[a-z0-9]+)?$/, + use: [{ + loader: 'url-loader' + }] }, ] }, plugins: [ diff --git a/webpack.config.prod.js b/webpack.config.prod.js index cedee69..4d2302b 100755 --- a/webpack.config.prod.js +++ b/webpack.config.prod.js @@ -60,7 +60,17 @@ module.exports = merge(common, { } }, ] }) - }, ] + }, { + test: /fontawesome([^.]+).(ttf|otf|eot|svg|woff(2)?)(\?[a-z0-9]+)?$/, + use: [{ + loader: 'file-loader', + options: { + name: '[name].[ext]', + outputPath: 'fonts/', // where the fonts will go + publicPath: './' // override the default path + } + }] + } ] }, plugins: [