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