#!/bin/bash # version: 1.2.0 # Generates CSS file for the font source ./lib/i_all.sh output_css_file="../../css/nerd-fonts-generated.css" header_css_file="./css-header.txt" output_cheat_sheet_file="../../temp/nerd-fonts-generated-cheat-sheet.txt" LINE_PREFIX="# [Nerd Fonts] " version="1.2.0" # clear files > "$output_css_file" 2> /dev/null > "$output_cheat_sheet_file" 2> /dev/null # describe how the classes were established { printf "/*\n" printf " *%s Website: https://www.nerdfonts.com\n" "$LINE_PREFIX" printf " *%s Development Website: https://github.com/ryanoasis/nerd-fonts\n" "$LINE_PREFIX" printf " *%s Version: %s\n" "$LINE_PREFIX" "$version" printf " *%s The following is generated from the build script\n" "$LINE_PREFIX" printf " */\n\n" # add top section of CSS cat $header_css_file } >> "$output_css_file" echo; for var in "${!i@}"; do # trim 'i_' prefix glyph_name=${var#*_} # replace _ with - glyph_name=${glyph_name/_/-} glyph_char=${!var} glyph_code=$(printf "%x" "'$glyph_char'") #echo "$var=${!var}" echo "$glyph_name" echo "$glyph_char" echo "$glyph_code" #printf "%x" "'$glyph_char'" # generate css rules { printf ".nf-%s:before, .nerd-font-%s:before, .nerd-fonts-%s:before {" "$glyph_name" "$glyph_name" "$glyph_name" printf "\n" printf " content: \"\%s\";" "$glyph_code" printf "\n" printf "}" printf "\n" } >> "$output_css_file" # generate HTML cheat sheet { printf "
" printf "\n" printf "
" "$glyph_name" printf "\n" printf " nf-%s
(%s)
" "$glyph_name" "$glyph_code" printf "\n" printf "
" printf "\n" } >> "$output_cheat_sheet_file" done printf "Generated CSS and Cheat Sheet HTML\n"