supported_sites=( "hugo" "invidious" "mastodon" "nitter" # "peertube" "pleroma" "plume" "writefreely" ) hugo=( '' ) invidious=( '' ) mastodon=( "
\n

Developers

\n\n
" ) nitter=( '' ) # note: we can identify PeerTube, but I don't know how to get the feed yet #peertube=( # '' #) pleroma=( '' 'Pleroma' ) plume=( '
\n

Plume [0-9]{1,}.[0-9]{1,}.[0-9]{1,}

\n Documentation\n Source code\n Matrix room\n
' ) writefreely=( '' '' ) for possible_site in ${supported_sites[@]} do declare -n possible_patterns="$possible_site" for pattern in "${possible_patterns[@]}" do site_pattern_match=`echo "$content" | grep -Pzo "$pattern" | tr '\0' '\n'` if [[ -n "$site_pattern_match" ]] then site="$possible_site" break fi done if [[ -n "$site" ]] then break fi done