@ -144,7 +144,7 @@ global_variables() {
# Markdown location. Trying to autodetect by default.
# The invocation must support the signature 'markdown_bin in.md > out.html'
markdown_bin = $( command -v Markdown.pl || command -v markdown)
markdown_bin = $( which Markdown.pl || which markdown)
}
# Check for the validity of some variables
@ -161,23 +161,8 @@ global_variables_check() {
# Test if the markdown script is working correctly
test_markdown( ) {
[ [ -z $markdown_bin ] ] && return 1
command -v diff >/dev/null || return 1
in = /tmp/md-in-${ RANDOM } .md
out = /tmp/md-out-${ RANDOM } .html
good = /tmp/md-good-${ RANDOM } .html
echo -e "line 1\n\nline 2" > " $in "
echo -e "<p>line 1</p>\n\n<p>line 2</p>" > " $good "
" $markdown_bin " " $in " > " $out " 2> /dev/null
diff $good $out & > /dev/null # output is irrelevant, we'll check $?
if ( ( $? != 0) ) ; then
rm -f " $in " " $good " " $out "
return 1
fi
rm -f " $in " " $good " " $out "
return 0
[ [ -n $markdown_bin ] ] &&
[ [ $( " $markdown_bin " <<< $'line 1\n\nline 2' ) = = $'<p>line 1</p>\n\n<p>line 2</p>' ] ]
}