Surfraw supports "bookmarks," which are lines added by the user to $HOME/.config/surfraw/bookmarks - this is useful for adding sites which require very simple search options for which creating new elvi might be overkill. For example I have two bookmarks in mine.
en-fr-wordref https://www.wordreference.com/enfr/%s
fr-en-wordref https://www.wordreference.com/fren/%s
As they are called via the same syntax as elvi, incorporating them into your script is relatively simple. I haven't invested the time to make this more elegant, but here's what works for me
if [[ -z "$answerA" ]]; then
action=$(surfraw -elvi | awk -F'-' '{print $1}' | sed '/:/d' | awk '{$1=$1};1' |
$menu -p "web: ")
if [[ -z "$answerA" ]]; then
action=$(echo -e "$(surfraw -elvi | awk -F'-' '{print $1}' | sed '/:/d' | awk '{$1=$1};1')\n$(cat ~/.config/surfraw/bookmarks | awk '{print $1}')" |
dmenu -i -b -p "surfraw: ")
Furthermore I pray that all consider doing whatever little they can in their lives to support the creator of surfraw who is currently and quite unjustly rotting in a prison cell โ whether for his benefit or merely that of their own souls. Come what may, his fate is our own. Love and Light