Icons

Icons

We are using SVG Icons in GitLab with a SVG Sprite, due to this the icons are only loaded once and then referenced through an ID. The sprite SVG is located under /assets/icons.svg. Our goal is to replace one by one all inline SVG Icons (as those currently bloat the HTML) and also all Font Awesome usages.

Usage in HAML/Rails

To use a sprite Icon in HAML or Rails we use a specific helper function :

size (optional) Number value for the size which is then mapped to a specific CSS class (Available Sizes: 8,12,16,18,24,32,48,72 are mapped to sXX css classes)

css-classes (optional) Additional CSS Classes to add to the svg tag.

Usage in HTML/JS

Please use the following function inside JS to render an icon :
gl.utils.spriteIcon(iconName)

Adding a new icon to the sprite

All Icons and Illustrations are managed in the gitlab-svgs repository which is added as a dev-dependency.

To upgrade to a new SVG Sprite version run yarn upgrade @gitlab-org/gitlab-svgs.

SVG Illustrations

Please use from now on for any SVG based illustrations simple img tags to show an illustration by simply using either image_tag or image_path helpers. Please use the class svg-content around it to ensure nice rendering. The illustrations are also organised in the gitlab-svgs repository (as they are then automatically optimised).