summaryrefslogtreecommitdiff
path: root/webpack/module/rules
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2017-12-08 13:10:31 +0900
committersyuilo <syuilotan@yahoo.co.jp>2017-12-08 13:10:31 +0900
commit25068f12f5e584df120efb0e0aa4ee38df7074c8 (patch)
tree8232d8b201d164c2c5047de64aefd1ba4bb2a0ed /webpack/module/rules
parentMerge remote-tracking branch 'refs/remotes/origin/master' into fa5 (diff)
downloadsharkey-25068f12f5e584df120efb0e0aa4ee38df7074c8.tar.gz
sharkey-25068f12f5e584df120efb0e0aa4ee38df7074c8.tar.bz2
sharkey-25068f12f5e584df120efb0e0aa4ee38df7074c8.zip
wip
Diffstat (limited to 'webpack/module/rules')
-rw-r--r--webpack/module/rules/fa.ts22
1 files changed, 14 insertions, 8 deletions
diff --git a/webpack/module/rules/fa.ts b/webpack/module/rules/fa.ts
index 57691f9899..15f8775f01 100644
--- a/webpack/module/rules/fa.ts
+++ b/webpack/module/rules/fa.ts
@@ -4,11 +4,15 @@
const StringReplacePlugin = require('string-replace-webpack-plugin');
-const fontawesome = require('@fortawesome/fontawesome');
-const solid = require('@fortawesome/fontawesome-free-solid');
+import * as fontawesome from '@fortawesome/fontawesome';
+import * as regular from '@fortawesome/fontawesome-free-regular';
+import * as solid from '@fortawesome/fontawesome-free-solid';
+import * as brands from '@fortawesome/fontawesome-free-brands';
-// Adds all the icons from the Solid style into our library for easy lookup
+// Add icons
+fontawesome.library.add(regular);
fontawesome.library.add(solid);
+fontawesome.library.add(brands);
export default () => ({
enforce: 'pre',
@@ -19,18 +23,19 @@ export default () => ({
pattern: /%fa:(.+?)%/g, replacement: (_, key) => {
const args = key.split(' ');
let prefix = 'fas';
- let klass = '';
+ const classes = [];
let transform = '';
let name;
args.forEach(arg => {
- if (arg == 'R' || arg == 'S') {
+ if (arg == 'R' || arg == 'S' || arg == 'B') {
prefix =
arg == 'R' ? 'far' :
arg == 'S' ? 'fas' :
+ arg == 'B' ? 'fab' :
'';
} else if (arg[0] == '.') {
- klass += arg.substr(1) + ' ';
+ classes.push('fa-' + arg.substr(1));
} else if (arg[0] == '-') {
transform = arg.substr(1).split('|').join(' ');
} else {
@@ -38,10 +43,11 @@ export default () => ({
}
});
- const icon = fontawesome.icon({ prefix, iconName: name });
+ const icon = fontawesome.icon({ prefix, iconName: name }, {
+ classes: classes
+ });
if (icon) {
- icon.class = klass;
icon.transform = fontawesome.parse.transform(transform);
return `<i data-fa style="display:inline-block" class="${name}">${icon.html[0]}</i>`;
} else {