daipeng7/rollup-plugin-iconfont(新しいタブで開きます)
主要言語: JavaScript
Use svg files to build iconfont files(ttf,woff2,woff,eot,svg), css file, js data file and html-preview file.
- star 数
- 2
- watcher 数
- 2
- fork 数
- 1
- issue 数
- 2
- 最終更新
- 2024/05/22
主要言語: JavaScript
Use svg files to build iconfont files(ttf,woff2,woff,eot,svg), css file, js data file and html-preview file.
Use svg files to build iconfont files(ttf,woff2,woff,eot,svg), css file, js data file and html-preview file.
npm install -D @daipeng7/rollup-plugin-iconfont
You can use it by nodejs directly or use it in webpack
build/svg2font.js:
var IconfontWebpackPlugin = require("@daipeng7/rollup-plugin-iconfont"); var path = require("path"); var dir = "test/web_project/"; var options = { svgs: resolve("src/assets/svgs/*.svg"), fontsOutput: resolve("src/style/iconfont/fonts"), cssOutput: resolve("src/style/iconfont/index.css"), fontName: "custom-iconfont", jsOutput: false, htmlOutput: false, template: "scss", // Font loads the absolute path. If not set, the relative path will be automatically calculated based on `cssOutput` and `fontsOutput`. // cssFontPath: '', // iconFont name prefix cssPrefix: "ift", }; IconfontWebpackPlugin(options).buildStart();
Then you can run this command to build iconfont by svg:
node build/svg2font.js
Or you can set this command to script of package.json, and run it by npm.
var IconfontWebpackPlugin = require("@daipeng7/rollup-plugin-iconfont"); var dir = "test/web_project/"; module.exports = { //... others plugins: [ IconfontWebpackPlugin({ svgs: path.join(dir, "svgs/*.svg"), svgs: resolve("src/assets/svgs/*.svg"), fontsOutput: resolve("src/style/iconfont/fonts"), cssOutput: resolve("src/style/iconfont/index.css"), fontName: "custom-iconfont", jsOutput: false, htmlOutput: false, template: "scss", cssFontPath: "style/iconfont/fonts", cssPrefix: "ift", watch: false, }), ], };
Type: String
File path(s) or glob(s) to svg icons. Recommend to use .svg like this: /src/project/src/.svg, this can watch svgs by directory.
Type: String
Destination for generated font files (directory).
Type: String
Destination for generated css file (file name).
Type: String
Default value: iconfont
The font family name (e.g. font-family: 'iconfont').
Type: String
Default value: [path of cssOutput] + /font-preview.html. Or false value.
Destination for generated html-preview file (file name). If false, no html and js output.
Type: String
Default value: css
Type of built in style templates ('css', 'scss', 'scss-mixins') or path to custom template.
Type: Array of String
Default value: ['svg', 'ttf', 'eot', 'woff2', 'woff']
The output iconfont formats.
Type: String
Default value: fontName
Css className prefix.
Type: String
Default value: undefined.
Path of a js file which contains all svg contents. Optional.
Type: String
Default value: '/_ eslint-disable _/\n'
Js file content prefix.
Type: String
Default value: path.relative(path.dirname(options.cssOutput), options.fontsOutput);
Font url path in cssOutput file.
Type: Function
Default value: undefined
Iconfonts be created.
Type: Boolean
Default value: undefined
Watch file change.
https://www.npmjs.com/package/svgicons2svgfont
https://www.npmjs.com/package/svg2ttf
https://www.npmjs.com/package/ttf2eot
https://www.npmjs.com/package/ttf2woff
https://www.npmjs.com/package/ttf2woff2