Awesome
@mdi/font-build
Goal: Build the Material Design Icons SVG icons to a webfont.
Most notably this generates @mdi/font
, but is written to allow others to add custom icons or tweak the output.
CLI
By installing @mdi/font-build
globally one can generate their own webfont build.
# Install Globally
npm install -g @mdi/font-build
# Reads config from font-build.json
font-build
To run without installing use
npx @mdi/font-build
Input
Any version of @mdi/svg
v3.9.95+ will work with no changes. For earlier versions copy the font-build.json
and update the version: { major: 3, minor: 9, patch: 95 }
values.
Download from MaterialDesign-SVG
font-build --help
explains all the possible overrides.
Folder Structure
meta.json
font-build.json
svg/
account.svg
...
font-build
is ran in the root of this folder.
Output
The output is essentially the @mdi/font
package that is released to NPM and the CDN after every release. These are built to target IE11+.
dist/
css/
materialdesignicons.css
materialdesignicons.css.map
materialdesignicons.min.css
materialdesignicons.min.css.map
fonts/
materialdesignicons-webfont.eot
materialdesignicons-webfont.ttf
materialdesignicons-webfont.woff
materialdesignicons-webfont.woff2
scss/
materialdesignicons.scss
_animated.scss
_core.scss
_extras.scss
_functions.scss
_icons.scss
_paths.scss
_variables.scss
index.html
Why is the SVG font not generated?
The .svg
format is very heavy font format not used by modern browsers, but it can be included. Simply append the --fontSvg
flag.
font-build --fontSvg
Request Features
Please let us know if you need any features beyond the current CLI options by opening an issue.
The webfont
Package is Amazing!
99% of this is thanks to the https://www.npmjs.com/package/webfont package. They really have done amazing work.