npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

font-logos

v1.3.0

Published

An icon font providing popular linux distros' logos

Downloads

24,933

Readme

font-logos

Available logos

font-logos is an icon font containing logos of popular linux distributions and other open source software.

Note: All brand icons are trademarks of their respective owners and should only be used to represent the company or product to which they refer.

Installation

Install the font by downloading and unpacking the latest release's zip manually or installing it from npm:

npm install font-logos

To use the font, include assets/font-logos.css as well as the fonts in your project and use the CSS classes listed below.

<link href="/assets/font-logos.css" rel="stylesheet">

Alternatively just link to it using a CDN such as jsDelivr:

<link href="//cdn.jsdelivr.net/npm/font-logos@1/assets/font-logos.css" rel="stylesheet">

Usage

Include an icon using the corresponding CSS class in an empty element:

<i class="fl-[icon]"></i>

Add fl-fw as class for a fixed width icon.

If you want to insert a glyph of this font on a GNU/Linux system press Ctrl + Shift + u, release the keys and then type the code point, for instance: Ctrl + Shift + u and f31a will insert the Tux glyph.

Available logos are:

| Distribution | CSS class | Code | Code point | Image | | ------------------------- | ---------------------- | -------------------------------------- | :--------: | :--------------------------------------------------: | | Alma Linux | fl-almalinux | <i class="fl-almalinux"></i> | 0xf31d | | | Alpine | fl-alpine | <i class="fl-alpine"></i> | 0xf300 | | | AOSC OS | fl-aosc | <i class="fl-aosc"></i> | 0xf301 | | | Apple | fl-apple | <i class="fl-apple"></i> | 0xf302 | | | Archcraft | fl-archcraft | <i class="fl-archcraft"></i> | 0xf345 | | | ArchLabs | fl-archlabs | <i class="fl-archlabs"></i> | 0xf31e | | | Arch Linux | fl-archlinux | <i class="fl-archlinux"></i> | 0xf303 | | | ArcoLinux | fl-arcolinux | <i class="fl-arcolinux"></i> | 0xf346 | | | Arduino | fl-arduino | <i class="fl-arduino"></i> | 0xf34b | | | Artix Linux | fl-artix | <i class="fl-artix"></i> | 0xf31f | | | Awesome WM | fl-awesome | <i class="fl-awesome"></i> | 0xf354 | | | BigLinux | fl-biglinux | <i class="fl-biglinux"></i> | 0xf347 | | | bspwm | fl-bspwm | <i class="fl-bspwm"></i> | 0xf355 | | | Budgie | fl-budgie | <i class="fl-budgie"></i> | 0xf320 | | | CentOS | fl-centos | <i class="fl-centos"></i> | 0xf304 | | | Cinnamon | fl-cinnamon | <i class="fl-cinnamon"></i> | 0xf35f | | | Codeberg | fl-codeberg | <i class="fl-codeberg"></i> | 0xf330 | | | CoreOS | fl-coreos | <i class="fl-coreos"></i> | 0xf305 | | | Crystal Linux | fl-crystal | <i class="fl-crystal"></i> | 0xf348 | | | Debian | fl-debian | <i class="fl-debian"></i> | 0xf306 | | | Deepin | fl-deepin | <i class="fl-deepin"></i> | 0xf321 | | | Devuan | fl-devuan | <i class="fl-devuan"></i> | 0xf307 | | | Docker | fl-docker | <i class="fl-docker"></i> | 0xf308 | | | dwm | fl-dwm | <i class="fl-dwm"></i> | 0xf356 | | | elementary OS | fl-elementary | <i class="fl-elementary"></i> | 0xf309 | | | Endeavour OS | fl-endeavour | <i class="fl-endeavour"></i> | 0xf322 | | | Enlightenment | fl-enlightenment | <i class="fl-enlightenment"></i> | 0xf357 | | | F-droid | fl-fdroid | <i class="fl-fdroid"></i> | 0xf36a | | | Fedora | fl-fedora | <i class="fl-fedora"></i> | 0xf30a | | | Fedora (inverse) | fl-fedora-inverse | <i class="fl-fedora-inverse"></i> | 0xf30b | | | Ferris | fl-ferris | <i class="fl-ferris"></i> | 0xf323 | | | Flathub | fl-flathub | <i class="fl-flathub"></i> | 0xf324 | | | Fluxbox | fl-fluxbox | <i class="fl-fluxbox"></i> | 0xf358 | | | Forgejo | fl-forgejo | <i class="fl-forgejo"></i> | 0xf335 | | | FOSDEM | fl-fosdem | <i class="fl-fosdem"></i> | 0xf36b | | | FreeBSD | fl-freebsd | <i class="fl-freebsd"></i> | 0xf30c | | | FreeCAD | fl-freecad | <i class="fl-freecad"></i> | 0xf336 | | | freedesktop.org | fl-freedesktop | <i class="fl-freedesktop"></i> | 0xf360 | | | Garuda Linux | fl-garuda | <i class="fl-garuda"></i> | 0xf337 | | | Gentoo | fl-gentoo | <i class="fl-gentoo"></i> | 0xf30d | | | GIMP | fl-gimp | <i class="fl-gimp"></i> | 0xf338 | | | Gitea | fl-gitea | <i class="fl-gitea"></i> | 0xf339 | | | GNOME | fl-gnome | <i class="fl-gnome"></i> | 0xf361 | | | GNU Guix | fl-gnu-guix | <i class="fl-gnu-guix"></i> | 0xf325 | | | GTK | fl-gtk | <i class="fl-gtk"></i> | 0xf362 | | | Hyperbola GNU/Linux-libre | fl-hyperbola | <i class="fl-hyperbola"></i> | 0xf33a | | | Hyprland | fl-hyprland | <i class="fl-hyprland"></i> | 0xf359 | | | i3 | fl-i3 | <i class="fl-i3"></i> | 0xf35a | | | illumos | fl-illumos | <i class="fl-illumos"></i> | 0xf326 | | | Inkscape | fl-inkscape | <i class="fl-inkscape"></i> | 0xf33b | | | JWM | fl-jwm | <i class="fl-jwm"></i> | 0xf35b | | | Kali Linux | fl-kali-linux | <i class="fl-kali-linux"></i> | 0xf327 | | | KDE | fl-kde | <i class="fl-kde"></i> | 0xf373 | | | KDE Neon | fl-kde-neon | <i class="fl-kde-neon"></i> | 0xf331 | | | KDE Plasma | fl-kde-plasma | <i class="fl-kde-plasma"></i> | 0xf332 | | | Kdenlive | fl-kdenlive | <i class="fl-kdenlive"></i> | 0xf33c | | | KiCad | fl-kicad | <i class="fl-kicad"></i> | 0xf34c | | | Krita | fl-krita | <i class="fl-krita"></i> | 0xf33d | | | Kubuntu | fl-kubuntu | <i class="fl-kubuntu"></i> | 0xf333 | | | Kubuntu (inverse) | fl-kubuntu-inverse | <i class="fl-kubuntu-inverse"></i> | 0xf334 | | | Linux Mint | fl-linuxmint | <i class="fl-linuxmint"></i> | 0xf30e | | | Linux Mint (inverse) | fl-linuxmint-inverse | <i class="fl-linuxmint-inverse"></i> | 0xf30f | | | Loc-OS | fl-locos | <i class="fl-locos"></i> | 0xf349 | | | LXDE | fl-lxde | <i class="fl-lxde"></i> | 0xf363 | | | LXLE Linux | fl-lxle | <i class="fl-lxle"></i> | 0xf33e | | | LXQt | fl-lxqt | <i class="fl-lxqt"></i> | 0xf364 | | | Mageia | fl-mageia | <i class="fl-mageia"></i> | 0xf310 | | | Mandriva | fl-mandriva | <i class="fl-mandriva"></i> | 0xf311 | | | Manjaro | fl-manjaro | <i class="fl-manjaro"></i> | 0xf312 | | | MATE | fl-mate | <i class="fl-mate"></i> | 0xf365 | | | mpv | fl-mpv | <i class="fl-mpv"></i> | 0xf36e | | | MX Linux | fl-mxlinux | <i class="fl-mxlinux"></i> | 0xf33f | | | Neovim | fl-neovim | <i class="fl-neovim"></i> | 0xf36f | | | NixOS | fl-nixos | <i class="fl-nixos"></i> | 0xf313 | | | Octoprint | fl-octoprint | <i class="fl-octoprint"></i> | 0xf34d | | | OpenBSD | fl-openbsd | <i class="fl-openbsd"></i> | 0xf328 | | | OpenSCAD | fl-openscad | <i class="fl-openscad"></i> | 0xf34e | | | OpenSUSE | fl-opensuse | <i class="fl-opensuse"></i> | 0xf314 | | | OSH | fl-osh | <i class="fl-osh"></i> | 0xf34f | | | OSHWA | fl-oshwa | <i class="fl-oshwa"></i> | 0xf350 | | | OSI | fl-osi | <i class="fl-osi"></i> | 0xf36c | | | Parabola GNU/Linux-libre | fl-parabola | <i class="fl-parabola"></i> | 0xf340 | | | Parrot OS | fl-parrot | <i class="fl-parrot"></i> | 0xf329 | | | Pop!_OS | fl-pop-os | <i class="fl-pop-os"></i> | 0xf32a | | | PostmarketOS | fl-postmarketos | <i class="fl-postmarketos"></i> | 0xf374 | | | Prusa Slicer | fl-prusaslicer | <i class="fl-prusaslicer"></i> | 0xf351 | | | Puppy Linux | fl-puppy | <i class="fl-puppy"></i> | 0xf341 | | | Qt | fl-qt | <i class="fl-qt"></i> | 0xf375 | | | Qtile | fl-qtile | <i class="fl-qtile"></i> | 0xf35c | | | QubesOS | fl-qubesos | <i class="fl-qubesos"></i> | 0xf342 | | | Raspberry pi | fl-raspberry-pi | <i class="fl-raspberry-pi"></i> | 0xf315 | | | Red Hat | fl-redhat | <i class="fl-redhat"></i> | 0xf316 | | | RepRap | fl-reprap | <i class="fl-reprap"></i> | 0xf352 | | | RISC-V | fl-riscv | <i class="fl-riscv"></i> | 0xf353 | | | Rocky Linux | fl-rocky-linux | <i class="fl-rocky-linux"></i> | 0xf32b | | | Sabayon | fl-sabayon | <i class="fl-sabayon"></i> | 0xf317 | | | Slackware | fl-slackware | <i class="fl-slackware"></i> | 0xf318 | | | Slackware (inverse) | fl-slackware-inverse | <i class="fl-slackware-inverse"></i> | 0xf319 | | | Snappy | fl-snappy | <i class="fl-snappy"></i> | 0xf32c | | | Solus | fl-solus | <i class="fl-solus"></i> | 0xf32d | | | Sway | fl-sway | <i class="fl-sway"></i> | 0xf35d | | | Tails | fl-tails | <i class="fl-tails"></i> | 0xf343 | | | Thunderbird | fl-thunderbird | <i class="fl-thunderbird"></i> | 0xf370 | | | Tor Browser | fl-tor | <i class="fl-tor"></i> | 0xf371 | | | Trisquel GNU/Linux | fl-trisquel | <i class="fl-trisquel"></i> | 0xf344 | | | Tux | fl-tux | <i class="fl-tux"></i> | 0xf31a | | | Ubuntu | fl-ubuntu | <i class="fl-ubuntu"></i> | 0xf31b | | | Ubuntu (inverse) | fl-ubuntu-inverse | <i class="fl-ubuntu-inverse"></i> | 0xf31c | | | Vanilla OS | fl-vanilla | <i class="fl-vanilla"></i> | 0xf366 | | | Void | fl-void | <i class="fl-void"></i> | 0xf32e | | | VS Codium | fl-vscodium | <i class="fl-vscodium"></i> | 0xf372 | | | Wayland | fl-wayland | <i class="fl-wayland"></i> | 0xf367 | | | Wikimedia | fl-wikimedia | <i class="fl-wikimedia"></i> | 0xf36d | | | XeroLinux | fl-xerolinux | <i class="fl-xerolinux"></i> | 0xf34a | | | XFCE | fl-xfce | <i class="fl-xfce"></i> | 0xf368 | | | Xmonad | fl-xmonad | <i class="fl-xmonad"></i> | 0xf35e | | | Xorg | fl-xorg | <i class="fl-xorg"></i> | 0xf369 | | | Zorin OS | fl-zorin | <i class="fl-zorin"></i> | 0xf32f | |

