/nativefier-icons

Server and Icon Repository for Nativefier

Primary LanguageShell

Nativefier Icons

Icon Repository for Nativefier.

Nativefier will look in this repository for high resolution icons before trying to automatically infer an icon from the target Url.

The index is automatically generated with GitCloud using Jekyll.

Contributing

Feel free to submit a pull request for any .ico, .icns or .png icon!

  • .ico - For Windows
  • .icns - For macOS (Apple Icon Image format)
  • .png - For Linux

If the icons for the correct platforms are found here, the optional dependencies for Nativefier might not be required to infer an icon for that particular target web page.

Naming Convention

Name the icon file to ${PRODUCT}.${EXT}, just use the key identifier for the page.

However, if the product name is generic enough, name it as ${COMPANY}-${PRODUCT}.${EXT}, with - as the delimiter. The matching algorithm works by taking a score of the number of words matched in the file name with the target url.

Take the example of naming Google Photos for the target url https://photos.google.com/. Using photos.png is too generic, and we want it to be specific to google. Thus, we will name the icon file google-photos.png for a .png file.

Step 1

First prepare the image files, for the respective platform as stated above

A helpful tool for converting the icons is iconverticons.com.

Copy the images to ./files.

$ ls -a ./files

google-photos.png
google-photos.ico
google-photos.icns

Step 2

Add an entry for the file to ./_data/gitCloud.yml, in alphabetical order

- name: google-photos
  href: files/google-photos.png
- name: google-photos
  href: files/google-photos.ico
- name: google-photos
  href: files/google-photos.icns

Step 3

You're done! Submit a pull request with the changes and I'll merge them in as soon as possible.

Helper Scripts

The main ./addIcon script is also provided which takes an input .png or .svg and does steps 1 and 2 automatically for you.

This script only runs on OSX with XCode installed as iconutil is required for conversion to a .icns file.

Other helpful scripts are:

You need the following dependencies:

  • ImageMagick with convert and identify in your $PATH (required for .png input)
  • CairoSVG (required for .svg input)
  • iconutil: Xcode needs to be installed (required to generate .icns)

Work In Progress

  • CI tests for pull requests
  • Just use a .png or .svg and let CI convert the icons to the other formats

Credits

Some logos are sourced and converted from the really awesome svg logo repository gilbarbara/logos.

All logos appearing on the site are the property of their respective owners.