README
Skiafy
Node.js based chromium devtools for converting SVG files to Skia Vector Icon files
Installation
$ [sudo] npm install -g skiafy
Usage
Usage:
skiafy [OPTIONS] [ARGS]
Options:
-h, --help: Help
-v, --version : Version
-n, --no-optimize : Not optimize SVG files (use SVGO for optimization)
-s STRING, --string=STRING : Input SVG data string
-i INPUT, --input=INPUT : Input file or folder, "-" for STDIN
(for folder, convert all *.svg files to *.icon files)
-o OUTPUT, --output=OUTPUT : Output file or folder, "-" for STDOUT
-q, --quiet: Only show error messages
-e : Output END line (default: no)
-c : Output color (default: no)
Arguments:
INPUT : Alias to --input
With files:
$ skiafy a.svg b.svg
Output a.icon, b.icon
$ skiafy -i a.svg -o test.icon -i b.svg -o /tmp/b.icon some.svg thing.svg
Output test.icon, /tmp/b.icon, some.icon and thing.icon
$ skiafy -o /tmp/myfolder *.svg
Convert all svg files, output icon files to folder /tmp/myfolder
With folders:
$ skiafy /tmp/myfolder
or
$ skiafy -i /tmp/myfolder
Convert all svg files in /tmp/myfolder
$ skiafy -i /tmp/myfolder -o /path/to/yourfolder
Convert all svg file in /tmp/myfolder and output icon files to /path/to/yourfolder
$ skiafy -i a.svg -o test.icon -i b.svg -o /tmp/b.icon some.svg thing.svg
Output test.icon, /tmp/b.icon, some.icon and thing.icon
With STDIN / STDOUT
$ cat a.svg | skiafy >/tmp/a.icon
$ skiafy -o /tmp/a.icon < a.svg
Read svg from pipe and output to /tmp/a.icon
$ skiafy -o /tmp/a.icon -
$ skiafy -i - -o /tmp/a.icon
Read from stdin and output to /tmp/a.icon
With strings
$ skiafy -s "<svg..." >/tmp/a.icon
$ skiafy -s "<svg..." -o /tmp/a.icon
With all of above
$ skiafy -s "<svg..." -o /tmp/a.icon -i a.svg -o aa.icon \ -i - -o /tmp/stdin.icon \ -i /tmp/myfolder -o /tmp/yourfolder \ -o /tmp/outputfoder some.svg /tmp/test.svg
Converts: convert string to /tmp/a.icon; convert a.svg to aa.icon; read from stdin and output to /tmp/stdin.icon; convert all svg files in /tmp/myfolder and output icon files to /tmp/yourfolder; convert some.svg, /tmp/test.svg, output some.icon and test.icon to /tmp/outputfolder;
Output path color
$ skiafy -c -o - a.svg ...... NEW_PATH, PATH_COLOR_ARGB, 0xFF, 0xFF, 0xAA, 0x00, CIRCLE, 11.5, 11.5, 1.5 ......
As Nodejs Module
const skiafy = require('skiafy')
const FS = require('fs')
FS.readFile('test.svg', 'utf8', function(err, data) {
if (err)
throw err
const options = {translateX: 0, translateY: 0, scaleX: 1, scaleY: 1, outputEnd: false, outputColor: true}
const result = skiafy(data, options)
console.log(result)
}
Reference
A little SVG to Skia converter tool
Node.js tool for optimizing SVG files