readme.rst
78 lines
| 3.3 KiB
| text/x-rst
|
RstLexer
r3680 | ||||
How To Build A New Icon Font | ||||
============================ | ||||
Welcome. Contained in this repo is everything you need to build a new custom | ||||
RhodeCode icon font for RhodeCode Community and Enterprise Editions. While the | ||||
files are here, this document references what needs to be done in the actual | ||||
Community Edition repository. | ||||
Creating New Icons | ||||
------------------ | ||||
Presumably, you're reading this because you'd like to update the icon font with | ||||
new icons. To create new icons, you'll want to use Illustrator. Start with an | ||||
empty 1000px x 1000px artboard, or use an existing .svg file if you'd like to | ||||
use an existing icon as a guide. | ||||
You'll need to make sure that your outlines are paths. This can be done using | ||||
the Shape Modes in the Pathfinder tool; see Window > Pathfinder in Illustrator | ||||
to build a compound image. It may happen that your image is rasterized, in which | ||||
case it will need to be converted to vector; check the results carefully. | ||||
.. note:: | ||||
When adding to the existing icon collection, please maintain our | ||||
existing icon style. | ||||
Creating The Font | ||||
----------------- | ||||
*Fontello* | ||||
We use fontello.com to generate the font files. On the main page, there is a | ||||
section for clicking and dragging icons to add to a font. If you would like to | ||||
use the existing font icons, here you will need to drag the .json file from the | ||||
current fontello folder. Once it has preloaded all of the existing fonts, drag | ||||
any new .svg icons into this same section to add them. | ||||
Any icons which appear blank or incorrect will need to be rebuilt in Illustrator. | ||||
This likely means that the paths have not been generated correctly; check the | ||||
settings in the Pathfinder tool. | ||||
After all of the icons are loaded into fontello, resist the temptation to click | ||||
the big red button; there's another task to do. Each icon has a pencil button; | ||||
click *every* icon - including the pre-existing ones - and check the settings. | ||||
Each current icon should have the same hex code as that which is listed in | ||||
rcicons.less. The "default css name" should be its simplified name; this is what | ||||
will be prepended with "icon-" for the CSS classes. Also remove any unnecessary | ||||
information from the keywords. | ||||
Once you have checked the icons, click the button in fontello which downloads a | ||||
zip file of the new font. | ||||
Preparing The LESS Files | ||||
------------------------ | ||||
.. note:: | ||||
It's a good idea to have `grunt watch` running in the background for this. | ||||
First, obviously the font files located in the unzipped folder under "font" | ||||
should replace the existing files in rhodecode/public/fonts/RCIcons/. While | ||||
doing this, check the permissions of the files that they have not changed; they | ||||
should be set to `chmod 644` but fontello's files may be different. | ||||
Next, you'll need to open the rcicons.css file which comes in the fontello .zip | ||||
and match the @font-face declaration to the one at the top of | ||||
rhodecode/public/css/rcicons.less, making sure to adjust the paths to | ||||
/fonts/RCIcons/. | ||||
In the same file, you will see the CSS for each icon. Take a quick look to make | ||||
sure that the existing icons haven't changed; if they have, you'll need to | ||||
adjust the content. Add any new icons to rcicons.less (note that similar ones | ||||
have been grouped together). | ||||
If you haven't yet, you'll need to run grunt to compile the LESS files; see the | ||||
developer documentation for instructions. | ||||