diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-12-08 13:10:31 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-12-08 13:10:31 +0900 |
| commit | 25068f12f5e584df120efb0e0aa4ee38df7074c8 (patch) | |
| tree | 8232d8b201d164c2c5047de64aefd1ba4bb2a0ed /webpack/module/rules | |
| parent | Merge remote-tracking branch 'refs/remotes/origin/master' into fa5 (diff) | |
| download | sharkey-25068f12f5e584df120efb0e0aa4ee38df7074c8.tar.gz sharkey-25068f12f5e584df120efb0e0aa4ee38df7074c8.tar.bz2 sharkey-25068f12f5e584df120efb0e0aa4ee38df7074c8.zip | |
wip
Diffstat (limited to 'webpack/module/rules')
| -rw-r--r-- | webpack/module/rules/fa.ts | 22 |
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 { |