Easily turn an SVG file into a Svelte component, Rewritten in Rust.
svg2svelte parses the svg file's ids for bind:
in the name and converts them into variables we can manipulate later on with an animation library (e.g. anime.js)
svgo
will need to be installed globally.
npm i -g svgo # npm
yarn global add svgo # yarn
pnpm add -g svgo # pnpm
git clone https://github.com/derektata/svg2svelte-rs
cd svg2svelte-rs
make
cargo install svg2svelte
USAGE:
svg2svelte [OPTIONS] [SVG_FILE]
ARGS:
<SVG_FILE> File to be processed
OPTIONS:
-h, --help Print help information
-t, --typescript Create a Typescript component
-v, --verbose Print the generated component to stdout
-V, --version Print version information
EXAMPLES:
svg2svelte ball.svg
svg2svelte -t ball.svg
The previous implementation I had written up in shell had issues running cross-platform and only worked on Linux, so I decided to start learning more Rust and this project was born.