factor out gitweb-descriptions
[iankelling.org] / setup.sh
index 3230bba9fca6b75796a7bc5337473f3a42218965..deb61b9c26e6e3bf0613e0fcc791fbf805b00cf6 100755 (executable)
--- a/setup.sh
+++ b/setup.sh
@@ -20,7 +20,8 @@
 set -eE -o pipefail
 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
 
-cd "${BASH_SOURCE%/*}"
+script_dir=$(readlink -f "${BASH_SOURCE%/*}")
+cd "$script_dir"
 
 domain=${1:-iankelling.org} # use argument for testing site
 gitroot=/a/bin/githtml
@@ -71,16 +72,15 @@ our @extra_breadcrumbs = (
 );
 our \$home_link_str = 'git';
 our \$site_footer = '$PWD/_site/gitweb-footer.html';
-push @stylesheets, "/gitweb-site.css";
-push @stylesheets, "/common.css";
+push @stylesheets, "/css/gitweb-site.css";
 our \$favicon = '/assets/favicon.png';
 # default is 25, cuts off descriptions.
-our $projects_list_description_width = 40;
+our \$projects_list_description_width = 40;
 # a bit superflous since they are all me
-our $omit_owner = true;
+our \$omit_owner = true;
 # highlight scripts with no extension, uses a patch
 # that is on it's way upstream.
-our $highlight_force = 1;
+our \$highlight_force = 1;
 EOF
 
 apache-site - $domain <<EOF
@@ -91,6 +91,11 @@ apache-site - $domain <<EOF
   AddHandler cgi-script .py
 </Directory>
 
+<Directory "/var/www/$domain/html/cgi">
+  Options +ExecCGI
+  SetHandler cgi-script
+</Directory>
+
 # redirect some old paths when I was using jekyll.
 Redirect permanent /10-14-2014/On2-vote-results.html /blog/on2-vote-results.html
 Redirect permanent /09-29-2014/say-On2.html /blog/say-on2.html
@@ -140,42 +145,8 @@ Alias /git /usr/share/gitweb
 EOF
 
 
-# my projects all have README or --help with a short single line
-# description which I parse and put into the gitweb description.
-_git_desc_readme() {
-    while read -r line; do
-        [[ $line ]] || continue
-        if echo "$line" | grep "^ *[#*]" &>/dev/null; then
-            continue
-        fi
-        echo "$line" > .git/description
-        break
-    done < README*
-}
-gitweb_descriptions() {
-    for d in $gitroot/*; do
-        d=$(readlink -f $d)
-        cd $d/..
-        e ${PWD##*/}
-        shopt -s nullglob
-        f=(!(LICENSE|COPYING|README|.git))
-        shopt -u nullglob
-        if [[ ${#f[@]} == 1 && ! -d $f ]]; then
-            if [[ ! -x $f ]]; then
-                if [[ $f == *-function ]]; then
-                    ${f%-function} --help | sed -n '2p' > .git/description
-                else
-                    _git_desc_readme
-                fi
-            else
-                $f --help | sed -n '2p' > .git/description
-            fi
-        else
-            _git_desc_readme
-        fi
-    done
-}
-
-gitweb_descriptions
-
-./build.rb
+
+$script_dir/gitweb-descriptions $gitroot
+
+$script_dir/build.rb
+s lnf -T $script_dir/_site /var/www/$domain/html