72 lines
2.5 KiB
Bash
Executable File
72 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# This script is needed to update MDI to latest and install it in such a way that it works with Iconic.
|
|
# Just run this script and it should handle everything.
|
|
# You do need enough of a Python environment setup to be able to pip install things.
|
|
|
|
set -euo pipefail
|
|
|
|
pushd `dirname $0` >/dev/null
|
|
|
|
# helper tool
|
|
FONT_RENAME_COMMIT=77734a1a165d25c8c83b2201c15e268da4a107b6
|
|
|
|
# updating this requires re-executing swiftgen to pick up the new names
|
|
# failing to keep the MDI and SVG versions in-sync will produce problems, as we use the SVG's JSON for codepoints
|
|
MDI_COMMIT=081279cbda3e72e34a2c2a445a4a92dffa1e0314
|
|
SVG_COMMIT=d022f3ecd4bf33d588b145dd59bb11eac7a23c46
|
|
MDI_VERSION=7.1.96
|
|
|
|
echo "Checking for latest..."
|
|
|
|
LATEST=$(curl --silent https://api.github.com/repos/Templarian/MaterialDesign-Webfont/tags | sed -n -e 's/.*"name": "v\([^"]*\)".*/\1/p' | head -1)
|
|
echo "Latest available: $LATEST; latest supported: $MDI_VERSION"
|
|
|
|
if [[
|
|
-f MaterialDesignIcons.ttf && \
|
|
-f MaterialDesignIcons-$MDI_VERSION.ttf && \
|
|
-f MaterialDesignIcons.json && \
|
|
-f MaterialDesignIcons-$MDI_VERSION.json ]]; then
|
|
if [ $LATEST != $MDI_VERSION ]; then
|
|
echo "Out of date, but latest supported installed"
|
|
else
|
|
echo "Up-to-date"
|
|
fi
|
|
exit
|
|
fi
|
|
|
|
echo "Ensuring fonttools is installed via pip..."
|
|
pip3 install --user fonttools
|
|
|
|
if [ ! -f fontname-$FONT_RENAME_COMMIT.py ]; then
|
|
echo "Downloading the fontname script..."
|
|
curl -O --silent https://raw.githubusercontent.com/chrissimpkins/fontname.py/77734a1a165d25c8c83b2201c15e268da4a107b6/fontname.py >fontname-$FONT_RENAME_COMMIT.py
|
|
else
|
|
echo "fontname.py is already downloaded"
|
|
fi
|
|
|
|
echo "Downloading the latest MaterialDesignIcons TTF..."
|
|
curl -O --silent https://raw.githubusercontent.com/Templarian/MaterialDesign-Webfont/$MDI_COMMIT/fonts/materialdesignicons-webfont.ttf
|
|
|
|
echo "Downloading the latest MaterialDesignIcons JSON..."
|
|
curl -O --silent https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/$SVG_COMMIT/meta.json
|
|
|
|
echo "Renaming raw files..."
|
|
mv materialdesignicons-webfont.ttf MaterialDesignIcons-$MDI_VERSION.ttf
|
|
mv meta.json MaterialDesignIcons-$MDI_VERSION.json
|
|
|
|
echo "Changing font name..."
|
|
python3 fontname-$FONT_RENAME_COMMIT.py MaterialDesignIcons MaterialDesignIcons-$MDI_VERSION.ttf
|
|
|
|
echo "Creating links..."
|
|
ln -f MaterialDesignIcons-$MDI_VERSION.ttf MaterialDesignIcons.ttf
|
|
ln -f MaterialDesignIcons-$MDI_VERSION.json MaterialDesignIcons.json
|
|
|
|
echo "Successfully built MaterialDesignIcons at version $MDI_VERSION"
|
|
echo "Running Swiftgen..."
|
|
|
|
pushd ..
|
|
Pods/SwiftGen/bin/swiftgen
|
|
popd
|
|
|
|
popd
|