| 
					
				 | 
			
			
				@@ -1,53 +1,66 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #!/bin/bash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+CURRENT_DIR="$(dirname "$0")" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 SOURCE_FILE=${1} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 TARGET_FILE=${2} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Check if source file is set 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if [[ "${SOURCE_FILE}" = "" ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo "Source file is not set" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    exit 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	echo "Source file is not set" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	exit 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Check if target file is set 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if [[ "${TARGET_FILE}" = "" ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # Try to generate from source file name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TARGET_FILE=$(echo "${SOURCE_FILE}" | sed 's/\.dev\.\(css\|js\)$/.\1/') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if [[ "${TARGET_FILE}" = "" ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo "Target file is not set" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        exit 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# Try to generate from source file name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	TARGET_FILE=$(echo "${SOURCE_FILE}" | sed 's/\.dev\.\(css\|js\)$/.\1/') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if [[ "${TARGET_FILE}" = "" ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		echo "Target file is not set" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		exit 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Check if source file exists 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if [[ ! -f "${SOURCE_FILE}" ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo "Source file does not exists: ${SOURCE_FILE}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    exit 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	echo "Source file does not exists: ${SOURCE_FILE}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	exit 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Re-create empty target file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if [[ -f "${TARGET_FILE}" ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    rm ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	rm ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 touch ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 IFS="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 while read line; do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if [[ ${line} == "/*"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if [[ ${line} == *"*/" ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if [[ ${line} == *"import("* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                FILE_TO_IMPORT=$(echo "${line}" | grep -oP "/*\s?import\(\K[^)]+") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                DATA_TO_IMPORT=$(curl -s "${FILE_TO_IMPORT}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                echo "${DATA_TO_IMPORT}" >> ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                echo "${line}" >> ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            echo "${line}" >> ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo "${line}" >> ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if [[ ${line} == "/*"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if [[ ${line} == *"*/" ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if [[ ${line} == *"import("* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				FILE_TO_IMPORT=$(echo "${line}" | grep -oP "/*\s?import\(\K[^)]+") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				CACHE_NAME=$(echo "${FILE_TO_IMPORT}" | md5sum | cut -f1 -d" ") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				CACHE_NAME=$(echo "${CACHE_NAME}-$(basename ${FILE_TO_IMPORT})") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				CACHE_FILE="${CURRENT_DIR}/.cache/${CACHE_NAME}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				DATA_TO_IMPORT="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if [[ ! -f "${CACHE_FILE}" ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					DATA_TO_IMPORT=$(curl -s "${FILE_TO_IMPORT}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					echo "${DATA_TO_IMPORT}" > ${CACHE_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					DATA_TO_IMPORT=$(cat ${CACHE_FILE}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				echo "${DATA_TO_IMPORT}" >> ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				echo "${line}" >> ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			echo "${line}" >> ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		echo "${line}" >> ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 done < ${SOURCE_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Minify target file (CSS, JS) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -55,5 +68,5 @@ done < ${SOURCE_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # sudo apt-get install yui-compressor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 CHECK_YUI_COMPRESSOR=$(command -v yui-compressor 2> /dev/null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if [[ "${CHECK_YUI_COMPRESSOR}" != "" ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    yui-compressor ${TARGET_FILE} -o ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	yui-compressor ${TARGET_FILE} -o ${TARGET_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 |