X-Git-Url: https://iankelling.org/git/?p=iankelling.org;a=blobdiff_plain;f=setup.sh;h=59f3009bd8a45c327c05d8c5909d0e85e0a1805f;hp=3230bba9fca6b75796a7bc5337473f3a42218965;hb=d8778b6587a870f5eb36b5fd5e98297957adf429;hpb=d0a5b73d2a275bfff5957961f2360df8966bee22 diff --git a/setup.sh b/setup.sh index 3230bba..59f3009 100755 --- 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 @@ -28,18 +29,28 @@ gitroot=/a/bin/githtml shopt -s extglob type -P a2enmod &>/dev/null || pi apache2 +type -P sqlite3 &>/dev/null || pi sqlite3 acme-tiny-wrapper $domain pkgs=( # build.rb dependencies - ruby-pygments.rb ruby-safe-yaml ruby-redcarpet + ruby-pygments.rb ruby-safe-yaml ruby-sass # python pkgs used for o(n^2) voting blog entry python-bcrypt python-passlib # gitweb pkgs gitweb highlight ) +if isdebian-stable; then + pkgs+=(build-essential ruby-dev) +else + pkgs+=(ruby-redcarpet) +fi + pi ${pkgs[@]} +if isdebian-stable; then + sudo gem install redcarpet +fi chmod og+x _site/on2vote/vote.py @@ -71,16 +82,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 < + + Options +ExecCGI + SetHandler cgi-script + + # 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 +155,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