Skip to content
Snippets Groups Projects
preprocMd.sh 2.73 KiB
Newer Older
#!/bin/bash

    # generate namelist of collaborators from topic file
    original="./topics/topic-template.md"
    filename="topic-template.md"
    build_dir="./build"
    mkdir -p build
    echo "Preprocessing $filename..."
    cp $original $build_dir/$filename
    #extract title of topic
    title="## `head -n 1 $build_dir/$filename | sed -e "s;#\s*;\[;g" -e "s;\(.*\);\1\](${filename%.md}.html);g"`"
    # prepare index
    # append research topic to index
    echo "Creating index.md ..."
    cp index.md ./build/index.md
    echo $title >>  ./build/index.md
    echo "Replacing working group keys..."
    for wg in {aa,cm,dm,nm,st}
    do
        fullname=`wget -qO- $baseurl/forschung/$wg | grep h1 | sed -e "s/<h1>\s*\(.*\)<\/h1>.*$/\1/g" | sed -e 's/^[ \t]*//'`
        echo "Found working group $fullname"
        sed -i "s;### Working Groups:\(.*\)$wg\(.*\);### Working Groups:\1\[$fullname\]($baseurl/forschung/$wg)\2;g" $build_dir/$filename 
    echo "Replacing collaborator keys..."
    namelist=`grep -h -i -m 1 -r "###\s*Collaborators (MAT):" $build_dir/$filename | sed -e 's/^###\s*Collaborators (MAT):\s*//I' -e 's/\s*,\s*/\n/g'  | sort -u`
    for name in $namelist
    do
        # pipeline to get full name of staff-member from mat-homepage
        # -> wget the staff homepage of $name
        # -> grep the line with the <h1>-tag, something like <h1>Fabian Gabel, M. Sc.</h1><div class='staffIntro'><p><img src='/home/fgabel/images/portrait.png' title='Foto von Fabian Gabel, M. Sc.' class='staffPicture'></p><div class='staffContact'>
        # -> strip the string such that only the portion between <h1></h1> remains
        # -> remove leading spaces
        fullname=`wget -qO- $baseurl/home/$name/?homepage_id=$name | grep h1 | sed -e "s/<h1>\s*\(.*\)<\/h1>.*$/\1/g" | sed -e 's/^[ \t]*//'`

        # dirty replacement to avoid dealing with 
        errstr='Binary file (standard input) matches'
        if [ "$fullname" = "$errstr" ]; 
        then
            fullname=`echo "$name $fullname" | \
             sed -e "s;jgrossmann $errstr;Dr. Julian Großmann;g" \
                 -e  "s;fbuenger $errstr;Dr. Florian Bünger;g" \
                 -e  "s;hvoss $errstr;Prof. Dr. Heinrich Voß;g" \
                 -e  "s;fboesch $errstr;Dipl. Ing. Frank Bösch;g" \
                 -e  "s;sgoetschel $errstr;Dr. Sebastian Götschel;g"`
        
        echo "Found collaborator $fullname"
        sed -i "s;$name;\[$fullname\]($baseurl/home/$name);g" $build_dir/$filename

        echo "# $fullname" > ./build/$name.md

        # append research to staffiles
        echo $title >> ./build/$name.md