mdb-ui-kit/custom-color-palette.sh

103 lines
2.9 KiB
Bash
Raw Normal View History

#!/bin/bash
# This script automates color customization bootstrap material design
# This script use "lessc", install first:
# npm install -g less
# author: @arturu
# author name: Pietro Arturo Panetta
# email: arturu@arturu.it
# license GLP3
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
# You should have received a copy of the GNU General Public License along with
# this program. If not, see http://www.gnu.org/licenses/gpl-3.0.html.
color=$1
tempFile="custom-color-palette.less"
pathOut="dist/custom"
# script settings
text_color_red="\e[0;31m"
text_color_green="\e[0;32m"
text_color_blue="\e[0;34m"
text_bold=`tput bold`
text_reset=`tput sgr0`
text_tag_error=$(echo -e ${text_color_red}${text_bold}[Error]${text_reset})
text_tag_success=$(echo -e ${text_color_green}${text_bold}[Success]${text_reset})
# end script settings
# check param
if [[ $color == "" ]]
then
echo -e "$text_tag_error missing param. Use:
./custom-color-palette.sh <color>
${text_color_green}./custom-color-palette.sd deep-purple${text_reset}
for color follow: http://www.google.com/design/spec/style/color.html#color-color-palette
Run the script in the root of material design packange"
exit
fi
# check if they are in the root of material design packange
if [ ! -f 'bower.json' ]
then
echo -e "$text_tag_error Run the script in the root of material design packange. Exit."
exit
fi
# read line packange name
linePackName=$(sed -n '2p' 'bower.json' | awk '{split($0,array,":")} END{print array[2]}' | sed -r 's/[", ]+//g')
if [[ $linePackName != 'bootstrap-material-design' ]]
then
echo -e "$text_tag_error It is not the right package. Exit."
exit
fi
# generate $tempFile
echo "@import \"less/material.less\";
// Override @primary color with one took from _colors.less
// http://www.google.com/design/spec/style/color.html#color-color-palette
@primary: @$color;
" > $tempFile
# check $tempFile
if [ ! -f $tempFile ]
then
echo -e "$text_tag_error $tempFile not writed. Exit."
exit
fi
echo -e "$text_color_green Compiling material design... $text_reset"
# check $pathOut
if [ ! -d $pathOut ]
then
mkdir $pathOut
fi
# compiling
lessc -x $tempFile > $pathOut/$color.css
# check file $color.css
if [ ! -f $pathOut/$color.css ]
then
echo -e "$text_tag_error ${text_color_blue}$pathOut/$color.css${text_reset} not writed"
exit
fi
# remove temp file
yes | rm $tempFile
#end message
echo -e "$text_tag_success Use ${text_color_blue}$pathOut/$color.css${text_reset} instead of dist/css/material.css"