2121# SOFTWARE.
2222
2323# Modify Deployment
24+
2425if [ -d " deploy/_just" ]; then
25- echo " Error: Your website have _just directory in the root. Please remove it to proceed." >&2
26+ echo " Error: Your website has a _just directory in the root. Please remove it to proceed." >&2
2627 exit 1
2728fi
29+
2830mkdir -p deploy/_just/
29- FILE_ID=1
3031echo -e " \n----------------\n\n_just Chunks:\n"
32+
33+ # Merging logic
34+ merged_file=" deploy/_just/merged.js"
35+ > " $merged_file "
36+ for file in _just/js/* ; do
37+ file_size=$( stat -c%s " $file " )
38+ if [[ $file_size -gt 51200 ]]; then # Check if file is greater than 50KB
39+ cat " $file " >> " $merged_file "
40+ echo -e " \n" >> " $merged_file " # Add new line after each file
41+ fi
42+ done
43+
44+ # Check if merged file is less than 128KB
45+ while [[ $( stat -c%s " $merged_file " ) -lt 131072 ]]; do
46+ largest_file=$( ls -S " $merged_file " | head -n 1) # Get the largest file
47+ sed -i " /$( basename " $largest_file " ) /d" " $merged_file " # Remove the largest file from merged file
48+ done
49+
50+ # Move unmerged files to _just/js/
3151for file in _just/js/* ; do
52+ first_line=$( head -n 1 " $file " )
53+ if [[ $first_line == " // _just ignore" * ]]; then
54+ continue
55+ fi
56+ if [[ ! -f " $merged_file " || $( stat -c%s " $merged_file " ) -lt 131072 ]]; then
57+ cp " $file " " _just/js/$( basename " $file " ) " # Keep unmerged files
58+ fi
59+ done
60+
61+ # Move js files to deploy/_just/
62+ FILE_ID=1
63+ for file in _just/js/* ; do
64+ first_line=$( head -n 1 " $file " )
65+ if [[ $first_line == " // _just ignore" * ]]; then
66+ continue
67+ fi
3268 cp " $file " " deploy/_just/${FILE_ID} .js"
3369 echo " _just/${FILE_ID} .js"
3470 FILE_ID=$(( FILE_ID + 1 ))
3571done
72+
73+ # Move css files to deploy/_just/
3674FILE_ID=1
3775for file in _just/style/* ; do
3876 cp " $file " " deploy/_just/${FILE_ID} .css"
3977 echo " _just/${FILE_ID} .css"
4078 FILE_ID=$(( FILE_ID + 1 ))
4179done
80+
4281echo -e " \nEnd _just Chunks\n"
4382echo -e " ----------------\n"
4483echo -e " \n----------------\n\nDangerously Inserted Files:\n"
45- for file in _just/dangerously-insert-files/* ; do
46- cp " $file " " deploy/$( basename " $file " ) "
47- echo " $( basename " $file " ) "
84+
85+ # Dangerously insert files
86+ find _just/dangerously-insert-files/ -type f | while read -r file; do
87+ target_dir=" deploy/$( dirname " $file " | sed ' s|_just/dangerously-insert-files/||' ) "
88+ mkdir -p " $target_dir "
89+ if [ -f " $target_dir /$( basename " $file " ) " ]; then
90+ echo " Warning: Failed to insert file \" $target_dir /$( basename " $file " ) \" ."
91+ fi
92+ if [ ! -f " deploy/404.html" ]; then
93+ cp " $file " " $target_dir /$( basename " $file " ) "
94+ echo " $target_dir /$( basename " $file " ) "
95+ fi
4896done
97+
4998echo -e " \nEnd Dangerously Inserted Files\n"
50- echo -e " ----------------\n"
99+ echo -e " ----------------\n"
0 commit comments