Building

Make sure you have the following dependencies installed:

  • Node, Python and jq to run the build scripts
  • FontForge to generate the fonts
  • wkhtmltopdf to generate this readme's preview image

Then run npm install/yarn install and make.

Releasing

If you are a maintainer of this repository and a new release is to be published

  • Make sure all PRs (that shall be pulled) are pulled
    • The PRs add new svgs in vectors/
    • The icons.tsv is ammended (i.e. new icons added at the bottom)
  • Every time the svgs or icons.tsv is touched in the master branch (i.e. through pulling) the preview image is updated
  • Note that the README.md is NOT updated. You can manually modify it do indicate/add recently added but not released icons.
  • Once the release seems ready:
  • Edit the version number in package.json (and push that change to master)
  • Trigger the "Draft a Release" workflow manually on the Actions page (on the master branch)
    • The workflow will add a git tag for the release
  • Go to the releases list and find the draft release
    • Edit the description etc pp and finally
    • Push "publish release"
    • The release is published on Github
  • Automatically the "Update README" workflow is triggered
    • The README.md is regenerated (the preview should already be up to date, see above)
  • Automatically the "Publish release to npm" workflow is triggered
    • If the npm token is not expired the release is pushed to NPM
    • You need to publish on NPM manually if token is expired (expected)