Cubing icons and fonts
Documentation and demo
Development
Most development is simply adding/changing existing SVG files under the
./src/svg directory. If
you haven't dealt with SVG files before, check out
Inkscape.
If you want to actually build a font or CSS locally, you'll need some more tooling.
Build the project
You'll need bun to install development dependencies and
build the project. Either install bun with your preferred package manager, or
use our Nix-powered dev shell.
Check out and build the project as follows:
git clone https://github.com/cubing/icons && cd icons
make
Files are build into the ./dist directory.
Using nix for development (optional)
We provide a nix shell that you can activate with nix develop.
Upgrading/changing dependencies
package-lock.json is the source of truth. Use npm to change dependencies
(if all you're doing is installing dependencies, you don't need npm).
As soon as nix gets support for bun
lockfiles, we can remove this
quirk.
Releasing
To bump the version and deploy to npmjs.org:
npm version [major|minor|patch] -m "Release description"
git push --follow-tags
make publish
CDN
Note that cdn.cubing.net requires an explicit version bump and deployment in order to pick up the new @cubing/icons version:
git clone https://github.com/cubing/cdn.cubing.net && cd cdn.cubing.net
# Requires SSH and optional Fastly credentials to deploy
make roll-@cubing/icons