1 # decleration
 2 BASE_URL=${BASE_URL}
 3 ROOT_PATH=${ROOT_PATH}
 4 
 5 # be on the save side, unset NEWBODY
 6 unset NEWBODY;
 7 
 8 # newline workaround
 9 NL='
10 '
11 
12 # loop through NB_MetaBody
13 while IFS="\n" read -r line;
14 do
15     # check for keyword - if there's no match, take the line as it is and continue
16     if ! echo $line | grep -q "\(slideimage\)\|\(blogimage\)\|\(youtube\)"; then
17         NEWBODY+="$line"$NL;
18         continue
19     fi
20 
21     # keyword has been found, pars it with parameters
22     # Youtube: [youtube="youtubeID"]
23     YOUTUBE=`echo "$line" | sed -n 's/^.*\[youtube="\(.*\)"\].*$/\1/p'`
24     # Before After Slider Image: [slideimage before="before.jpg" after="after.jpg" count="12"]
25     BAC=(`echo "$line" | sed -n 's/^.*\[slideimage before="\(.*\)" after="\(.*\)" count="\(.*\)"\].*$/\1 \2 \3/p'`)
26     # Standard Blog Image [blogimage="image.jpg"]
27     # basename + ext are extracted seperately. Another script converts the image to image_s.jpg (200px),
28     # image_m.jpg (490px), image_o.jpg (original size). So the name has to be assembled properly
29     NE=(`echo "$line" | sed -n 's/^.*\[blogimage="\(.*\)\.\(.*\)"\].*$/\1 \2/p'`)
30 
31     # A before/after Code has been found.
32     if [ ! -z "${BAC[0]}" ]; then
33         #nb_msg "PLUGIN: ($line)"
34         # The script needs the exact dimensions of the image. Invoking "identify" to get them.
35         wh=(`identify -format "%w %h" $ROOT_PATH"images/beforeafter/${BAC[0]}"`);
36         # Assemble HTML Code
37         NEWBODY+='<br/><div id="bfcontent'${BAC[2]}'">'$NL
38         NEWBODY+='     <div id ="container'${BAC[2]}'">'$NL
39         NEWBODY+='         <div><img alt="'${BAC[1]}'" src="'$BASE_URL'images/beforeafter/'${BAC[1]}'" width="'${wh[0]}'" height="'${wh[1]}'"/></div>'$NL
40         NEWBODY+='         <div><img alt="'${BAC[0]}'" src="'$BASE_URL'images/beforeafter/'${BAC[0]}'" width="'${wh[0]}'" height="'${wh[1]}'"/></div>'$NL
41         NEWBODY+='     </div>'$NL
42         NEWBODY+=' </div>'$NL'<br/>'$NL
43         # done
44         continue
45     # A standard blog Image has been found
46     elif [ ! -z "${NE[0]}" ]; then
47         #nb_msg "PLUGIN: ($line)"
48         # Assemble HTML Code
49         NEWBODY+='<div class="pic">'$NL
50         NEWBODY+='     <a class="p1" target="_new" href="'$BASE_URL'images/blog/'${NE[0]}'_o.'${NE[1]}'">'$NL
51         NEWBODY+='         <img alt="Picture '${NE[0]}' small" border="0" src="'$BASE_URL'images/blog/'${NE[0]}'_s.'${NE[1]}'"/>'$NL
52         NEWBODY+='         <img class="large" alt="Picture '${NE[0]}' medium" border="0" src="'$BASE_URL'images/blog/'${NE[0]}'_m.'${NE[1]}'"/>'$NL
53         NEWBODY+='     </a>'$NL
54         NEWBODY+='</div>'$NL
55         # done
56         continue
57     # Youtube Code found
58     elif [ ! -z "$YOUTUBE" ]; then
59         #nb_msg "PLUGIN: ($line)"
60         # Assemble HTML Code
61         NEWBODY+='<iframe width="490" height="279" src="http://www.youtube.com/embed/'$YOUTUBE'?rel=0" frameborder="0" allowfullscreen></iframe>'$NL
62         # done
63         continue
64     else
65         # This line catches the rest. I mean when a term like "slideimage" is used, but cannot be handled by the sed statements.
66         # nb_msg "PLUGIN: Keyword used but not parsed --> ($line)"
67         NEWBODY+="$line"$NL;
68         continue
69     fi
70 done < <(echo "$NB_MetaBody")
71 
72 # Put everything back in place
73 NB_MetaBody="$NEWBODY";
74 nb_msg "DEBUG Shortcode:"
75 echo -e "$NB_MetaBody"