parent
083eb4a9b3
commit
e42407ad62
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
||||
/out/ |
Binary file not shown.
Binary file not shown.
@ -0,0 +1,90 @@ |
||||
#!/bin/bash |
||||
|
||||
# resolve current file's directory |
||||
DIR=$(dirname $(realpath $0)) |
||||
|
||||
OUTPUT_DIR="$DIR/out" |
||||
SASS_DIR="$DIR/../sass" |
||||
|
||||
ICON_PREFIX='icn' |
||||
|
||||
# list with full paths, sort from newest |
||||
NEWEST=$(ls -dt1 "$DIR"/*.zip | head -1) |
||||
|
||||
if [[ -z "$NEWEST" ]]; then |
||||
echo "Fontello zip not found." |
||||
exit 1 |
||||
fi |
||||
|
||||
# Clean the output folder |
||||
rm -rf "$OUTPUT_DIR" |
||||
mkdir -p "$OUTPUT_DIR" |
||||
|
||||
echo "Unpacking fontello..." |
||||
|
||||
unzip -ju "$NEWEST" -d "$OUTPUT_DIR" |
||||
|
||||
echo "Patching paths in the fontello CSS..." |
||||
|
||||
# Fix bad relative paths in the CSS |
||||
sed -i "s|\.\./font/|/fonts/|g" "$OUTPUT_DIR/"*.css |
||||
|
||||
echo "Generating SASS file with icon codes..." |
||||
|
||||
SASSFILE="$SASS_DIR/_fontello.scss" |
||||
|
||||
echo -e "@charset \"UTF-8\";\n\n/* Fontello data, processed by the unpack script. */\n" > "$SASSFILE" |
||||
|
||||
# Extract the base font-face style |
||||
#grep -Pazo "(?s)@font-face.*?normal;\n\}" "$OUTPUT_DIR/fontello.css" \ |
||||
# | sed 's/\x0//g' >> "$SASSFILE" |
||||
|
||||
grep -Pazo "(?s)@font-face \{\n\s*font-family: 'fontello';\n\s*src: url\('data.*?truetype'\);\n\}" "$OUTPUT_DIR/fontello-embedded.css" \ |
||||
| sed 's/\x0//g' >> "$SASSFILE" |
||||
|
||||
grep -Pazo "(?s)$ICON_PREFIX-\"\]:before .*?\}" "$OUTPUT_DIR/fontello.css" \ |
||||
| sed 's/\x0//g' \ |
||||
| sed "s/$ICON_PREFIX-\"\]:before/\n\n%fontello-icon-base \{\n\&::before /g" \ |
||||
>> "$SASSFILE" |
||||
echo -e "\n}" >> "$SASSFILE" |
||||
|
||||
echo -e "\n\n/* Fontello icon codes */" >> "$SASSFILE" |
||||
echo -n "\$icon-codes: (" >> "$SASSFILE" |
||||
sed -r "s|\.$ICON_PREFIX-([a-z0-9-]+):before \{ content: ('.*?');.*?$|\t\1: \2,|g" "$OUTPUT_DIR/fontello-codes.css" \ |
||||
| sed -r "s|@.*||g" >> "$SASSFILE" |
||||
|
||||
echo -ne "\n);\n" >> "$SASSFILE" |
||||
|
||||
echo -ne "\n/* Fontello classes */" >> "$SASSFILE" |
||||
cat "$OUTPUT_DIR/fontello-codes.css" \ |
||||
| sed -r 's/\/\*.+\*\///g' \ |
||||
| sed -r "s|@.*||g" \ |
||||
| sed 's/:before/::before/g' >> "$SASSFILE" |
||||
|
||||
TAIL=$(cat <<ASDF |
||||
|
||||
|
||||
[class^="$ICON_PREFIX-"], [class*=" $ICON_PREFIX-"] { |
||||
@extend %fontello-icon-base; |
||||
} |
||||
|
||||
@mixin icon-base() { |
||||
@extend %fontello-icon-base; |
||||
} |
||||
|
||||
@mixin icon-content(\$icon-name) { |
||||
&::before { |
||||
content: map-get(\$icon-codes, \$icon-name); |
||||
} |
||||
} |
||||
|
||||
@mixin icon(\$icon-name) { |
||||
@include icon-base(); |
||||
@include icon-content(\icon-name); |
||||
} |
||||
ASDF |
||||
) |
||||
|
||||
echo "$TAIL" >> "$SASSFILE" |
||||
|
||||
echo -e "\e[32mFontello ready\e[0m" |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue