]> git.plutz.net Git - shellwiki/blobdiff - macros/search
remove search from wikiform macro
[shellwiki] / macros / search
index b3d06e85a86fbc33274b48b298b4af9b926bd48b..b60305068479eda05e2d36937ec06c6013a5f734 100755 (executable)
@@ -25,7 +25,7 @@ I="$_DATA/index"
 _(){ printf %s\\n "$*"; }
 [ "${LANGUAGE}" -a -r "${_EXEC}/l10n/${LANGUAGE}.sh" ] && . "${_EXEC}/l10n/${LANGUAGE}.sh"
 
-show_form=true show_hits='' action=''
+show_form=true show_hits='' action='' query=''
 
 set -- "$@" --
 while [ $# -gt 0 ]; do case $1 in
@@ -41,6 +41,8 @@ while [ $# -gt 0 ]; do case $1 in
   *) set -- "$@" "$1"; shift 1;;
 esac; done
 
+[ $@ -gt 0 ] && query="$*" || query="$(GET q)"
+
 searchteaser() {
   local file="$1" words db3_data
   local w l nc nl hits mhits cont mcont
@@ -79,14 +81,18 @@ elif [ ! "$action" ]; then
 fi
 
 if [ "${show_form}" = true ]; then
-  printf '<form class="macro search" method="GET" action="%s">
-  <input type="search" placeholder="%s" name="q" value="%s"><button type="submit" class="search">%s</button>
-</form>' "$action" "$(_ Search)" "$([ "$show_hits" = true ] && GET q |HTML)" "$(_ Search)"
+  cat <<-EOF
+       <form class="macro search" method="GET" action="${action}">
+         <input type="search" placeholder="$(_ Search)" name="q"
+                value="$([ "$show_hits" = true ] && printf %s\\n "$query" |HTML)"
+         ><button type="submit" class="search">$(_ Search)</button>
+       </form>
+       EOF
 fi
 
 if [ "${show_hits}" = true ]; then
   { read tags; read ntags; read words; } <<-EOF
-       $(GET q | awk '
+       $(printf %s\\n "${query}" | awk '
        BEGIN { # Field separator FS should include punctuation, including Unicode Block U+2000 - U+206F
                if ( length("ยก") == 1 )  # Utf-8 aware AWK
                FS = "([] \\t\\n\\r\"'\''()*+,./:;<=>?\\\\^_`{|}~[-]|%[0-9A-Fa-f]{2}|'"$(printf '[\342\200\200-\342\201\257]')"')+";