re-svg-pack
v0.1.0
Published
A CLI tool and library for generating icon fonts from SVG files.
Maintainers
Readme
re-svg
A modern CLI tool and library for generating icon fonts from SVG files.
Features
- CLI command:
icon-gen- Generate icon fonts from SVG folders directly from terminal - Library API: Programmatic access to icon font generation
- Multiple formats: Generates WOFF2, WOFF, TTF, and EOT fonts
- CSS output: Automatic CSS stylesheet generation for easy font usage
- TypeScript: Full TypeScript support with type definitions
Installation
Global CLI
npm install -g re-svgThen use the CLI:
icon-gen --input ./icons --output ./fontsAs a Library
npm install re-svgThen use programmatically:
import { generateIconFont } from 're-svg';
await generateIconFont({
inputDir: './icons',
outputDir: './fonts',
fontName: 'my-icons'
});CLI Usage
icon-gen --input <path> --output <path> [options]Required Arguments
--input, -i <path>— Directory containing SVG files to convert--output, -o <path>— Directory where generated fonts will be saved
Optional Arguments
--name, -n <name>— Font family name (default:re-svg-icons)--formats, -f <formats>— Comma-separated list of font formats (default:woff2,woff,ttf)- Available:
woff2,woff,ttf,eot
- Available:
Examples
# Basic usage with defaults
icon-gen --input ./my-icons --output ./dist
# Custom font name and specific formats
icon-gen -i ./icons -o ./fonts -n "custom-icons" -f "woff2,ttf"
# Help
icon-gen --helpLibrary API
generateIconFont(config)
Generate icon fonts programmatically.
import { generateIconFont } from 're-svg';
interface IconFontConfig {
inputDir: string; // Required: Input SVG directory
outputDir: string; // Required: Output directory
fontName?: string; // Optional: Font family name (default: 're-svg-icons')
formats?: string[]; // Optional: Font formats array (default: ['woff2', 'woff', 'ttf'])
fontsUrl?: string; // Optional: CSS font URL path
}
const config: IconFontConfig = {
inputDir: './icons',
outputDir: './dist',
fontName: 'my-icons',
formats: ['woff2', 'ttf']
};
await generateIconFont(config);System Requirements
fontforge
re-svg requires fontforge to be installed on your system:
- macOS:
brew install fonttools - Ubuntu/Debian:
sudo apt-get install fontforge - Windows: Included with Node.js build tools. If missing, install via FontForge releases
v0.1.0 Scope
This is the minimal viable product (MVP) version of re-svg. It focuses on:
- ✅ Simple CLI interface for font generation
- ✅ Basic library wrapper around Fantasticon
- ✅ Standard font formats (WOFF2, WOFF, TTF, EOT)
- ✅ CSS stylesheet generation
Future versions will include:
- Custom templates
- Icon aliasing
- SCSS/LESS stylesheet support
- Multiple font variants
- Icon metadata export
License
MIT
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
