svg-lib is an Emacs library that allows to create and display various SVG objects, namely tags, icons, buttons, progress bars, progress pies and dates. Each object is guaranteed to fit nicely in a text buffer ensuring width is a multiple of character width and height a multiple of character height.
M-x package-install RET svg-lib RET
For the impatient, evaluate the following expression:
M-: (insert-image (svg-lib-tag "TODO"))
This should insert a SVG tag displaying "TODO" in a rounded box whose size is exactly 5 characters wide (because of padding).
** Objects
** Styling
Each library object can be styled using a style property list that defines:
foreground color
background color
internal padding (tag and icon)
external margin (in char)
stroke width (in pixels)
corner radius (in pixels) for the rounded box
horizontal alignment (0 to 1) inside margins
width (in characters)
height as a scale of line height
scale (for icon)
ascent (for text)
crop-left to crop object on the left
crop-right to crop object on the right
collection to use for icon
font family
font size
font weight
Icon repositories
Icons can be created by parsing remote collections whose license are compatibles with GNU Emacs. The default size of an icon is exactly 2x1 characters such that it can be inserted inside a text without disturbing alignment.
Each icon is cached locally to speed-up loading the next time you use it. If for some reason the cache is corrupted you can force reload using the svg-icon-get-data function. If you want to add new collections (i.e. URL), make sure the icons are monochrome, that their size is consistent and that they include a 'viewBox' node.
** [[https://pictogrammers.com/library/mdi/][Material Design]] (7447 icons)
Open-source iconography for designers and developers.
** [[https://simpleicons.org/][Simple icons]] (2926 icons)
Over 2900 Free SVG icons for popular brands.
** [[https://icons.getbootstrap.com/][Bootstrap]] (> 2000 icons)
Official open source SVG icon library for Bootstrap.
** [[https://boxicons.com/][Boxicons]] (1634 icons)
Simple Open Source icons carefully crafted for designers & developers.
** [[https://primer.style/octicons][Octicons]] (322 icons)
Octicons are a set of SVG icons built by GitHub for GitHub.
** [[https://www.figma.com/community/file/768673354734944365/visual-studio-code-icons][VSCode]] (209 icons)
Icons used in Visual Studio Code.
Version: (September 2020)
Licence: CC-BY 4.0
Number of icons: 209
Collection: =vscode=
Screenshots
[[file:screenshot.png]]
[[file:screenshot-2.png]]