From 5c14a3d066a6b4f5d179021bca03131f666311dc Mon Sep 17 00:00:00 2001 From: janrippl Date: Mon, 13 Jan 2025 15:53:03 +0100 Subject: [PATCH] =?UTF-8?q?=C3=9Aprava=20souboru=20index.html?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- font-logos/.github/workflows/release.yml | 69 ------ font-logos/.github/workflows/release_npm.yml | 69 ------ .../.github/workflows/update-assets.yml | 60 ------ .../.github/workflows/update_readme.yml | 52 ----- font-logos/.gitignore | 8 - font-logos/LICENSE | 24 --- font-logos/Makefile | 55 ----- font-logos/README.md | 202 ------------------ font-logos/assets/README.md | 4 - font-logos/assets/readme-header.png | Bin 900436 -> 0 bytes font-logos/icons.tsv | 131 ------------ font-logos/package-lock.json | 69 ------ font-logos/package.json | 30 --- font-logos/scripts/create_nf_lib.sh | 23 -- font-logos/scripts/data.mjs | 4 - font-logos/scripts/generate-font.py | 69 ------ font-logos/scripts/generate-json.mjs | 39 ---- font-logos/scripts/render-template.mjs | 32 --- font-logos/scripts/tsv.mjs | 30 --- font-logos/templates/README.md.njk | 82 ------- .../templates/assets/font-logos.css.njk | 43 ---- font-logos/templates/assets/preview.html.njk | 42 ---- .../templates/assets/readme-header.html.njk | 37 ---- font-logos/vectors/almalinux.svg | 15 -- font-logos/vectors/alpine.svg | 31 --- font-logos/vectors/aosc.svg | 66 ------ font-logos/vectors/apple.svg | 30 --- font-logos/vectors/archcraft.svg | 4 - font-logos/vectors/archlabs.svg | 34 --- font-logos/vectors/archlinux.svg | 34 --- font-logos/vectors/arcolinux.svg | 4 - font-logos/vectors/arduino.svg | 4 - font-logos/vectors/artix.svg | 62 ------ font-logos/vectors/awesome.svg | 4 - font-logos/vectors/biglinux.svg | 6 - font-logos/vectors/bspwm.svg | 3 - font-logos/vectors/budgie.svg | 38 ---- font-logos/vectors/centos.svg | 78 ------- font-logos/vectors/cinnamon.svg | 4 - font-logos/vectors/codeberg.svg | 118 ---------- font-logos/vectors/coreos.svg | 23 -- font-logos/vectors/crystal.svg | 5 - font-logos/vectors/debian.svg | 33 --- font-logos/vectors/deepin.svg | 30 --- font-logos/vectors/devuan.svg | 22 -- font-logos/vectors/docker.svg | 70 ------ font-logos/vectors/dwm.svg | 4 - font-logos/vectors/elementary.svg | 74 ------- font-logos/vectors/endeavour.svg | 1 - font-logos/vectors/enlightenment.svg | 4 - font-logos/vectors/fdroid.svg | 4 - font-logos/vectors/fedora-inverse.svg | 28 --- font-logos/vectors/fedora.svg | 28 --- font-logos/vectors/ferris.svg | 19 -- font-logos/vectors/flathub.svg | 30 --- font-logos/vectors/fluxbox.svg | 4 - font-logos/vectors/forgejo.svg | 4 - font-logos/vectors/fosdem.svg | 4 - font-logos/vectors/freebsd.svg | 41 ---- font-logos/vectors/freecad.svg | 3 - font-logos/vectors/freedesktop.svg | 4 - font-logos/vectors/garuda.svg | 8 - font-logos/vectors/gentoo.svg | 75 ------- font-logos/vectors/gimp.svg | 5 - font-logos/vectors/gitea.svg | 4 - font-logos/vectors/gnome.svg | 4 - font-logos/vectors/gnu-guix.svg | 1 - font-logos/vectors/gtk.svg | 4 - font-logos/vectors/hyperbola.svg | 7 - font-logos/vectors/hyprland.svg | 4 - font-logos/vectors/i3.svg | 4 - font-logos/vectors/illumos.svg | 1 - font-logos/vectors/inkscape.svg | 4 - font-logos/vectors/jwm.svg | 4 - font-logos/vectors/kali-linux.svg | 16 -- font-logos/vectors/kde-neon.svg | 99 --------- font-logos/vectors/kde-plasma.svg | 61 ------ font-logos/vectors/kde.svg | 3 - font-logos/vectors/kdenlive.svg | 4 - font-logos/vectors/kicad.svg | 4 - font-logos/vectors/krita.svg | 4 - font-logos/vectors/kubuntu-inverse.svg | 5 - font-logos/vectors/kubuntu.svg | 90 -------- font-logos/vectors/leap.svg | 3 - font-logos/vectors/libreoffice.svg | 3 - font-logos/vectors/libreofficebase.svg | 3 - font-logos/vectors/libreofficecalc.svg | 3 - font-logos/vectors/libreofficedraw.svg | 3 - font-logos/vectors/libreofficeimpress.svg | 3 - font-logos/vectors/libreofficemath.svg | 3 - font-logos/vectors/libreofficewriter.svg | 3 - font-logos/vectors/linuxmint-inverse.svg | 28 --- font-logos/vectors/linuxmint.svg | 49 ----- font-logos/vectors/locos.svg | 4 - font-logos/vectors/lxde.svg | 4 - font-logos/vectors/lxle.svg | 3 - font-logos/vectors/lxqt.svg | 4 - font-logos/vectors/mageia.svg | 43 ---- font-logos/vectors/mandriva.svg | 90 -------- font-logos/vectors/manjaro.svg | 47 ---- font-logos/vectors/mate.svg | 4 - font-logos/vectors/mpv.svg | 4 - font-logos/vectors/mxlinux.svg | 3 - font-logos/vectors/neovim.svg | 4 - font-logos/vectors/nixos.svg | 65 ------ font-logos/vectors/nobara.svg | 3 - font-logos/vectors/octoprint.svg | 4 - font-logos/vectors/openbsd.svg | 1 - font-logos/vectors/openscad.svg | 4 - font-logos/vectors/opensuse.svg | 51 ----- font-logos/vectors/osh.svg | 4 - font-logos/vectors/oshwa.svg | 4 - font-logos/vectors/osi.svg | 4 - font-logos/vectors/parabola.svg | 5 - font-logos/vectors/parrot.svg | 36 ---- font-logos/vectors/pop-os.svg | 38 ---- font-logos/vectors/postmarketos.svg | 4 - font-logos/vectors/prusaslicer.svg | 4 - font-logos/vectors/puppy.svg | 35 --- font-logos/vectors/qt.svg | 1 - font-logos/vectors/qtile.svg | 4 - font-logos/vectors/qubesos.svg | 3 - font-logos/vectors/raspberry-pi.svg | 1 - font-logos/vectors/redhat.svg | 41 ---- font-logos/vectors/reprap.svg | 4 - font-logos/vectors/riscv.svg | 4 - font-logos/vectors/river.svg | 3 - font-logos/vectors/rocky-linux.svg | 4 - font-logos/vectors/sabayon.svg | 32 --- font-logos/vectors/slackware-inverse.svg | 42 ---- font-logos/vectors/slackware.svg | 36 ---- font-logos/vectors/snappy.svg | 1 - font-logos/vectors/solus.svg | 39 ---- font-logos/vectors/sway.svg | 4 - font-logos/vectors/tails.svg | 3 - font-logos/vectors/thunderbird.svg | 4 - font-logos/vectors/tor.svg | 4 - font-logos/vectors/trisquel.svg | 4 - font-logos/vectors/tumbleweed.svg | 3 - font-logos/vectors/tux.svg | 1 - font-logos/vectors/typst.svg | 3 - font-logos/vectors/ubuntu-inverse.svg | 5 - font-logos/vectors/ubuntu.svg | 5 - font-logos/vectors/vanilla.svg | 4 - font-logos/vectors/void.svg | 100 --------- font-logos/vectors/vscodium.svg | 4 - font-logos/vectors/wayland.svg | 4 - font-logos/vectors/wikimedia.svg | 4 - font-logos/vectors/xerolinux.svg | 4 - font-logos/vectors/xfce.svg | 4 - font-logos/vectors/xmonad.svg | 4 - font-logos/vectors/xorg.svg | 4 - font-logos/vectors/zorin.svg | 34 --- font-logos/yarn.lock | 32 --- 154 files changed, 3577 deletions(-) delete mode 100644 font-logos/.github/workflows/release.yml delete mode 100644 font-logos/.github/workflows/release_npm.yml delete mode 100644 font-logos/.github/workflows/update-assets.yml delete mode 100644 font-logos/.github/workflows/update_readme.yml delete mode 100644 font-logos/.gitignore delete mode 100644 font-logos/LICENSE delete mode 100644 font-logos/Makefile delete mode 100644 font-logos/README.md delete mode 100644 font-logos/assets/README.md delete mode 100644 font-logos/assets/readme-header.png delete mode 100644 font-logos/icons.tsv delete mode 100644 font-logos/package-lock.json delete mode 100644 font-logos/package.json delete mode 100755 font-logos/scripts/create_nf_lib.sh delete mode 100644 font-logos/scripts/data.mjs delete mode 100644 font-logos/scripts/generate-font.py delete mode 100644 font-logos/scripts/generate-json.mjs delete mode 100644 font-logos/scripts/render-template.mjs delete mode 100644 font-logos/scripts/tsv.mjs delete mode 100644 font-logos/templates/README.md.njk delete mode 100644 font-logos/templates/assets/font-logos.css.njk delete mode 100644 font-logos/templates/assets/preview.html.njk delete mode 100644 font-logos/templates/assets/readme-header.html.njk delete mode 100644 font-logos/vectors/almalinux.svg delete mode 100644 font-logos/vectors/alpine.svg delete mode 100644 font-logos/vectors/aosc.svg delete mode 100644 font-logos/vectors/apple.svg delete mode 100644 font-logos/vectors/archcraft.svg delete mode 100644 font-logos/vectors/archlabs.svg delete mode 100644 font-logos/vectors/archlinux.svg delete mode 100644 font-logos/vectors/arcolinux.svg delete mode 100644 font-logos/vectors/arduino.svg delete mode 100644 font-logos/vectors/artix.svg delete mode 100644 font-logos/vectors/awesome.svg delete mode 100644 font-logos/vectors/biglinux.svg delete mode 100644 font-logos/vectors/bspwm.svg delete mode 100644 font-logos/vectors/budgie.svg delete mode 100644 font-logos/vectors/centos.svg delete mode 100644 font-logos/vectors/cinnamon.svg delete mode 100644 font-logos/vectors/codeberg.svg delete mode 100644 font-logos/vectors/coreos.svg delete mode 100644 font-logos/vectors/crystal.svg delete mode 100644 font-logos/vectors/debian.svg delete mode 100644 font-logos/vectors/deepin.svg delete mode 100644 font-logos/vectors/devuan.svg delete mode 100644 font-logos/vectors/docker.svg delete mode 100644 font-logos/vectors/dwm.svg delete mode 100644 font-logos/vectors/elementary.svg delete mode 100644 font-logos/vectors/endeavour.svg delete mode 100644 font-logos/vectors/enlightenment.svg delete mode 100644 font-logos/vectors/fdroid.svg delete mode 100644 font-logos/vectors/fedora-inverse.svg delete mode 100644 font-logos/vectors/fedora.svg delete mode 100644 font-logos/vectors/ferris.svg delete mode 100644 font-logos/vectors/flathub.svg delete mode 100644 font-logos/vectors/fluxbox.svg delete mode 100644 font-logos/vectors/forgejo.svg delete mode 100644 font-logos/vectors/fosdem.svg delete mode 100644 font-logos/vectors/freebsd.svg delete mode 100644 font-logos/vectors/freecad.svg delete mode 100644 font-logos/vectors/freedesktop.svg delete mode 100644 font-logos/vectors/garuda.svg delete mode 100644 font-logos/vectors/gentoo.svg delete mode 100644 font-logos/vectors/gimp.svg delete mode 100644 font-logos/vectors/gitea.svg delete mode 100644 font-logos/vectors/gnome.svg delete mode 100644 font-logos/vectors/gnu-guix.svg delete mode 100644 font-logos/vectors/gtk.svg delete mode 100644 font-logos/vectors/hyperbola.svg delete mode 100644 font-logos/vectors/hyprland.svg delete mode 100644 font-logos/vectors/i3.svg delete mode 100644 font-logos/vectors/illumos.svg delete mode 100644 font-logos/vectors/inkscape.svg delete mode 100644 font-logos/vectors/jwm.svg delete mode 100644 font-logos/vectors/kali-linux.svg delete mode 100644 font-logos/vectors/kde-neon.svg delete mode 100644 font-logos/vectors/kde-plasma.svg delete mode 100644 font-logos/vectors/kde.svg delete mode 100644 font-logos/vectors/kdenlive.svg delete mode 100644 font-logos/vectors/kicad.svg delete mode 100644 font-logos/vectors/krita.svg delete mode 100644 font-logos/vectors/kubuntu-inverse.svg delete mode 100644 font-logos/vectors/kubuntu.svg delete mode 100644 font-logos/vectors/leap.svg delete mode 100644 font-logos/vectors/libreoffice.svg delete mode 100644 font-logos/vectors/libreofficebase.svg delete mode 100644 font-logos/vectors/libreofficecalc.svg delete mode 100644 font-logos/vectors/libreofficedraw.svg delete mode 100644 font-logos/vectors/libreofficeimpress.svg delete mode 100644 font-logos/vectors/libreofficemath.svg delete mode 100644 font-logos/vectors/libreofficewriter.svg delete mode 100644 font-logos/vectors/linuxmint-inverse.svg delete mode 100644 font-logos/vectors/linuxmint.svg delete mode 100644 font-logos/vectors/locos.svg delete mode 100644 font-logos/vectors/lxde.svg delete mode 100644 font-logos/vectors/lxle.svg delete mode 100644 font-logos/vectors/lxqt.svg delete mode 100644 font-logos/vectors/mageia.svg delete mode 100644 font-logos/vectors/mandriva.svg delete mode 100644 font-logos/vectors/manjaro.svg delete mode 100644 font-logos/vectors/mate.svg delete mode 100644 font-logos/vectors/mpv.svg delete mode 100644 font-logos/vectors/mxlinux.svg delete mode 100644 font-logos/vectors/neovim.svg delete mode 100644 font-logos/vectors/nixos.svg delete mode 100644 font-logos/vectors/nobara.svg delete mode 100644 font-logos/vectors/octoprint.svg delete mode 100644 font-logos/vectors/openbsd.svg delete mode 100644 font-logos/vectors/openscad.svg delete mode 100644 font-logos/vectors/opensuse.svg delete mode 100644 font-logos/vectors/osh.svg delete mode 100644 font-logos/vectors/oshwa.svg delete mode 100644 font-logos/vectors/osi.svg delete mode 100644 font-logos/vectors/parabola.svg delete mode 100644 font-logos/vectors/parrot.svg delete mode 100644 font-logos/vectors/pop-os.svg delete mode 100644 font-logos/vectors/postmarketos.svg delete mode 100644 font-logos/vectors/prusaslicer.svg delete mode 100644 font-logos/vectors/puppy.svg delete mode 100644 font-logos/vectors/qt.svg delete mode 100644 font-logos/vectors/qtile.svg delete mode 100644 font-logos/vectors/qubesos.svg delete mode 100644 font-logos/vectors/raspberry-pi.svg delete mode 100644 font-logos/vectors/redhat.svg delete mode 100644 font-logos/vectors/reprap.svg delete mode 100644 font-logos/vectors/riscv.svg delete mode 100644 font-logos/vectors/river.svg delete mode 100644 font-logos/vectors/rocky-linux.svg delete mode 100644 font-logos/vectors/sabayon.svg delete mode 100644 font-logos/vectors/slackware-inverse.svg delete mode 100644 font-logos/vectors/slackware.svg delete mode 100644 font-logos/vectors/snappy.svg delete mode 100644 font-logos/vectors/solus.svg delete mode 100644 font-logos/vectors/sway.svg delete mode 100644 font-logos/vectors/tails.svg delete mode 100644 font-logos/vectors/thunderbird.svg delete mode 100644 font-logos/vectors/tor.svg delete mode 100644 font-logos/vectors/trisquel.svg delete mode 100644 font-logos/vectors/tumbleweed.svg delete mode 100644 font-logos/vectors/tux.svg delete mode 100644 font-logos/vectors/typst.svg delete mode 100644 font-logos/vectors/ubuntu-inverse.svg delete mode 100644 font-logos/vectors/ubuntu.svg delete mode 100644 font-logos/vectors/vanilla.svg delete mode 100644 font-logos/vectors/void.svg delete mode 100644 font-logos/vectors/vscodium.svg delete mode 100644 font-logos/vectors/wayland.svg delete mode 100644 font-logos/vectors/wikimedia.svg delete mode 100644 font-logos/vectors/xerolinux.svg delete mode 100644 font-logos/vectors/xfce.svg delete mode 100644 font-logos/vectors/xmonad.svg delete mode 100644 font-logos/vectors/xorg.svg delete mode 100644 font-logos/vectors/zorin.svg delete mode 100644 font-logos/yarn.lock diff --git a/font-logos/.github/workflows/release.yml b/font-logos/.github/workflows/release.yml deleted file mode 100644 index 08a58cf..0000000 --- a/font-logos/.github/workflows/release.yml +++ /dev/null @@ -1,69 +0,0 @@ -# This creates a Release Draft -# Adjust the release message in the web GUI and publish the release there. - -name: Draft a Release - -on: - workflow_dispatch: - -jobs: - setup-release-draft: - runs-on: ubuntu-latest - steps: - - name: Fetch repo - uses: actions/checkout@v4 - - - name: Fetch dependencies - run: | - sudo apt update -y -q - sudo apt install python3-fontforge jq nodejs wkhtmltopdf -y -q - npm install nunjucks - - # Ubuntu 20.04 has only fontforge release 2020, but there are some vital bugfixes in the 2023 release - # This can be replaced with the ordinary apt package when Ubuntu updates, probably with 23.10 - # On the other hand ... why not be on the latest release always? - - name: Fetch FontForge - run: | - sudo apt install fuse -y -q - curl -L "https://github.com/fontforge/fontforge/releases/download/20230101/FontForge-2023-01-01-a1dad3e-x86_64.AppImage" \ - --output fontforge - chmod u+x fontforge - echo Try appimage - ./fontforge --version - export PATH=`pwd`:$PATH - echo "PATH=$PATH" >> $GITHUB_ENV - echo Try appimage with path - fontforge --version - - - name: Determine version - id: rel_ver - run: | - REL_VERSION=$(jq -r '.version' package.json) - echo "Release version ${REL_VERSION}" - echo "ver=${REL_VERSION}" >> $GITHUB_OUTPUT - - - name: Create the assets - run: | - make - - - name: Crate archive - id: archive - run: | - make pack - ZIPFILE=$(ls font-logos-*zip ) - echo "ZIPFILE=${ZIPFILE}" - echo "filename=${ZIPFILE}" >> $GITHUB_OUTPUT - - - name: Adjust release tag - uses: EndBug/latest-tag@v1 - with: - ref: "v${{ steps.rel_ver.outputs.ver }}" - - - name: Create release draft - uses: softprops/action-gh-release@v2 - with: - draft: true - tag_name: "v${{ steps.rel_ver.outputs.ver }}" - files: | - ${{ steps.archive.outputs.filename }} - generate_release_notes: true diff --git a/font-logos/.github/workflows/release_npm.yml b/font-logos/.github/workflows/release_npm.yml deleted file mode 100644 index 4e52067..0000000 --- a/font-logos/.github/workflows/release_npm.yml +++ /dev/null @@ -1,69 +0,0 @@ -# This pushes out a new npm release -# It will be triggered once the release draft is published - -name: Publish release to npm - -on: - release: - types: - - released - workflow_dispatch: - -jobs: - npm-publish: - runs-on: ubuntu-latest - steps: - - name: Fetch repo - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Check if we are on correct commit - run: | - REL_VERSION=v$(jq -r '.version' package.json) - GIT_VERSION=$(git describe --tags) - echo "Release version ${REL_VERSION}" - echo "Git tag version ${GIT_VERSION}" - if [ "${REL_VERSION}" != "${GIT_VERSION}" ]; then \ - echo "This is probably not what you want"; \ - exit 1; \ - fi - - - name: Fetch dependencies - run: | - sudo apt update -y -q - sudo apt install python3-fontforge jq nodejs wkhtmltopdf -y -q - npm install nunjucks - - # Ubuntu 20.04 has only fontforge release 2020, but there are some vital bugfixes in the 2023 release - # This can be replaced with the ordinary apt package when Ubuntu updates, probably with 23.10 - # On the other hand ... why not be on the latest release always? - - name: Fetch FontForge - run: | - sudo apt install fuse -y -q - curl -L "https://github.com/fontforge/fontforge/releases/download/20230101/FontForge-2023-01-01-a1dad3e-x86_64.AppImage" \ - --output fontforge - chmod u+x fontforge - echo Try appimage - ./fontforge --version - export PATH=`pwd`:$PATH - echo "PATH=$PATH" >> $GITHUB_ENV - echo Try appimage with path - fontforge --version - - - name: Setup .npmrc file to publish to npm - uses: actions/setup-node@v4 - with: - node-version: '20.x' - registry-url: 'https://registry.npmjs.org' - - - name: Build the artifacts - run: | - npm ci - make - - - name: Publish to npm - run: | - npm publish - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/font-logos/.github/workflows/update-assets.yml b/font-logos/.github/workflows/update-assets.yml deleted file mode 100644 index 1f47b7e..0000000 --- a/font-logos/.github/workflows/update-assets.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Update assets - -on: - push: - branches: [ master ] - paths: - - icons.tsv - - vectors/* - workflow_dispatch: - -jobs: - update_assets: - runs-on: ubuntu-latest - steps: - - name: Fetch repo - uses: actions/checkout@v4 - - - name: Fetch dependencies - run: | - sudo apt update -y -q - sudo apt install jq nodejs wkhtmltopdf -y -q - npm install nunjucks - - # Ubuntu 20.04 has only fontforge release 2020, but there are some vital bugfixes in the 2023 release - # This can be replaced with the ordinary apt package when Ubuntu updates, probably with 23.10 - # On the other hand ... why not be on the latest release always? - - name: Fetch FontForge - run: | - sudo apt install fuse -y -q - curl -L "https://github.com/fontforge/fontforge/releases/download/20230101/FontForge-2023-01-01-a1dad3e-x86_64.AppImage" \ - --output fontforge - chmod u+x fontforge - echo Try appimage - ./fontforge --version - export PATH=`pwd`:$PATH - echo "PATH=$PATH" >> $GITHUB_ENV - echo Try appimage with path - fontforge --version - - - name: Create the assets - run: | - make - - - name: Commit preview image back to repo - uses: EndBug/add-and-commit@v9 - with: - add: 'assets/readme-header.png' - message: "[ci] Update preview image" - committer_name: GitHub Actions - committer_email: 41898282+github-actions[bot]@users.noreply.github.com - - - name: Deploy assets to gh-pages - uses: JamesIves/github-pages-deploy-action@v4 - with: - folder: assets - target-folder: assets - commit-message: "[ci] Update assets" - git-config-name: GitHub Actions - git-config-email: 41898282+github-actions[bot]@users.noreply.github.com - clean: false diff --git a/font-logos/.github/workflows/update_readme.yml b/font-logos/.github/workflows/update_readme.yml deleted file mode 100644 index ebd389b..0000000 --- a/font-logos/.github/workflows/update_readme.yml +++ /dev/null @@ -1,52 +0,0 @@ -# This creates and commits an updated readme -# It will be triggered once the release draft is published - -name: Update README - -on: - release: - types: - - released - workflow_dispatch: - -jobs: - update-readme: - runs-on: ubuntu-latest - steps: - - name: Fetch repo - uses: actions/checkout@v4 - - - name: Fetch dependencies - run: | - sudo apt update -y -q - sudo apt install python3-fontforge jq nodejs wkhtmltopdf -y -q - npm install nunjucks - - # Ubuntu 20.04 has only fontforge release 2020, but there are some vital bugfixes in the 2023 release - # This can be replaced with the ordinary apt package when Ubuntu updates, probably with 23.10 - # On the other hand ... why not be on the latest release always? - - name: Fetch FontForge - run: | - sudo apt install fuse -y -q - curl -L "https://github.com/fontforge/fontforge/releases/download/20230101/FontForge-2023-01-01-a1dad3e-x86_64.AppImage" \ - --output fontforge - chmod u+x fontforge - echo Try appimage - ./fontforge --version - export PATH=`pwd`:$PATH - echo "PATH=$PATH" >> $GITHUB_ENV - echo Try appimage with path - fontforge --version - - - name: Build the artifacts - run: | - npm ci - make - - - name: Commit new README back to repo - uses: EndBug/add-and-commit@v9 - with: - add: 'README.md' - message: "[ci] Update README.md" - committer_name: GitHub Actions - committer_email: 41898282+github-actions[bot]@users.noreply.github.com diff --git a/font-logos/.gitignore b/font-logos/.gitignore deleted file mode 100644 index 611a06f..0000000 --- a/font-logos/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -assets/* -!assets/readme-header.png -!assets/README.md -.fontcustom-manifest.json -*.zip -*.tgz -Gemfile.lock -node_modules diff --git a/font-logos/LICENSE b/font-logos/LICENSE deleted file mode 100644 index cf1ab25..0000000 --- a/font-logos/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to diff --git a/font-logos/Makefile b/font-logos/Makefile deleted file mode 100644 index 4efe057..0000000 --- a/font-logos/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -name := font-logos -dest := assets -out_json_ext := .out.json -font_exts := .ttf .woff .woff2 $(out_json_ext) -font_assets := $(foreach ext,$(font_exts),$(dest)/$(name)$(ext)) -json_file = $(dest)/$(name).json -version = $(shell jq -r .version package.json) - -START_CODEPOINT ?= 0xf300 -preview_width := 888 - -export START_CODEPOINT -export FONT_NAME=$(name) -export OUTPUT_DIR=$(dest) -export JSON_FILE=$(json_file) -export COPYRIGHT=Copyright (c) 2014-$(shell date '+%Y'), Lukas W -export VENDORURL=$(shell jq -r .homepage package.json) - -all_files=$(font_assets) $(dest)/$(name).css $(dest)/preview.html $(dest)/readme-header.png README.md - -.PHONY: all -all: $(all_files) - -.PHONY: pack -pack: $(dest)/$(name)-$(version).zip - -$(name)-$(version).tgz: $(all_files) - npm pack - -$(dest)/$(name)-$(version).zip: $(name)-$(version).tgz - $(eval dir := $(shell mktemp -d)) - npm pack - tar -xf $(name)-$(version).tgz -C $(dir) - cd $(dir) && \ - mv $(dir)/package $(dir)/$(name)-$(version) && \ - zip -r $(shell pwd)/$(name)-$(version).zip $(name)-$(version) - rm -r $(dir) - -.SECONDEXPANSION: - -$(json_file): scripts/generate-json.mjs icons.tsv package.json - node scripts/generate-json.mjs - -$(font_assets)&: scripts/generate-font.py icons.tsv $(shell find vectors) $(json_file) - if command -v fontforge; then \ - fontforge --script $(shell pwd)/$< ; \ - else \ - python $< ;\ - fi - -%: templates/$$*.njk icons.tsv scripts/render-template.mjs $(json_file) $(dest)/$(name)$(out_json_ext) - node scripts/render-template.mjs $< $@ - -$(dest)/readme-header.png: $(dest)/readme-header.html $(font_assets) $(dest)/font-logos.css - wkhtmltoimage --enable-local-file-access --width $(preview_width) --disable-smart-width $< $@ diff --git a/font-logos/README.md b/font-logos/README.md deleted file mode 100644 index 90fd4c8..0000000 --- a/font-logos/README.md +++ /dev/null @@ -1,202 +0,0 @@ -# font-logos # - -![Available logos](assets/readme-header.png) - -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. - - - -Alternatively just link to it using a CDN such as [jsDelivr](//jsdelivr.com): - - - -## Usage ## - -Include an icon using the corresponding CSS class in an empty element: - - - -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` | `` | `0xf31d` | | -| Alpine | `fl-alpine` | `` | `0xf300` | | -| AOSC OS | `fl-aosc` | `` | `0xf301` | | -| Apple | `fl-apple` | `` | `0xf302` | | -| Archcraft | `fl-archcraft` | `` | `0xf345` | | -| ArchLabs | `fl-archlabs` | `` | `0xf31e` | | -| Arch Linux | `fl-archlinux` | `` | `0xf303` | | -| ArcoLinux | `fl-arcolinux` | `` | `0xf346` | | -| Arduino | `fl-arduino` | `` | `0xf34b` | | -| Artix Linux | `fl-artix` | `` | `0xf31f` | | -| Awesome WM | `fl-awesome` | `` | `0xf354` | | -| BigLinux | `fl-biglinux` | `` | `0xf347` | | -| bspwm | `fl-bspwm` | `` | `0xf355` | | -| Budgie | `fl-budgie` | `` | `0xf320` | | -| CentOS | `fl-centos` | `` | `0xf304` | | -| Cinnamon | `fl-cinnamon` | `` | `0xf35f` | | -| Codeberg | `fl-codeberg` | `` | `0xf330` | | -| CoreOS | `fl-coreos` | `` | `0xf305` | | -| Crystal Linux | `fl-crystal` | `` | `0xf348` | | -| Debian | `fl-debian` | `` | `0xf306` | | -| Deepin | `fl-deepin` | `` | `0xf321` | | -| Devuan | `fl-devuan` | `` | `0xf307` | | -| Docker | `fl-docker` | `` | `0xf308` | | -| dwm | `fl-dwm` | `` | `0xf356` | | -| elementary OS | `fl-elementary` | `` | `0xf309` | | -| Endeavour OS | `fl-endeavour` | `` | `0xf322` | | -| Enlightenment | `fl-enlightenment` | `` | `0xf357` | | -| F-droid | `fl-fdroid` | `` | `0xf36a` | | -| Fedora | `fl-fedora` | `` | `0xf30a` | | -| Fedora (inverse) | `fl-fedora-inverse` | `` | `0xf30b` | | -| Ferris | `fl-ferris` | `` | `0xf323` | | -| Flathub | `fl-flathub` | `` | `0xf324` | | -| Fluxbox | `fl-fluxbox` | `` | `0xf358` | | -| Forgejo | `fl-forgejo` | `` | `0xf335` | | -| FOSDEM | `fl-fosdem` | `` | `0xf36b` | | -| FreeBSD | `fl-freebsd` | `` | `0xf30c` | | -| FreeCAD | `fl-freecad` | `` | `0xf336` | | -| freedesktop.org | `fl-freedesktop` | `` | `0xf360` | | -| Garuda Linux | `fl-garuda` | `` | `0xf337` | | -| Gentoo | `fl-gentoo` | `` | `0xf30d` | | -| GIMP | `fl-gimp` | `` | `0xf338` | | -| Gitea | `fl-gitea` | `` | `0xf339` | | -| GNOME | `fl-gnome` | `` | `0xf361` | | -| GNU Guix | `fl-gnu-guix` | `` | `0xf325` | | -| GTK | `fl-gtk` | `` | `0xf362` | | -| Hyperbola GNU/Linux-libre | `fl-hyperbola` | `` | `0xf33a` | | -| Hyprland | `fl-hyprland` | `` | `0xf359` | | -| i3 | `fl-i3` | `` | `0xf35a` | | -| illumos | `fl-illumos` | `` | `0xf326` | | -| Inkscape | `fl-inkscape` | `` | `0xf33b` | | -| JWM | `fl-jwm` | `` | `0xf35b` | | -| Kali Linux | `fl-kali-linux` | `` | `0xf327` | | -| KDE | `fl-kde` | `` | `0xf373` | | -| KDE Neon | `fl-kde-neon` | `` | `0xf331` | | -| KDE Plasma | `fl-kde-plasma` | `` | `0xf332` | | -| Kdenlive | `fl-kdenlive` | `` | `0xf33c` | | -| KiCad | `fl-kicad` | `` | `0xf34c` | | -| Krita | `fl-krita` | `` | `0xf33d` | | -| Kubuntu | `fl-kubuntu` | `` | `0xf333` | | -| Kubuntu (inverse) | `fl-kubuntu-inverse` | `` | `0xf334` | | -| openSUSE Leap | `fl-leap` | `` | `0xf37e` | | -| LibreOffice | `fl-libreoffice` | `` | `0xf376` | | -| LibreOffice Base | `fl-libreofficebase` | `` | `0xf377` | | -| LibreOffice Calc | `fl-libreofficecalc` | `` | `0xf378` | | -| LibreOffice Draw | `fl-libreofficedraw` | `` | `0xf379` | | -| LibreOffice Impress | `fl-libreofficeimpress` | `` | `0xf37a` | | -| LibreOffice Math | `fl-libreofficemath` | `` | `0xf37b` | | -| LibreOffice Writer | `fl-libreofficewriter` | `` | `0xf37c` | | -| Linux Mint | `fl-linuxmint` | `` | `0xf30e` | | -| Linux Mint (inverse) | `fl-linuxmint-inverse` | `` | `0xf30f` | | -| Loc-OS | `fl-locos` | `` | `0xf349` | | -| LXDE | `fl-lxde` | `` | `0xf363` | | -| LXLE Linux | `fl-lxle` | `` | `0xf33e` | | -| LXQt | `fl-lxqt` | `` | `0xf364` | | -| Mageia | `fl-mageia` | `` | `0xf310` | | -| Mandriva | `fl-mandriva` | `` | `0xf311` | | -| Manjaro | `fl-manjaro` | `` | `0xf312` | | -| MATE | `fl-mate` | `` | `0xf365` | | -| mpv | `fl-mpv` | `` | `0xf36e` | | -| MX Linux | `fl-mxlinux` | `` | `0xf33f` | | -| Neovim | `fl-neovim` | `` | `0xf36f` | | -| NixOS | `fl-nixos` | `` | `0xf313` | | -| Nobara Linux | `fl-nobara` | `` | `0xf380` | | -| Octoprint | `fl-octoprint` | `` | `0xf34d` | | -| OpenBSD | `fl-openbsd` | `` | `0xf328` | | -| OpenSCAD | `fl-openscad` | `` | `0xf34e` | | -| OpenSUSE | `fl-opensuse` | `` | `0xf314` | | -| OSH | `fl-osh` | `` | `0xf34f` | | -| OSHWA | `fl-oshwa` | `` | `0xf350` | | -| OSI | `fl-osi` | `` | `0xf36c` | | -| Parabola GNU/Linux-libre | `fl-parabola` | `` | `0xf340` | | -| Parrot OS | `fl-parrot` | `` | `0xf329` | | -| Pop!_OS | `fl-pop-os` | `` | `0xf32a` | | -| PostmarketOS | `fl-postmarketos` | `` | `0xf374` | | -| Prusa Slicer | `fl-prusaslicer` | `` | `0xf351` | | -| Puppy Linux | `fl-puppy` | `` | `0xf341` | | -| Qt | `fl-qt` | `` | `0xf375` | | -| Qtile | `fl-qtile` | `` | `0xf35c` | | -| QubesOS | `fl-qubesos` | `` | `0xf342` | | -| Raspberry pi | `fl-raspberry-pi` | `` | `0xf315` | | -| Red Hat | `fl-redhat` | `` | `0xf316` | | -| RepRap | `fl-reprap` | `` | `0xf352` | | -| RISC-V | `fl-riscv` | `` | `0xf353` | | -| River | `fl-river` | `` | `0xf381` | | -| Rocky Linux | `fl-rocky-linux` | `` | `0xf32b` | | -| Sabayon | `fl-sabayon` | `` | `0xf317` | | -| Slackware | `fl-slackware` | `` | `0xf318` | | -| Slackware (inverse) | `fl-slackware-inverse` | `` | `0xf319` | | -| Snappy | `fl-snappy` | `` | `0xf32c` | | -| Solus | `fl-solus` | `` | `0xf32d` | | -| Sway | `fl-sway` | `` | `0xf35d` | | -| Tails | `fl-tails` | `` | `0xf343` | | -| Thunderbird | `fl-thunderbird` | `` | `0xf370` | | -| Tor Browser | `fl-tor` | `` | `0xf371` | | -| Trisquel GNU/Linux | `fl-trisquel` | `` | `0xf344` | | -| openSUSE Tumbleweed | `fl-tumbleweed` | `` | `0xf37d` | | -| Tux | `fl-tux` | `` | `0xf31a` | | -| Typst | `fl-typst` | `` | `0xf37f` | | -| Ubuntu | `fl-ubuntu` | `` | `0xf31b` | | -| Ubuntu (inverse) | `fl-ubuntu-inverse` | `` | `0xf31c` | | -| Vanilla OS | `fl-vanilla` | `` | `0xf366` | | -| Void | `fl-void` | `` | `0xf32e` | | -| VS Codium | `fl-vscodium` | `` | `0xf372` | | -| Wayland | `fl-wayland` | `` | `0xf367` | | -| Wikimedia | `fl-wikimedia` | `` | `0xf36d` | | -| XeroLinux | `fl-xerolinux` | `` | `0xf34a` | | -| XFCE | `fl-xfce` | `` | `0xf368` | | -| Xmonad | `fl-xmonad` | `` | `0xf35e` | | -| Xorg | `fl-xorg` | `` | `0xf369` | | -| Zorin OS | `fl-zorin` | `` | `0xf32f` | | - -## Building ## - -Make sure you have the following dependencies installed: -* Node, Python and jq to run the build scripts -* [FontForge](//fontforge.org) to generate the fonts -* [wkhtmltopdf](http://wkhtmltopdf.org/) 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 `svg`s in `vectors/` - * The `icons.tsv` is ammended (i.e. new icons added at the bottom) -* Every time the `svg`s 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 to 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) - * Maybe the autotriggered workflow does not work, then manually trigger -* 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) - * `npm update` (and commit/push updates if there were any) - * `npm adduser` to log into npm with MFA - * `npm publish` diff --git a/font-logos/assets/README.md b/font-logos/assets/README.md deleted file mode 100644 index 39ac228..0000000 --- a/font-logos/assets/README.md +++ /dev/null @@ -1,4 +0,0 @@ -## Assets - -The assets are generated by a Github action. -Do not change anything here. diff --git a/font-logos/assets/readme-header.png b/font-logos/assets/readme-header.png deleted file mode 100644 index e2c490d87371aac2c1518310fca435f41aff517e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 900436 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 kJ#h8F8{7kb_h= 6" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/nunjucks": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", - "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", - "dev": true, - "dependencies": { - "a-sync-waterfall": "^1.0.0", - "asap": "^2.0.3", - "commander": "^5.1.0" - }, - "bin": { - "nunjucks-precompile": "bin/precompile" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "chokidar": "^3.3.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - } - } -} diff --git a/font-logos/package.json b/font-logos/package.json deleted file mode 100644 index 4a2cc69..0000000 --- a/font-logos/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "font-logos", - "description": "An icon font providing popular linux distros' logos", - "version": "1.3.0", - "style": "assets/font-logos.css", - "authors": [ - "Lukas W (https://github.com/Lukas-W)" - ], - "license": "Unlicense", - "homepage": "https://github.com/Lukas-W/font-logos", - "repository": { - "type": "git", - "url": "git+https://github.com/Lukas-W/font-logos.git" - }, - "scripts": { - "build": "make" - }, - "files": [ - "assets/font-logos.css", - "assets/font-logos.ttf", - "assets/font-logos.woff", - "assets/font-logos.woff2", - "vectors/*", - "README.md" - ], - "devDependencies": { - "lodash.merge": "^4.6.2", - "nunjucks": "^3.2.4" - } -} diff --git a/font-logos/scripts/create_nf_lib.sh b/font-logos/scripts/create_nf_lib.sh deleted file mode 100755 index e4379a9..0000000 --- a/font-logos/scripts/create_nf_lib.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -# Convert the icons.tsv file's data to Nerd Font lib's format -# to update their lib file with the new glyphs. -# Usage: ./create_nf_lib.sh -# Copy missing glyphs from the output to the -# /nerd-fonts/bin/scripts/lib/i_logos.sh file. - -# Get script directory to set file path relative to it -file_path="$( - cd -- "$(dirname "${0}")" >/dev/null 2>&1 || exit - pwd -P -)/../icons.tsv" - -# Read the tsv file excluding the header -sed '1d' "${file_path}" | while IFS=$'\t' read -r offset _ classname; do - # Calculate the codepoint, font-logos starts at 0xF300 - codepoint=$((0xF300 + offset)) - # Get the glyph from the codepoint - glyph=$(printf "\\u%x" "${codepoint}" 2>/dev/null) - # Print line using the Nerd Fonts lib's format - printf "i='%b' i_linux_%s=\$i\n" "${glyph}" "$(echo "${classname}" | tr '-' '_')" -done diff --git a/font-logos/scripts/data.mjs b/font-logos/scripts/data.mjs deleted file mode 100644 index f1035e6..0000000 --- a/font-logos/scripts/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -import fs from 'fs'; -export default JSON.parse( - fs.readFileSync(`${process.env.OUTPUT_DIR}/${process.env.FONT_NAME}.json`) -); diff --git a/font-logos/scripts/generate-font.py b/font-logos/scripts/generate-font.py deleted file mode 100644 index 51dc93d..0000000 --- a/font-logos/scripts/generate-font.py +++ /dev/null @@ -1,69 +0,0 @@ -import os -import sys -import tempfile -import json -import fontforge - -# Need to change working directory in case we run via AppImage -os.chdir(os.path.join(os.path.dirname(sys.argv[0]), '..')) - -autowidth = False -font_em = 512 -font_design_size = 16 -jsonfile = os.environ['JSON_FILE'] -fontname = os.environ['FONT_NAME'] -outputdir = os.environ['OUTPUT_DIR'] -vectorsdir = 'vectors' -start_codepoint = int(os.environ['START_CODEPOINT'], base=0) -design_px = font_em // font_design_size -outjsonfile = os.path.join(outputdir, fontname+'.out.json') -font = fontforge.font() -# font.encoding = 'UnicodeFull' -font.fontname = fontname -font.familyname = fontname -font.fullname = fontname -font.design_size = font_design_size -font.em = font_em -font.copyright = os.environ['COPYRIGHT'] - -# if autowidth: -# font.autoWidth(0, 0, font.em) -font.autoWidth(0, 0, font.em) - -# Add valid space glyph to avoid "unknown character" box on IE11 -glyph = font.createChar(32) -glyph.width = 200 - -outputInfo = { - 'em': font.em, - 'icons': {}, -} - -def addIcon(iconId, icon): - glyph = font.createChar(icon['codepoint'], icon['name']) - glyph.importOutlines( - os.path.join(vectorsdir, (iconId+'.svg')), - ) - glyph.left_side_bearing = 0 - glyph.right_side_bearing = 0 - - outputInfo['icons'][iconId] = { - 'width': glyph.width, - } - -with open(jsonfile) as f: - fontData = json.load(f) - -for iconId, icon in fontData['icons'].items(): - addIcon(iconId, icon) - -font.appendSFNTName("English (US)", "Version", fontData['version']['string']) -font.appendSFNTName("English (US)", "Vendor URL", os.environ['VENDORURL']) -font.version = fontData['version']['string'] - -font.generate(os.path.join(outputdir, fontname + '.ttf')) -font.generate(os.path.join(outputdir, fontname + '.woff')) -font.generate(os.path.join(outputdir, fontname + '.woff2')) - -with open(outjsonfile, 'w') as f: - json.dump(outputInfo, f, indent=2) diff --git a/font-logos/scripts/generate-json.mjs b/font-logos/scripts/generate-json.mjs deleted file mode 100644 index 19f68e9..0000000 --- a/font-logos/scripts/generate-json.mjs +++ /dev/null @@ -1,39 +0,0 @@ -import fs from 'node:fs/promises'; -import {tsvFileToObjects} from './tsv.mjs'; -const iconsFile = './icons.tsv'; - -async function getIcons() { - const startCodepoint = parseInt(process.env.START_CODEPOINT); - let icons = tsvFileToObjects(iconsFile, { - 'offset': parseInt, - 'scale': s => s.toLowerCase() === 'true', - }) - .map(r => ({...r, codepoint: startCodepoint + r.offset})) - .map(r => ({...r, variant: r.id.endsWith('-inverse')})) - .map(({id, ...r}) => [id, r]) - ; - icons = Object.fromEntries(icons); - return icons; -} - -async function readPackage() { - return JSON.parse(await fs.readFile('package.json')); -} - -const {version} = await readPackage(); -const [major, minor, patch] = version.match(/^(\d+)\.(\d+)\.(\d+)/).slice(1); - -const data = { - name: process.env.FONT_NAME, - version: { - string: version, - major, minor, patch, - stable: parseInt(major) > 0 ? major : `${major}.${minor}.${patch}`, - }, - icons: await getIcons(), -}; - -await fs.writeFile( - process.env.OUTPUT_DIR + '/' + process.env.FONT_NAME + '.json', - JSON.stringify(data, null, 2) -); diff --git a/font-logos/scripts/render-template.mjs b/font-logos/scripts/render-template.mjs deleted file mode 100644 index 406b5f7..0000000 --- a/font-logos/scripts/render-template.mjs +++ /dev/null @@ -1,32 +0,0 @@ -import fs from 'node:fs'; -import nunjucks from 'nunjucks'; -import font from './data.mjs'; -import merge from 'lodash.merge'; - -const [templateFile, outFile] = process.argv.slice(2); - -const outInfo = JSON.parse( - fs.readFileSync(`${process.env.OUTPUT_DIR}/${process.env.FONT_NAME}.out.json`)); - -const context = { - font: merge(font, outInfo), - classPrefix: 'fl-', - formats: [ - {name: 'woff', ext: 'woff'}, - {name: 'woff2', ext: 'woff2'}, - {name: 'truetype', ext: 'ttf'}, - ], - icons: font.icons, - uniqueIcons: Object.fromEntries(Object.entries(font.icons).filter(([,icon]) => !icon.variant)), -}; - -const env = new nunjucks.Environment(new nunjucks.FileSystemLoader(), { - throwOnUndefined: true, -}); -env.addFilter('keys', obj => Object.keys(obj)); -env.addFilter('values', obj => Object.values(obj)); -env.addFilter('column', (objs, col) => objs.map(o => o[col])); -env.addFilter('map', (array, fn) => array.map(fn)); -env.addFilter('maxLength', array => Math.max(...array.map(x => x.length))); - -fs.writeFileSync(outFile, env.render(templateFile, context)); diff --git a/font-logos/scripts/tsv.mjs b/font-logos/scripts/tsv.mjs deleted file mode 100644 index 4f467fb..0000000 --- a/font-logos/scripts/tsv.mjs +++ /dev/null @@ -1,30 +0,0 @@ -import fs from 'node:fs'; - -const I = x=>x; - -export function tsvFileToObjects(file, parsers) { - let [cols, ...rows] = fs.readFileSync(file, 'utf8') - .toString() - .split('\n') - .map(r => r - .split('\t') - // Allow for multiple \t between columns - .map(t => t.trim()) - .filter(I) - ) - // Remove empty rows - .filter(r => r.length) - ; - - // Sanity check rows - const invalidRows = rows.filter(r => r.length !== cols.length); - if (invalidRows.length) { - throw new Error(`Some rows have wrong number of columns:\n${invalidRows.join('\n')}`); - } - - return rows.map(r => Object.fromEntries( - cols.map( - (c, i) => [c, (parsers[c] || I)(r[i])] - ) - )); -} diff --git a/font-logos/templates/README.md.njk b/font-logos/templates/README.md.njk deleted file mode 100644 index 628a23e..0000000 --- a/font-logos/templates/README.md.njk +++ /dev/null @@ -1,82 +0,0 @@ -# {{ font.name }} # - -![Available logos](assets/readme-header.png) - -{{ font.name }} 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.name }} - -To use the font, include `assets/{{ font.name }}.css` as well as the -fonts in your project and use the CSS classes listed below. - - - -Alternatively just link to it using a CDN such as [jsDelivr](//jsdelivr.com): - - - -## Usage ## - -Include an icon using the corresponding CSS class in an empty element: - - - -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: - -{%- macro img(id) %}{% endmacro %} -{%- macro class(id) %}`fl-{{ id }}`{% endmacro %} -{%- macro code(id) %}``{% endmacro %} -{%- set ids = icons|keys|sort %} -{%- set nameW = icons|values|column('name')|maxLength %} -{%- set maxIdLength = ids|maxLength %} -{%- set imgW = maxIdLength + img("")|length %} -{%- set classW = maxIdLength + class("")|length %} -{%- set codeW = maxIdLength + code("")|length %} - -| {{ "Distribution"|center(nameW) }} | {{ "CSS class"|center(classW) }} | {{ "Code"|center(codeW) }} | Code point | {{ "Image"|center(imgW) }} | -| {{ "-".repeat(nameW) }} | {{ "-".repeat(classW) }} | {{ "-".repeat(codeW) }} | :--------: | :{{ "-".repeat(imgW-2) }}: | -{%- for id in ids %} -{%- set icon=icons[id] %} -| {{ icon.name.padEnd(nameW) }} | {{ class(id).padEnd(classW) }} | {{ code(id).padEnd(codeW)|safe }} | `0x{{ icon.codepoint.toString(16) }}` | {{ img(id).padEnd(imgW)|safe }} | -{%- endfor %} - -## Building ## - -Make sure you have the following dependencies installed: -* Node, Python and jq to run the build scripts -* [FontForge](//fontforge.org) to generate the fonts -* [wkhtmltopdf](http://wkhtmltopdf.org/) 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 `svg`s in `vectors/` - * The `icons.tsv` is ammended (i.e. new icons added at the bottom) -* Every time the `svg`s 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) diff --git a/font-logos/templates/assets/font-logos.css.njk b/font-logos/templates/assets/font-logos.css.njk deleted file mode 100644 index 3500670..0000000 --- a/font-logos/templates/assets/font-logos.css.njk +++ /dev/null @@ -1,43 +0,0 @@ -{% set fwClass = classPrefix+'fw' %} -@font-face { - font-display: auto; - font-family: "{{ font.name }}"; - font-style: normal; - font-weight: normal; - src: - {%- for format in formats -%} - url("{{ font.name }}.{{ format.ext }}?v={{ font.version.string|urlencode }}") format("{{ format.name }}"){% if not loop.last %},{% endif %} - {%- endfor -%} -} - -{% for id, icon in icons -%} -.{{ classPrefix }}{{ id }}::before{% if not loop.last %}, {% endif %} -{% endfor %} { - display: inline-block; - font-family: "{{ font.name }}"; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-rendering: auto; - line-height: 1; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - font-smoothing: antialiased; -} - -.{{ fwClass }} { - text-align: center; - width: 1em; -} - -{%- for id, icon in icons %} -.{{ classPrefix }}{{ id }}::before { - content: "\{{ icon.codepoint.toString(16) }}"; -} -{%- if icon.width > font.em %} -.{{ fwClass }}.{{ classPrefix }}{{ id }}::before { - font-size: {{ font.em/icon.width }}em; - line-height: {{ icon.width/font.em }}em; -} -{%- endif -%} -{%- endfor -%} diff --git a/font-logos/templates/assets/preview.html.njk b/font-logos/templates/assets/preview.html.njk deleted file mode 100644 index ebf2678..0000000 --- a/font-logos/templates/assets/preview.html.njk +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - {% set ids=icons|keys|sort %} - {% for id in ids %} - {% set icon=icons[id] %} - - - {% for size in [12,14,16,18,20,24,28,32,36,42,48,54] %} - - {% endfor %} - - {% endfor %} - -
fl-{{ id }} - - {{size}}px -
- diff --git a/font-logos/templates/assets/readme-header.html.njk b/font-logos/templates/assets/readme-header.html.njk deleted file mode 100644 index 35d51c3..0000000 --- a/font-logos/templates/assets/readme-header.html.njk +++ /dev/null @@ -1,37 +0,0 @@ - - -{% set icons = uniqueIcons %} {# Don't include variants (...-inverse) #} -{% set rows = 6 %} -{% set n = icons|length %} -{% set nPerRow = (n / rows) | round(0, "ceil") %} -{% set paddingPx = 5 %} -{% set widthPx = 888 %} {# Using GitHub's Readme width #} -{% set spacingPx = 2 * paddingPx %} -{% set totalSpacePx = spacingPx * (nPerRow - 1) %} -{% set iconWidthPx = (widthPx - totalSpacePx) / nPerRow %} - - - - -
- {% for id in icons|keys|sort %} - - {% endfor %} -
- diff --git a/font-logos/vectors/almalinux.svg b/font-logos/vectors/almalinux.svg deleted file mode 100644 index 5a6de18..0000000 --- a/font-logos/vectors/almalinux.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/font-logos/vectors/alpine.svg b/font-logos/vectors/alpine.svg deleted file mode 100644 index 065823c..0000000 --- a/font-logos/vectors/alpine.svg +++ /dev/null @@ -1,31 +0,0 @@ - -image/svg+xml \ No newline at end of file diff --git a/font-logos/vectors/aosc.svg b/font-logos/vectors/aosc.svg deleted file mode 100644 index e1849ea..0000000 --- a/font-logos/vectors/aosc.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - Logo of Anthon OS4 Project - - - - - image/svg+xml - - Logo of Anthon OS4 Project - - - Junde Yi - - - - - - - Jeff Bai, Icenowy Zheng, Junde Yi - - - - - Anthon Open Source Community - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/apple.svg b/font-logos/vectors/apple.svg deleted file mode 100644 index b0752d8..0000000 --- a/font-logos/vectors/apple.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/font-logos/vectors/archcraft.svg b/font-logos/vectors/archcraft.svg deleted file mode 100644 index 2f0d209..0000000 --- a/font-logos/vectors/archcraft.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/archlabs.svg b/font-logos/vectors/archlabs.svg deleted file mode 100644 index 1dabad7..0000000 --- a/font-logos/vectors/archlabs.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - diff --git a/font-logos/vectors/archlinux.svg b/font-logos/vectors/archlinux.svg deleted file mode 100644 index ab7f4cc..0000000 --- a/font-logos/vectors/archlinux.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - diff --git a/font-logos/vectors/arcolinux.svg b/font-logos/vectors/arcolinux.svg deleted file mode 100644 index 3a41c0a..0000000 --- a/font-logos/vectors/arcolinux.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/arduino.svg b/font-logos/vectors/arduino.svg deleted file mode 100644 index b026d95..0000000 --- a/font-logos/vectors/arduino.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/artix.svg b/font-logos/vectors/artix.svg deleted file mode 100644 index e4442c8..0000000 --- a/font-logos/vectors/artix.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - Artix Logo Signet B&W - - - - - - - image/svg+xml - - Artix Logo Signet B&W - - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/awesome.svg b/font-logos/vectors/awesome.svg deleted file mode 100644 index be93584..0000000 --- a/font-logos/vectors/awesome.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/biglinux.svg b/font-logos/vectors/biglinux.svg deleted file mode 100644 index df9b0ac..0000000 --- a/font-logos/vectors/biglinux.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/font-logos/vectors/bspwm.svg b/font-logos/vectors/bspwm.svg deleted file mode 100644 index 40d3eca..0000000 --- a/font-logos/vectors/bspwm.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/budgie.svg b/font-logos/vectors/budgie.svg deleted file mode 100644 index a438404..0000000 --- a/font-logos/vectors/budgie.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - diff --git a/font-logos/vectors/centos.svg b/font-logos/vectors/centos.svg deleted file mode 100644 index a52e487..0000000 --- a/font-logos/vectors/centos.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/cinnamon.svg b/font-logos/vectors/cinnamon.svg deleted file mode 100644 index 6f7580e..0000000 --- a/font-logos/vectors/cinnamon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/codeberg.svg b/font-logos/vectors/codeberg.svg deleted file mode 100644 index 635a393..0000000 --- a/font-logos/vectors/codeberg.svg +++ /dev/null @@ -1,118 +0,0 @@ - - - Codeberg logo special version - - - - - - - - image/svg+xml - - Codeberg logo special version - - - Robert Martinez - - - - Special single color version with fake halftone - 2020-04-09 - - - Codeberg and the Codeberg Logo are trademarks of Codeberg e.V. - - - codeberg.org - - - Codeberg e.V. - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/coreos.svg b/font-logos/vectors/coreos.svg deleted file mode 100644 index ab44b17..0000000 --- a/font-logos/vectors/coreos.svg +++ /dev/null @@ -1,23 +0,0 @@ - -image/svg+xml \ No newline at end of file diff --git a/font-logos/vectors/crystal.svg b/font-logos/vectors/crystal.svg deleted file mode 100644 index 6d7fba0..0000000 --- a/font-logos/vectors/crystal.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/font-logos/vectors/debian.svg b/font-logos/vectors/debian.svg deleted file mode 100644 index c289848..0000000 --- a/font-logos/vectors/debian.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - diff --git a/font-logos/vectors/deepin.svg b/font-logos/vectors/deepin.svg deleted file mode 100644 index 1b65c4d..0000000 --- a/font-logos/vectors/deepin.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/font-logos/vectors/devuan.svg b/font-logos/vectors/devuan.svg deleted file mode 100644 index d35a709..0000000 --- a/font-logos/vectors/devuan.svg +++ /dev/null @@ -1,22 +0,0 @@ - -image/svg+xml \ No newline at end of file diff --git a/font-logos/vectors/docker.svg b/font-logos/vectors/docker.svg deleted file mode 100644 index f3b53da..0000000 --- a/font-logos/vectors/docker.svg +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/dwm.svg b/font-logos/vectors/dwm.svg deleted file mode 100644 index 6e808f6..0000000 --- a/font-logos/vectors/dwm.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/elementary.svg b/font-logos/vectors/elementary.svg deleted file mode 100644 index 4d4eb63..0000000 --- a/font-logos/vectors/elementary.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - Gentoo Logo Dark v1.0 - - - - - image/svg+xml - - Gentoo Logo Dark v1.0 - 2011-06-03 - - - Sebastian Pipping <sping@gentoo.org> - - - - - Lennart Andre Rolland, Gentoo Foundation Inc. - - - - - Gentoo Foundation Inc. - - - - - Lennart Andre Rolland for original vector version, idea for dark version and specific RGB value by unknown person - - - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/endeavour.svg b/font-logos/vectors/endeavour.svg deleted file mode 100644 index fc0af6b..0000000 --- a/font-logos/vectors/endeavour.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/font-logos/vectors/enlightenment.svg b/font-logos/vectors/enlightenment.svg deleted file mode 100644 index 8609dcb..0000000 --- a/font-logos/vectors/enlightenment.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/fdroid.svg b/font-logos/vectors/fdroid.svg deleted file mode 100644 index 6156425..0000000 --- a/font-logos/vectors/fdroid.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/fedora-inverse.svg b/font-logos/vectors/fedora-inverse.svg deleted file mode 100644 index fa144a7..0000000 --- a/font-logos/vectors/fedora-inverse.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - image/svg+xml - - - - - - - diff --git a/font-logos/vectors/fedora.svg b/font-logos/vectors/fedora.svg deleted file mode 100644 index d3afbd1..0000000 --- a/font-logos/vectors/fedora.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - image/svg+xml - - - - - - - diff --git a/font-logos/vectors/ferris.svg b/font-logos/vectors/ferris.svg deleted file mode 100644 index f094d7b..0000000 --- a/font-logos/vectors/ferris.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - diff --git a/font-logos/vectors/flathub.svg b/font-logos/vectors/flathub.svg deleted file mode 100644 index 13cb1d0..0000000 --- a/font-logos/vectors/flathub.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/font-logos/vectors/fluxbox.svg b/font-logos/vectors/fluxbox.svg deleted file mode 100644 index 502ea10..0000000 --- a/font-logos/vectors/fluxbox.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/forgejo.svg b/font-logos/vectors/forgejo.svg deleted file mode 100644 index b339d3a..0000000 --- a/font-logos/vectors/forgejo.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/fosdem.svg b/font-logos/vectors/fosdem.svg deleted file mode 100644 index 2760b13..0000000 --- a/font-logos/vectors/fosdem.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/freebsd.svg b/font-logos/vectors/freebsd.svg deleted file mode 100644 index a4fa323..0000000 --- a/font-logos/vectors/freebsd.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/font-logos/vectors/freecad.svg b/font-logos/vectors/freecad.svg deleted file mode 100644 index d4201b8..0000000 --- a/font-logos/vectors/freecad.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/freedesktop.svg b/font-logos/vectors/freedesktop.svg deleted file mode 100644 index e23a375..0000000 --- a/font-logos/vectors/freedesktop.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/garuda.svg b/font-logos/vectors/garuda.svg deleted file mode 100644 index 9e07eea..0000000 --- a/font-logos/vectors/garuda.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/font-logos/vectors/gentoo.svg b/font-logos/vectors/gentoo.svg deleted file mode 100644 index c016852..0000000 --- a/font-logos/vectors/gentoo.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - Gentoo Logo Dark v1.0 - - - - - image/svg+xml - - Gentoo Logo Dark v1.0 - 2011-06-03 - - - Sebastian Pipping <sping@gentoo.org> - - - - - Lennart Andre Rolland, Gentoo Foundation Inc. - - - - - Gentoo Foundation Inc. - - - - - Lennart Andre Rolland for original vector version, idea for dark version and specific RGB value by unknown person - - - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/gimp.svg b/font-logos/vectors/gimp.svg deleted file mode 100644 index b553810..0000000 --- a/font-logos/vectors/gimp.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/font-logos/vectors/gitea.svg b/font-logos/vectors/gitea.svg deleted file mode 100644 index 7ffa46a..0000000 --- a/font-logos/vectors/gitea.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/gnome.svg b/font-logos/vectors/gnome.svg deleted file mode 100644 index e98efeb..0000000 --- a/font-logos/vectors/gnome.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/gnu-guix.svg b/font-logos/vectors/gnu-guix.svg deleted file mode 100644 index bf1ced3..0000000 --- a/font-logos/vectors/gnu-guix.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/font-logos/vectors/gtk.svg b/font-logos/vectors/gtk.svg deleted file mode 100644 index c30dc57..0000000 --- a/font-logos/vectors/gtk.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/hyperbola.svg b/font-logos/vectors/hyperbola.svg deleted file mode 100644 index aa25d88..0000000 --- a/font-logos/vectors/hyperbola.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/font-logos/vectors/hyprland.svg b/font-logos/vectors/hyprland.svg deleted file mode 100644 index 0b8d7c8..0000000 --- a/font-logos/vectors/hyprland.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/i3.svg b/font-logos/vectors/i3.svg deleted file mode 100644 index 28ac46a..0000000 --- a/font-logos/vectors/i3.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/illumos.svg b/font-logos/vectors/illumos.svg deleted file mode 100644 index e5b0471..0000000 --- a/font-logos/vectors/illumos.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/font-logos/vectors/inkscape.svg b/font-logos/vectors/inkscape.svg deleted file mode 100644 index 316313a..0000000 --- a/font-logos/vectors/inkscape.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/jwm.svg b/font-logos/vectors/jwm.svg deleted file mode 100644 index 1e41cbc..0000000 --- a/font-logos/vectors/jwm.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/kali-linux.svg b/font-logos/vectors/kali-linux.svg deleted file mode 100644 index abc6fdb..0000000 --- a/font-logos/vectors/kali-linux.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - diff --git a/font-logos/vectors/kde-neon.svg b/font-logos/vectors/kde-neon.svg deleted file mode 100644 index 5d00ef4..0000000 --- a/font-logos/vectors/kde-neon.svg +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/font-logos/vectors/kde-plasma.svg b/font-logos/vectors/kde-plasma.svg deleted file mode 100644 index eba179b..0000000 --- a/font-logos/vectors/kde-plasma.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - diff --git a/font-logos/vectors/kde.svg b/font-logos/vectors/kde.svg deleted file mode 100644 index ed6cdbc..0000000 --- a/font-logos/vectors/kde.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/kdenlive.svg b/font-logos/vectors/kdenlive.svg deleted file mode 100644 index 3b55be1..0000000 --- a/font-logos/vectors/kdenlive.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/kicad.svg b/font-logos/vectors/kicad.svg deleted file mode 100644 index 15c6926..0000000 --- a/font-logos/vectors/kicad.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/krita.svg b/font-logos/vectors/krita.svg deleted file mode 100644 index 0dcde56..0000000 --- a/font-logos/vectors/krita.svg +++ /dev/null @@ -1,4 +0,0 @@ - - Krita - - diff --git a/font-logos/vectors/kubuntu-inverse.svg b/font-logos/vectors/kubuntu-inverse.svg deleted file mode 100644 index b9bd108..0000000 --- a/font-logos/vectors/kubuntu-inverse.svg +++ /dev/null @@ -1,5 +0,0 @@ - -image/svg+xml - - - diff --git a/font-logos/vectors/kubuntu.svg b/font-logos/vectors/kubuntu.svg deleted file mode 100644 index 41ae832..0000000 --- a/font-logos/vectors/kubuntu.svg +++ /dev/null @@ -1,90 +0,0 @@ - -image/svg+xml - - - \ No newline at end of file diff --git a/font-logos/vectors/leap.svg b/font-logos/vectors/leap.svg deleted file mode 100644 index f53b320..0000000 --- a/font-logos/vectors/leap.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/libreoffice.svg b/font-logos/vectors/libreoffice.svg deleted file mode 100644 index 3f24de2..0000000 --- a/font-logos/vectors/libreoffice.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/libreofficebase.svg b/font-logos/vectors/libreofficebase.svg deleted file mode 100644 index dcccc5b..0000000 --- a/font-logos/vectors/libreofficebase.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/libreofficecalc.svg b/font-logos/vectors/libreofficecalc.svg deleted file mode 100644 index 3a6cb6f..0000000 --- a/font-logos/vectors/libreofficecalc.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/libreofficedraw.svg b/font-logos/vectors/libreofficedraw.svg deleted file mode 100644 index 0d7955c..0000000 --- a/font-logos/vectors/libreofficedraw.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/libreofficeimpress.svg b/font-logos/vectors/libreofficeimpress.svg deleted file mode 100644 index 0924f8a..0000000 --- a/font-logos/vectors/libreofficeimpress.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/libreofficemath.svg b/font-logos/vectors/libreofficemath.svg deleted file mode 100644 index 69fa51e..0000000 --- a/font-logos/vectors/libreofficemath.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/libreofficewriter.svg b/font-logos/vectors/libreofficewriter.svg deleted file mode 100644 index 38fec53..0000000 --- a/font-logos/vectors/libreofficewriter.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/linuxmint-inverse.svg b/font-logos/vectors/linuxmint-inverse.svg deleted file mode 100644 index 3814218..0000000 --- a/font-logos/vectors/linuxmint-inverse.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - image/svg+xml - - - - - - diff --git a/font-logos/vectors/linuxmint.svg b/font-logos/vectors/linuxmint.svg deleted file mode 100644 index 7d66484..0000000 --- a/font-logos/vectors/linuxmint.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/locos.svg b/font-logos/vectors/locos.svg deleted file mode 100644 index c25dc7d..0000000 --- a/font-logos/vectors/locos.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/lxde.svg b/font-logos/vectors/lxde.svg deleted file mode 100644 index 2ae3c35..0000000 --- a/font-logos/vectors/lxde.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/lxle.svg b/font-logos/vectors/lxle.svg deleted file mode 100644 index 4e10178..0000000 --- a/font-logos/vectors/lxle.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/lxqt.svg b/font-logos/vectors/lxqt.svg deleted file mode 100644 index fc724f1..0000000 --- a/font-logos/vectors/lxqt.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/mageia.svg b/font-logos/vectors/mageia.svg deleted file mode 100644 index 9c4f9e2..0000000 --- a/font-logos/vectors/mageia.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/font-logos/vectors/mandriva.svg b/font-logos/vectors/mandriva.svg deleted file mode 100644 index 72e5082..0000000 --- a/font-logos/vectors/mandriva.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/manjaro.svg b/font-logos/vectors/manjaro.svg deleted file mode 100644 index c091f05..0000000 --- a/font-logos/vectors/manjaro.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/font-logos/vectors/mate.svg b/font-logos/vectors/mate.svg deleted file mode 100644 index 4e7b2d7..0000000 --- a/font-logos/vectors/mate.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/mpv.svg b/font-logos/vectors/mpv.svg deleted file mode 100644 index 7c41d97..0000000 --- a/font-logos/vectors/mpv.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/mxlinux.svg b/font-logos/vectors/mxlinux.svg deleted file mode 100644 index 6e17bb3..0000000 --- a/font-logos/vectors/mxlinux.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/neovim.svg b/font-logos/vectors/neovim.svg deleted file mode 100644 index 028fe1c..0000000 --- a/font-logos/vectors/neovim.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/nixos.svg b/font-logos/vectors/nixos.svg deleted file mode 100644 index 2701ba9..0000000 --- a/font-logos/vectors/nixos.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/nobara.svg b/font-logos/vectors/nobara.svg deleted file mode 100644 index 194d6f1..0000000 --- a/font-logos/vectors/nobara.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/octoprint.svg b/font-logos/vectors/octoprint.svg deleted file mode 100644 index 04598c5..0000000 --- a/font-logos/vectors/octoprint.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/openbsd.svg b/font-logos/vectors/openbsd.svg deleted file mode 100644 index 7c4f557..0000000 --- a/font-logos/vectors/openbsd.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/font-logos/vectors/openscad.svg b/font-logos/vectors/openscad.svg deleted file mode 100644 index fc09c29..0000000 --- a/font-logos/vectors/openscad.svg +++ /dev/null @@ -1,4 +0,0 @@ - - file_type_openscad - - diff --git a/font-logos/vectors/opensuse.svg b/font-logos/vectors/opensuse.svg deleted file mode 100644 index 3b9b5b2..0000000 --- a/font-logos/vectors/opensuse.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/osh.svg b/font-logos/vectors/osh.svg deleted file mode 100644 index 1dd53ef..0000000 --- a/font-logos/vectors/osh.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/oshwa.svg b/font-logos/vectors/oshwa.svg deleted file mode 100644 index 9a8f13d..0000000 --- a/font-logos/vectors/oshwa.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/osi.svg b/font-logos/vectors/osi.svg deleted file mode 100644 index 1fc6070..0000000 --- a/font-logos/vectors/osi.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/parabola.svg b/font-logos/vectors/parabola.svg deleted file mode 100644 index 33a809c..0000000 --- a/font-logos/vectors/parabola.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - Parabola Official Icon (Default Color) - - diff --git a/font-logos/vectors/parrot.svg b/font-logos/vectors/parrot.svg deleted file mode 100644 index 28924a1..0000000 --- a/font-logos/vectors/parrot.svg +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - image/svg+xml - - - - - - diff --git a/font-logos/vectors/pop-os.svg b/font-logos/vectors/pop-os.svg deleted file mode 100644 index 9532361..0000000 --- a/font-logos/vectors/pop-os.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/font-logos/vectors/postmarketos.svg b/font-logos/vectors/postmarketos.svg deleted file mode 100644 index 78b4a54..0000000 --- a/font-logos/vectors/postmarketos.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/prusaslicer.svg b/font-logos/vectors/prusaslicer.svg deleted file mode 100644 index e9f8930..0000000 --- a/font-logos/vectors/prusaslicer.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/puppy.svg b/font-logos/vectors/puppy.svg deleted file mode 100644 index 78c279a..0000000 --- a/font-logos/vectors/puppy.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/qt.svg b/font-logos/vectors/qt.svg deleted file mode 100644 index 99353da..0000000 --- a/font-logos/vectors/qt.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/font-logos/vectors/qtile.svg b/font-logos/vectors/qtile.svg deleted file mode 100644 index d152563..0000000 --- a/font-logos/vectors/qtile.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/qubesos.svg b/font-logos/vectors/qubesos.svg deleted file mode 100644 index 46b3d7f..0000000 --- a/font-logos/vectors/qubesos.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/raspberry-pi.svg b/font-logos/vectors/raspberry-pi.svg deleted file mode 100644 index bf66c85..0000000 --- a/font-logos/vectors/raspberry-pi.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/font-logos/vectors/redhat.svg b/font-logos/vectors/redhat.svg deleted file mode 100644 index 649f585..0000000 --- a/font-logos/vectors/redhat.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/font-logos/vectors/reprap.svg b/font-logos/vectors/reprap.svg deleted file mode 100644 index 7f6d79b..0000000 --- a/font-logos/vectors/reprap.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/riscv.svg b/font-logos/vectors/riscv.svg deleted file mode 100644 index 6347553..0000000 --- a/font-logos/vectors/riscv.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/river.svg b/font-logos/vectors/river.svg deleted file mode 100644 index 809ad48..0000000 --- a/font-logos/vectors/river.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/rocky-linux.svg b/font-logos/vectors/rocky-linux.svg deleted file mode 100644 index a7fbecc..0000000 --- a/font-logos/vectors/rocky-linux.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/sabayon.svg b/font-logos/vectors/sabayon.svg deleted file mode 100644 index fa2ab23..0000000 --- a/font-logos/vectors/sabayon.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - diff --git a/font-logos/vectors/slackware-inverse.svg b/font-logos/vectors/slackware-inverse.svg deleted file mode 100644 index a0f9778..0000000 --- a/font-logos/vectors/slackware-inverse.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/font-logos/vectors/slackware.svg b/font-logos/vectors/slackware.svg deleted file mode 100644 index fe5e1be..0000000 --- a/font-logos/vectors/slackware.svg +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/font-logos/vectors/snappy.svg b/font-logos/vectors/snappy.svg deleted file mode 100644 index 90a6a7f..0000000 --- a/font-logos/vectors/snappy.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/font-logos/vectors/solus.svg b/font-logos/vectors/solus.svg deleted file mode 100644 index a1cf262..0000000 --- a/font-logos/vectors/solus.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/font-logos/vectors/sway.svg b/font-logos/vectors/sway.svg deleted file mode 100644 index 44dc6e7..0000000 --- a/font-logos/vectors/sway.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/tails.svg b/font-logos/vectors/tails.svg deleted file mode 100644 index 8be98b7..0000000 --- a/font-logos/vectors/tails.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/thunderbird.svg b/font-logos/vectors/thunderbird.svg deleted file mode 100644 index a55caf9..0000000 --- a/font-logos/vectors/thunderbird.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/tor.svg b/font-logos/vectors/tor.svg deleted file mode 100644 index 68ac3d3..0000000 --- a/font-logos/vectors/tor.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/trisquel.svg b/font-logos/vectors/trisquel.svg deleted file mode 100644 index be18000..0000000 --- a/font-logos/vectors/trisquel.svg +++ /dev/null @@ -1,4 +0,0 @@ - - Trisquel logo - - diff --git a/font-logos/vectors/tumbleweed.svg b/font-logos/vectors/tumbleweed.svg deleted file mode 100644 index 4f1c1da..0000000 --- a/font-logos/vectors/tumbleweed.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/tux.svg b/font-logos/vectors/tux.svg deleted file mode 100644 index 0051619..0000000 --- a/font-logos/vectors/tux.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/font-logos/vectors/typst.svg b/font-logos/vectors/typst.svg deleted file mode 100644 index 0dd32a8..0000000 --- a/font-logos/vectors/typst.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/font-logos/vectors/ubuntu-inverse.svg b/font-logos/vectors/ubuntu-inverse.svg deleted file mode 100644 index 38161c7..0000000 --- a/font-logos/vectors/ubuntu-inverse.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/font-logos/vectors/ubuntu.svg b/font-logos/vectors/ubuntu.svg deleted file mode 100644 index 84dfb51..0000000 --- a/font-logos/vectors/ubuntu.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/font-logos/vectors/vanilla.svg b/font-logos/vectors/vanilla.svg deleted file mode 100644 index a9205ea..0000000 --- a/font-logos/vectors/vanilla.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/void.svg b/font-logos/vectors/void.svg deleted file mode 100644 index a7a6447..0000000 --- a/font-logos/vectors/void.svg +++ /dev/null @@ -1,100 +0,0 @@ - - - - Logo of Anthon OS4 Project - - - - - image/svg+xml - - Logo of Anthon OS4 Project - - - Junde Yi - - - - - - - Jeff Bai, Icenowy Zheng, Junde Yi - - - - - Anthon Open Source Community - - - - - - - - - - - - - - - - - - diff --git a/font-logos/vectors/vscodium.svg b/font-logos/vectors/vscodium.svg deleted file mode 100644 index da4c32b..0000000 --- a/font-logos/vectors/vscodium.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/wayland.svg b/font-logos/vectors/wayland.svg deleted file mode 100644 index ee34f7b..0000000 --- a/font-logos/vectors/wayland.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/wikimedia.svg b/font-logos/vectors/wikimedia.svg deleted file mode 100644 index 31b1a11..0000000 --- a/font-logos/vectors/wikimedia.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/xerolinux.svg b/font-logos/vectors/xerolinux.svg deleted file mode 100644 index 184e988..0000000 --- a/font-logos/vectors/xerolinux.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/xfce.svg b/font-logos/vectors/xfce.svg deleted file mode 100644 index e071d98..0000000 --- a/font-logos/vectors/xfce.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/xmonad.svg b/font-logos/vectors/xmonad.svg deleted file mode 100644 index 27670d6..0000000 --- a/font-logos/vectors/xmonad.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/xorg.svg b/font-logos/vectors/xorg.svg deleted file mode 100644 index 50afae3..0000000 --- a/font-logos/vectors/xorg.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/font-logos/vectors/zorin.svg b/font-logos/vectors/zorin.svg deleted file mode 100644 index 0d280b7..0000000 --- a/font-logos/vectors/zorin.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - diff --git a/font-logos/yarn.lock b/font-logos/yarn.lock deleted file mode 100644 index c5ac624..0000000 --- a/font-logos/yarn.lock +++ /dev/null @@ -1,32 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -a-sync-waterfall@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz" - integrity sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA== - -asap@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -commander@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -nunjucks@^3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz" - integrity sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ== - dependencies: - a-sync-waterfall "^1.0.0" - asap "^2.0.3" - commander "^5.1.0"