• Stars
    star
    224
  • Rank 177,792 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 10 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

JavaScript module and command-line tools for convert SVG to Android vector drawable.

SVG2VectorDrawable

中文说明

JavaScript module and command-line tools for convert SVG to Android vector drawable.

Use in command-line

Install.

npm install svg2vectordrawable -g
# Show help.
s2v -h

Node.js:

const svg2vectordrawable = require('svg2vectordrawable');

Browser:

const svg2vectordrawable = require('svg2vectordrawable/src/main.browser');
import svg2vectordrawable from 'svg2vectordrawable';

Convert a SVG to vector drawable file.

s2v -i input.svg -o output.xml
s2v -i input.svg -o res/drawable/output.xml
s2v -p 3 -i input.svg -o res/drawable/output.xml

Convert all SVG file in a folder to vector drawable file.

s2v -f input_folder -o output_folder

Show vector drawable code from SVG code, or convert it to XML file.

s2v -s '<rect x="2" y="2" width="20" height="20"/>'
s2v -s '<Paste from Sketch SVG code>' -o output.xml

Use in JavaScript

Install.

npm install svg2vectordrawable -s

Example 1, convert SVG code to Android Vector Drawable code.

const svg2vectordrawable = require('svg2vectordrawable');
let svgCode = '<svg viewBox="0 0 24 24"><rect x="2" y="2" width="20" height="20"/></svg>';
svg2vectordrawable(svgCode).then(xmlCode => {
    console.log(xmlCode);
});

With options arguments.

let options = {
    floatPrecision: 3, // default is 2
    fillBlack: true, // Add black color to path element, defaults to false
    xmlTag: true, // Add XML Declaration, defaults to false
    tint: '#FFFFFFFF' // And tint to vector tag
};
svg2vectordrawable(svgCode, options).then(xmlCode => {
    console.log(xmlCode);
});

Example 2, convert SVG file to Android Vector Drawable file.

const svg2vectordrawable = require('svg2vectordrawable/lib/svg-file-to-vectordrawable-file');
svg2vectordrawable('./dir/input.svg', './dir/output.xml');

Example 3,use svg2vectordrawable with gulp.

const path = require('path');
const vinylPaths = require('vinyl-paths');
const svg2vectordrawable = require('svg2vectordrawable/lib/svg-file-to-vectordrawable-file');
gulp.task('vectorDrawable', () => {
    let dest = './dest/vector-drawable';
    return gulp.src('./dest/svg/*.svg')
        .pipe(vinylPaths(function (file) {
            let outputPath = path.join(dest, 'ic_' + path.basename(file).replace(/\.svg$/, '.xml'));
            return svg2vectordrawable(file, outputPath);
        }));
});

License

MIT

Donate

Buy me a coffee or donate $5.00 $10.00 via PayPal.

More Repositories

1

Automate-Sketch

Make your workflow more efficient.
JavaScript
928
star
2

Sketch_Swatches

A swatches plugin for Sketch.
JavaScript
438
star
3

Android_Res_Export

Export Android resources in Sketch, bitmap assets, nine-patch, vector drawable, app icon, shape XML..
JavaScript
209
star
4

Device-Art-Generator

JavaScript
154
star
5

GUI_Automation_Toolbox

Photoshop & Illustrator Scripts GUI design.
JavaScript
90
star
6

HSL_Color_Picker

HSL Color Picker for Sketch (no longer maintenance).
HTML
89
star
7

design-systems

A Sketch app plugin that help you find out popular design systems and download official Sketch UI kit.
84
star
8

android-resources-export-figma

A Figma plugin for export Android resources.
TypeScript
52
star
9

import-colors-sketch

Import colors from macOS CLR, Photoshop ACO/ACT, Illustrator ASE, GIMP GPL, Sketch, Text file to Sketch color variables.
JavaScript
49
star
10

Sketch-Stuffing

Sketch data supplier plugin for Chinese.
JavaScript
35
star
11

android-vector-drawable-figma

Figma plugin for export Android vector drawable.
TypeScript
25
star
12

data-from-local-figma

Figma plugin to insert data from local TXT file or JPG / PNG images.
HTML
18
star
13

mixfonts-figma

A Figma plugin let you easy to use different fonts for Latin and CJK characters.
JavaScript
16
star
14

learning-figma-scripter

Figma Scripter 编程 -- 用代码加速设计工作
CSS
10
star
15

sketch-export-master

Export Sketch assets with gulp for all platform.
HTML
5
star
16

frame-resizer-figma

Figma plugin for resize frame from an anchor point, without resize the child layers.
TypeScript
4
star
17

ashung.github.io

This is my personal site. It's made with Jekyll and hosted with Github Pages.
CSS
3
star