| 
									
										
										
										
											2016-04-27 14:21:12 +02:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-18 07:08:49 -04:00
										 |  |  | neochan="no" | 
					
						
							|  |  |  | if [ "$1" == "--enable-neochan" ] ; then | 
					
						
							|  |  |  |     neochan="yes" | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-02 23:30:03 +02:00
										 |  |  | root=$(readlink -e "$(dirname "$0")") | 
					
						
							| 
									
										
										
										
											2016-05-03 12:16:36 -04:00
										 |  |  | set -e | 
					
						
							|  |  |  | if [ "x" == "x$root" ] ; then | 
					
						
							|  |  |  |     root=$PWD/${0##*} | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2016-07-02 23:30:03 +02:00
										 |  |  | cd "$root" | 
					
						
							| 
									
										
										
										
											2016-05-03 12:16:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-27 14:21:12 +02:00
										 |  |  | if [ -z "$GOPATH" ]; then | 
					
						
							| 
									
										
										
										
											2016-05-03 12:16:36 -04:00
										 |  |  | 	export GOPATH=$root/go | 
					
						
							| 
									
										
										
										
											2016-07-02 23:30:03 +02:00
										 |  |  | 	mkdir -p "$GOPATH" | 
					
						
							| 
									
										
										
										
											2016-04-27 14:21:12 +02:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-02 23:30:03 +02:00
										 |  |  | if [ ! -f "$GOPATH/bin/minify" ]; then | 
					
						
							|  |  |  |   echo "set up minifiy" | 
					
						
							| 
									
										
										
										
											2016-04-30 08:26:14 -04:00
										 |  |  | 	go get -v github.com/tdewolff/minify/cmd/minify | 
					
						
							| 
									
										
										
										
											2016-04-27 14:21:12 +02:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2016-05-18 13:16:06 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  | outfile="$PWD/contrib/static/nntpchan.js" | 
					
						
							|  |  |  | neochan_js_outfile="$PWD/contrib/static/neochan.js" | 
					
						
							|  |  |  | neochan_css_outfile="$PWD/contrib/static/neochan.css" | 
					
						
							| 
									
										
										
										
											2016-04-30 12:25:15 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-30 09:58:21 -04:00
										 |  |  | mini() { | 
					
						
							|  |  |  |     echo "minify $1" | 
					
						
							|  |  |  |     echo "" >> $2 | 
					
						
							| 
									
										
										
										
											2016-10-07 10:17:29 -04:00
										 |  |  |     echo "/* begin $1 */" >> $2 | 
					
						
							| 
									
										
										
										
											2016-07-02 23:30:03 +02:00
										 |  |  |     "$GOPATH/bin/minify" --mime=text/javascript >> $2 < $1 | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  |     echo "" >>  $2 | 
					
						
							| 
									
										
										
										
											2016-10-07 10:17:29 -04:00
										 |  |  |     echo "/* end $1 */" >> $2 | 
					
						
							| 
									
										
										
										
											2016-04-30 09:58:21 -04:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-04-27 14:21:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  | css() { | 
					
						
							|  |  |  |     echo "minify $1" | 
					
						
							|  |  |  |     echo "" >> $2 | 
					
						
							|  |  |  |     echo "/* begin $1 */" >> $2 | 
					
						
							|  |  |  |     lessc $1 >> $2  | 
					
						
							|  |  |  |     echo "" >>  $2 | 
					
						
							|  |  |  |     echo "/* end $1 */" >> $2 | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-04-30 12:25:15 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  | initfile() { | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     rm -f "$1" | 
					
						
							| 
									
										
										
										
											2016-10-07 10:17:29 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  |     echo '/*' >> "$1" | 
					
						
							|  |  |  |     echo ' * For source code and license information please check https://github.com/majestrate/nntpchan' >> "$1" | 
					
						
							|  |  |  |     brandingfile=./contrib/branding.txt | 
					
						
							|  |  |  |     if [ -e "$brandingfile" ] ; then | 
					
						
							|  |  |  |         echo ' *' >> "$1" | 
					
						
							|  |  |  |         while read line; do | 
					
						
							|  |  |  |             echo -n ' * ' >> "$1"; | 
					
						
							|  |  |  |             echo $line >> "$1"; | 
					
						
							|  |  |  |         done < $brandingfile; | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     echo ' */' >> "$1" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | echo "building nntpchan.js ..." | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | initfile "$outfile" | 
					
						
							| 
									
										
										
										
											2016-04-30 09:58:21 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-29 17:21:37 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | for f in ./contrib/js/contrib/*.js ; do | 
					
						
							|  |  |  |     mini "$f" "$outfile" | 
					
						
							|  |  |  | done | 
					
						
							| 
									
										
										
										
											2016-07-02 23:30:03 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-08 14:29:46 +02:00
										 |  |  | mini ./contrib/js/entry.js "$outfile" | 
					
						
							| 
									
										
										
										
											2016-04-30 09:58:21 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | # local js | 
					
						
							| 
									
										
										
										
											2016-10-07 10:06:25 -04:00
										 |  |  | for f in ./contrib/js/nntpchan/*.js ; do | 
					
						
							| 
									
										
										
										
											2016-07-02 23:30:03 +02:00
										 |  |  |   mini "$f" "$outfile" | 
					
						
							| 
									
										
										
										
											2016-04-27 14:21:12 +02:00
										 |  |  | done | 
					
						
							| 
									
										
										
										
											2016-10-07 10:06:25 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | # vendor js | 
					
						
							|  |  |  | for f in ./contrib/js/vendor/*.js ; do | 
					
						
							| 
									
										
										
										
											2016-10-08 14:29:46 +02:00
										 |  |  |   mini "$f" "$outfile" | 
					
						
							| 
									
										
										
										
											2016-04-27 14:21:12 +02:00
										 |  |  | done | 
					
						
							| 
									
										
										
										
											2016-10-07 10:06:25 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  | if [ "$neochan" == "yes" ] ; then | 
					
						
							|  |  |  |     set +e | 
					
						
							| 
									
										
										
										
											2016-10-18 10:30:32 -04:00
										 |  |  |     for exe in lessc coffee ; do | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  |         which $exe &> /dev/null | 
					
						
							|  |  |  |         if [ "$?" != "0" ] ; then | 
					
						
							|  |  |  |             echo "$exe not installed"; | 
					
						
							|  |  |  |             exit 1 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     echo | 
					
						
							|  |  |  |     echo "building neochan.js ..." | 
					
						
							|  |  |  |     echo | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     initfile "$neochan_js_outfile" | 
					
						
							| 
									
										
										
										
											2016-10-18 10:30:32 -04:00
										 |  |  |     for f in ./contrib/js/neochan/*.coffee ; do | 
					
						
							|  |  |  |         echo "compile $f" | 
					
						
							|  |  |  |         coffee -cs < "$f" > "$f.js" | 
					
						
							|  |  |  |     done | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  |     for f in ./contrib/js/neochan/*.js ; do | 
					
						
							|  |  |  |         mini "$f" "$neochan_js_outfile" | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     echo | 
					
						
							|  |  |  |     echo "building neochan.css ..." | 
					
						
							|  |  |  |     echo | 
					
						
							|  |  |  |     initfile "$neochan_css_outfile" | 
					
						
							|  |  |  |     for f in ./contrib/js/neochan/*.less ; do | 
					
						
							|  |  |  |         css "$f" "$neochan_css_outfile" | 
					
						
							|  |  |  |     done | 
					
						
							| 
									
										
										
										
											2016-12-31 08:36:28 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-15 09:05:38 -04:00
										 |  |  | fi | 
					
						
							|  |  |  | echo | 
					
						
							| 
									
										
										
										
											2016-04-30 08:26:14 -04:00
										 |  |  | echo "ok" |