@hackage svgsym0.1.2.0
A tool to prune unused symbols from icon SVG files.
Categories
License
GPL-3.0-or-later
Maintainer
robert@rycee.net
Links
Versions
Installation
Dependencies (0)
- array ^>=0.5
- base >=4 && <5
- bytestring >=0.10 && <0.13
- containers ^>=0.6
- directory ^>=1.3
- filepath ^>=1.4 Show all…
Dependents (0)
svgsym
This is a simple tool to prune unused symbols from icon SVG files.
Specifically, this tools takes as input
-
an SVG file that consists only of
symbolelements, -
one of more glob patterns of source files, and
-
a regular expression that identifies symbol references.
It then scans your source files for references to symbols in the SVG file. The output of the tool is an SVG file that contains only the symbols referenced in your source files.
Example
We can prune the all.svg file from css.gg project
for a Haskell project by running the below command. Note that the
symbol regular expression consist of a single capture group that
captures the actual symbol identifier.
$ svgsym css-gg/all.svg \
--content './src/**/*.hs' \
--symbol '"(gg-[a-z]+)"' \
> ./output/static/css-gg.svg
Bug Reports and Sending Patches
Bug reports and patches are managed through my sourcehut public inbox.
Development
The intended development flow is to use a Nix Flake development shell, e.g., using Direnv or directly running
$ nix develop .
…
This will help set up a shell containing the necessary development dependencies. This shell will also be populated with utilities that can be run directly in the terminal:
p-format– formats the project's Cabal, Haskell, and Nix code.