- Update [@ibm/plex-sans@1.0.0](https://github.com/IBM/plex/releases/tag/%40ibm/plex-sans%401.0.0) - Update [@ibm/plex-mono@1.0.0](https://github.com/IBM/plex/releases/tag/%40ibm/plex-mono%401.0.0) ``` ca403c56931baef307d20ba64b69acb71abcad61f75e66414661d57484b690ec ibm-plex-mono/IBMPlexMono-Bold.ttf 0e45a5a540992163229d2a29662553f313fab391757ca2ab3dc8f4e0d9be0979 ibm-plex-mono/IBMPlexMono-BoldItalic.ttf 8ebe04c8c6cc82f0be19896ddc61d9935cdd0f027b0173c1945b8d247d7dfc2a ibm-plex-mono/IBMPlexMono-Italic.ttf fe11304a5fe956d5744e9b6a246cc83d90425245e75a62230044966ca96a7f50 ibm-plex-mono/IBMPlexMono-Regular.ttf 9e6c74a889a700d707613d24548fe4ffa6bc59559a0689d2cf9e133bdcdafb2f ibm-plex-sans/IBMPlexSans-Bold.ttf 0e3142ba2ef31fe5c02f0c6c36424f251609cd6b73880076e21c2e81931ba2b9 ibm-plex-sans/IBMPlexSans-BoldItalic.ttf a9c6ef9942c49e49d11e11a6dacc0b3a087978757e9b22a06b8ac22a6400fb15 ibm-plex-sans/IBMPlexSans-Italic.ttf 975dcda37d80f038dcd143c22e33ca2d97a0cc5a929aace1c749153b0fe1afa5 ibm-plex-sans/IBMPlexSans-Regular.ttf ```
56 lines
1.9 KiB
Bash
Executable File
56 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
REPO="https://github.com/IBM/plex"
|
|
ASSET_FONTS_DIR="assets/fonts"
|
|
FONT_NAMES=("plex-sans" "plex-mono")
|
|
FILENAMES=("IBMPlexSans" "IBMPlexMono")
|
|
STYLES=("Regular" "Italic" "Bold" "BoldItalic")
|
|
|
|
run_else() { $1 >/dev/null 2>&1 || { echo "$2"; exit 1; }; }
|
|
|
|
run_else "gh" "gh CLI missing"
|
|
run_else "which unzip" "unzip CLI missing"
|
|
run_else "gh auth status" "run: gh auth login"
|
|
run_else "ls ${ASSET_FONTS_DIR}" "Not in repo root. Run from repo root."
|
|
|
|
pushd "${ASSET_FONTS_DIR}"
|
|
|
|
for i in $(seq 0 $((${#FONT_NAMES[@]} - 1))); do
|
|
font="${FONT_NAMES[$i]}"
|
|
filename="${FILENAMES[$i]}"
|
|
tagName=$(gh release list \
|
|
--repo "$REPO" \
|
|
--json tagName,createdAt,isDraft,isPrerelease \
|
|
--jq '
|
|
[.[] | select(.tagName | startswith("'"@ibm/$font"'@"))
|
|
| select(.isDraft == false and .isPrerelease == false)
|
|
| {tagName, createdAt}]
|
|
| sort_by(.tagName | split("@")[2] | split(".") | map(tonumber))
|
|
| reverse
|
|
| first
|
|
| .tagName
|
|
')
|
|
releaseDate=$(gh api /repos/IBM/plex/releases/tags/"$tagName" --jq '.published_at[:10]')
|
|
releaseUrl=$(gh api /repos/IBM/plex/releases/tags/"$tagName" --jq '.html_url')
|
|
echo "- Update [${tagName}](${releaseUrl})"
|
|
zipFileName=$(gh api /repos/IBM/plex/releases/tags/"$tagName" --jq '.assets[].name | select(endswith(".zip"))')
|
|
gh release download "$tagName" \
|
|
--repo https://github.com/IBM/plex \
|
|
--clobber \
|
|
--pattern "$zipFileName"
|
|
|
|
prefix="ibm-${font}/fonts/complete/ttf"
|
|
out_dir="ibm-${font}"
|
|
files_to_extract="$prefix/license.txt"
|
|
for style in "${STYLES[@]}"; do
|
|
files_to_extract+=" $prefix/${filename}-$style.ttf"
|
|
done
|
|
unzip -q -o -j "$zipFileName" $files_to_extract -d $out_dir
|
|
rm "$zipFileName"
|
|
done
|
|
echo
|
|
echo "\`\`\`"
|
|
shasum -a 256 */*.ttf
|
|
echo "\`\`\`"
|