add libreplanet slides
[iankelling.org] / gitweb-descriptions
index 34c797fc8ff220be137cebe7511e756c33dc59d4..b6fad5a6cf4e459481dd5cd004a4daf25b313d00 100755 (executable)
@@ -1,4 +1,18 @@
 #!/bin/bash -l
 #!/bin/bash -l
+# Copyright (C) 2016 Ian Kelling
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # my projects all have README or --help with a short single line
 # description which I parse and put into the gitweb description.
 
 # my projects all have README or --help with a short single line
 # description which I parse and put into the gitweb description.
@@ -20,6 +34,7 @@ gitroot=$1
 cd $gitroot
 
 shopt -s extglob
 cd $gitroot
 
 shopt -s extglob
+shopt -s nullglob
 
 _git_desc_readme() {
     while read -r line; do
 
 _git_desc_readme() {
     while read -r line; do
@@ -32,25 +47,13 @@ _git_desc_readme() {
     done < README*
 }
 
     done < README*
 }
 
-dirs=()
-for d in $gitroot/*; do
-    if [[ -d $d && ! -L $d ]]; then
-        for sub in $d/*; do
-            dirs+=($sub)
-        done
-    else
-        dirs+=($d)
-    fi
-done
-
 gitweb-descriptions() {
     for d in ${dirs[@]}; do
 gitweb-descriptions() {
     for d in ${dirs[@]}; do
-        d=$(readlink -f $d)
-        cd $d/..
-        e ${PWD##*/}
-        shopt -s nullglob
+        cd $(readlink -f $d)/..
+        if [[ ${personalized[${d##*/}]} ]]; then
+            echo "$pcategory" >.git/category
+        fi
         f=(!(LICENSE|COPYING|README|.git))
         f=(!(LICENSE|COPYING|README|.git))
-        shopt -u nullglob
         if [[ ${#f[@]} == 1 && ! -d $f ]]; then
             if [[ ! -x $f ]]; then
                 if [[ $f == *-function ]]; then
         if [[ ${#f[@]} == 1 && ! -d $f ]]; then
             if [[ ! -x $f ]]; then
                 if [[ $f == *-function ]]; then
@@ -59,11 +62,36 @@ gitweb-descriptions() {
                     _git_desc_readme
                 fi
             else
                     _git_desc_readme
                 fi
             else
-                $f --help | sed -n '2p' > .git/description
+                ./$f --help | sed -n '2p' > .git/description
             fi
         else
             _git_desc_readme
         fi
     done
 }
             fi
         else
             _git_desc_readme
         fi
     done
 }
+
+tmp=(
+    bashrc
+    automated-distro-installer
+    buildscripts
+    config-files
+    distro-setup
+    dot-emacs
+    fai-basefiles
+    ian-misc-bash
+    iankelling.org
+)
+declare -A personalized
+for p in ${tmp[@]}; do personalized[$p]=true; done
+pcategory="Personalized for my use. Useful as examples or to copy specific parts"
+
+
+dirs=()
+for d in $gitroot/*; do
+    if [[ ! -L $d ]]; then
+        continue
+    fi
+    dirs+=($d)
+done
+
 gitweb-descriptions "$@"
 gitweb-descriptions "$@"