I'm (constantly) working on my own iconset and found that a few tools would be very helpful for this.
(Note: Requires ImageMagick – see below.)
This script offers a) the one-click extraction and naming of all single icons from an iconset and b) the generation of an html page as an iconset reference including names and positions. Multiple sets in one .xml file and alternative "dark" icons are supported, but image formats other than PNG aren't.
Extracting single icons
Since I'm designing the icons as one complete set in Inkscape, the export is just one image to embed in the DOpus iconset. However, sometimes I need the individual icons as well (eg. for use in dialog buttons) – and exporting them one by one is a pain. So this script allows you to do that more painlessly.
The command is: GenerateIcons MODE single XMLFILE "c:\\path\\file.xml"
The corresponding .png file must be present in the same folder. The script won't work on files inside a .zip/.dis file.
This will ask you to select a set from the .xml file and then create a subdirectory called "single" and in it all the individual icons with the names from the .xml, overwriting any existing files.
Depending on the number of icons, your system's speed etc. this may take a few seconds. Be patient; a popup will inform you when it's done.
Generating an HTML reference file
Another thing I keep needing is a lookup feature: What is that icon called? What row/column is it in? Or what does the "whatever" icon look like in that iconset? I know I can use dopus to achieve that but I wanted a simpler solution.
Using the amazing Fluent Style Icon Set by @skinz as an example, this is what that looks like:
(Note the extra info at the mouse position.)
...or with an active search:
The command for this: GenerateIcons MODE html XMLFILE {filepath$}
To change the background colors (eg. to match the ones in your own setup):
GenerateIcons MODE html XMLFILE {filepath$} COLORDARK #123456 COLORLIGHT #abcdef
This will create an .html file with the same name as the iconset. Open it in the browser, hover over an icon to see its data or use the search bar to, well, search.
Installation
a) Download the script and install it as usual:
IconTools.osp (5.7 KB)
Note that it is not mandatory for the included template file (IconTools_template.html) to be residing in the Script Addins folder. Any other location (eg. User Data) is fine, just update the configuration.
b) Download and install ImageMagick. It's free and open source. There's quite a (confusing) choice on the download page; they offer a portable version as well in case you're like me and don't like installers. (I went with the Portable Win64 static at 8 bits-per-pixel component option.)
This tool has amazing capabilities but the learning curve is quite steep...
c) In DOpus, configure the script: It needs the locations of magick.exe and the template file.
d) Set up your buttons.
e) That's it. I hope.
The "infrasctructure" around my scripts has grown over the years and it's not easy to extract just one stand-alone script, so I had to uglify it in a few places and to add a few helpers at the end of the file.
Note that the script extends JScript classes by adding polyfills: String.trim(), String.endsWith(), Array.forEach()
I'm sure the script offers lots of room for improvement and I might continue working on it, but for now it does what I need. I'd be happy if it helped someone else too...