-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathfixAssets.sh
More file actions
105 lines (96 loc) · 2.78 KB
/
Copy pathfixAssets.sh
File metadata and controls
105 lines (96 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/bin/bash
shopt -s extglob
rm -rf build
mkdir -p build
cp -rp !(build) build/
sed -i 's^"assets^"qrc:///assets^g' build/index.html
minify build/index.html > build/index.min.html
mv build/index.min.html build/index.html
#mv build/index.html.min build/index.html
> build/shadow.qrc
IFS=$'\n'
MINIFY="
assets/plugins/framework/framework.js
assets/plugins/boostrapv3/js/bootstrap.js
assets/plugins/boostrapv3/css/bootstrap.css
assets/plugins/jquery-scrollbar/jquery.scrollbar.js
assets/plugins/markdown/markdown.js
assets/css/font-awesome-buttons.css
assets/css/framework-icons.css
assets/css/framework.css
assets/css/shadow.css
assets/js/navigation.js
assets/js/pages/send.js
assets/js/qrcode.js
assets/js/tooltip.js
assets/js/shadow.js
"
for file in $MINIFY
do
echo minify $file
filename=${file%.*}
extension=${file##*.}
minify "$file" > build/$filename.min.$extension
rm build/$file
sed -i 's^'$file'^'$filename.min.$extension'^' build/index.html
done
cd build
assets=`find assets/ -type f|sort`
cd ..
while read line
do
echo "$line" >> build/shadow.qrc
if [ "$line" == ' <qresource prefix="/">' ]
then
for asset in $assets
do
[[ $MINIFY =~ $asset ]] && continue
echo ' <file alias="'$asset'">src/qt/res/'$asset'</file>' >> build/shadow.qrc
done
fi
done < shadow.qrc
ALIASES=()
FILES=()
unset IFS
while read line
do
[ "$line" == '<qresource prefix="/">' ] && RES=true
[ "$line" == '</qresource>' ] && break
if [ "$RES" = true ]
then
line=`echo $line | sed 's^<file alias="\(.*\)">.*</file>^\1^'`
ALIASES+=(${line})
FILES+=("build/${line}")
fi
done < build/shadow.qrc
for index in ${!FILES[*]}
do
file=${FILES[$index]}
alias=${ALIASES[$index]}
if [[ $file == *".css" ]] && [ $(fgrep "url(" $file -l) ]
then
DIR=`dirname $alias`
PREVDIR=`dirname $DIR`
REPLACE=$(fgrep "url(" $file | grep -o 'url(['\''"]\?\([^'\''")]\+\)["'\'']\?)' | sed 's/url(\|["'\'']\|)//g'|sed 's/&/\\&/g')
for filename in $REPLACE
do
[[ $filename == "qrc:"* ]] && continue
if [[ $filename == "../"* ]]
then
replacement=`echo $filename|sed 's!^..!qrc:///'$PREVDIR'!'`
sed -i 's^url(['\''"]\?'$filename'['\''"]\?)^url('$replacement')^g' $file
else
replacement="qrc:///$DIR/$filename"
sed -i 's^url(['\''"]\?'$filename'['\''"]\?)^url('$replacement')^g' $file
#sed -i '
fi
done
echo $file
fi
if [[ $file == *".js" ]] && [ $(fgrep "assets" $file -l) ]
then
sed -i 's^\(assets/\(js\|icons\|img\|plugins\)\)^qrc:///\1^g' $file
sed -i 's^\./qrc:///^qrc:///^g' $file
echo $file
fi
done