summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xurititle9
1 files changed, 7 insertions, 2 deletions
diff --git a/urititle b/urititle
index 7b159da..85f3259 100755
--- a/urititle
+++ b/urititle
@@ -45,8 +45,13 @@ gemini)
gemini-get "$1" | while read -r line;do
if [ "$first" ];then
unset first
- if ! printf "%s\n" "$line" | grep '^[^ ]* text/gemini' 2>&1 >/dev/null;then
- printf "title: %s\n" "$(printf "%s\n" "$line" | tr '\t' ' ' | tr -s ' ' | cut '-d ' -f2-)"
+ type="$(printf "%s\n" "$line" | tr -s ' ' | cut '-d ' -f2 | tr -d '\r')"
+ if [ "$type" != 'text/gemini' ];then
+ if [ "$type" = "text/html" ];then
+ head -c 1000000 | tr -d '\n' | tr '<' '\n' | grep -iA 10 '^title' | grep -iB 10 '^\/title>' | cut '-d>' -f2 | tr '\t' ' ' | sed 's/^ *//g' | sed 's/ *$//g' | grep .
+ else
+ printf "title: %s\n" "$(printf "%s\n" "$line" | tr '\t' ' ' | tr -s ' ' | cut '-d ' -f2-)"
+ fi
fi
else
printf "title: %s\n" "$(printf "%s\n" "$line" | grep '^#' | sed 's/^#* *//g')"