SVG spritesheet maker
Project description
ssm
SVG spritesheet maker
ssm is a command-line tool for creating and managing SVG spritesheets. It has 5 main functions:
- create: For creating spritesheets from a list of SVG sprites (i.e. SVG icons etc.).
- list: For listing the SVG sprites stored in a spritesheet.
- add: For adding SVG sprites to an existing spritesheet.
- remove: For removing SVG sprites from an existing spritesheet.
- export: For exporting SVG sprites from an existing spritesheet; Can be used for converting a
<symbol>back into a standalone<svg>or to display a format suitable for use in HTML (using<use>).
For more details, run ssm -h after installation.
Installation
To install the most stable version of this package, run:
$ pip install ssm-svg
Usage example
Create spritesheet icons.svg with search.svg and menu.svg as sprites:
$ ssm create -f icons.svg search.svg menu.svg
$ cat icons.svg
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id="search" viewBox="0 0 24 24">...</symbol>
<symbol id="menu" viewBox="0 0 24 24">...</symbol>
</defs>
</svg>
Create spritesheet and overwrite existing file (with the -F option):
$ ssm create -f icons.svg search.svg menu.svg -F
Create spritesheet containing search.svg and menu.svg, with custom ID hamburger-icon for menu.svg (instead of defaulting to its file name):
$ ssm create -f icons.svg search.svg hamburger-icon=menu.svg -F
$ cat icons.svg
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id="search" viewBox="0 0 24 24">...</symbol>
<symbol id="hamburger-icon" viewBox="0 0 24 24">...</symbol>
</defs>
</svg>
List IDs of sprites in spritesheet:
$ ssm list -f icons.svg
hamburger-icon
search
Add facebook.svg and instagram.svg to spritesheet:
$ ssm add -f icons.svg facebook.svg instagram.svg
$ cat icons.svg
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id="search" viewBox="0 0 24 24">...</symbol>
<symbol id="hamburger-icon" viewBox="0 0 24 24">...</symbol>
<symbol id="facebook" viewBox="0 0 24 24">...</symbol>
<symbol id="instagram" viewBox="0 0 24 24">...</symbol>
</defs>
</svg>
Remove sprites with IDs facebook and instagram from spritesheet:
$ ssm remove -f icons.svg facebook instagram
$ cat icons.svg
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id="search" viewBox="0 0 24 24">...</symbol>
<symbol id="hamburger-icon" viewBox="0 0 24 24">...</symbol>
</defs>
</svg>
NOTE: Inserting the same ID more than once would cause an error.
Add facebook.svg to spritesheet with custom ID fb-icon (instead of defaulting to its file name):
$ ssm add -f icons.svg fb-icon=facebook.svg
$ cat icons.svg
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id="search" viewBox="0 0 24 24">...</symbol>
<symbol id="hamburger-icon" viewBox="0 0 24 24">...</symbol>
<symbol id="fb-icon" viewBox="0 0 24 24">...</symbol>
</defs>
</svg>
Export sprite with ID menu from spritesheet:
$ ssm export -f icons.svg menu
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<!-- "menu" SVG elements -->
</svg>
Export sprite with ID menu from spritesheet for use in HTML:
$ ssm export -f icons.svg menu --use
<svg><use href="icons.svg#menu"></use></svg>
Export sprites with IDs search and menu from spritesheet as exported_files/search.svg and exported_files/menu.svg respectively:
$ ssm export -f icons.svg --dir exported_files search menu
$ cat exported_files/search.svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<!-- "search" SVG elements -->
</svg>
$ cat exported_files/menu.svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<!-- "menu" SVG elements -->
</svg>
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ssm_svg-0.1.0.tar.gz.
File metadata
- Download URL: ssm_svg-0.1.0.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04e0194e2b9369dc45e3b224c6a39c0f2f3cd7a8ce0c575ca72e34f95f634fe8
|
|
| MD5 |
e05d2f9152500df3cb21e3c1994bc0c8
|
|
| BLAKE2b-256 |
a0e55f54e134de10cc8eb15eac9fc1db5b11a6aac441007fde9dcbec48559c75
|
File details
Details for the file ssm_svg-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ssm_svg-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8eda7659b3e25c7d2e6f3e41362f85144539f6d7e59035c57ecc3e8631fa605d
|
|
| MD5 |
daef3693ddacd78d2b7cdc7d8dbff1d7
|
|
| BLAKE2b-256 |
ff168baebc38a1d5489531aa4644a45a91bec66f64499b272fd02f3e14352641
|