slitaz-base-files annotate rootfs/usr/bin/man @ rev 179

add/fix i18n; make pot && make msgmerge; add ru.po
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon May 21 10:44:59 2012 +0300 (2012-05-21)
parents 524eab3120ae
children d8adb319ac56
rev   line source
pankso@67 1 #!/bin/sh
pankso@67 2 #
pankso@67 3 # Tiny man fake using online manuals.
pankso@103 4 # Copyright (C) 2009-2012 SliTaz GNU/Linux.
pankso@67 5 #
pankso@139 6 . /lib/libtaz.sh
pankso@67 7
al@179 8 # Internationalization.
al@179 9 . /usr/bin/gettext.sh
al@179 10 TEXTDOMAIN='slitaz-base'
al@179 11 . /etc/locale.conf
al@179 12 export TEXTDOMAIN LANG
al@179 13
pankso@67 14 if [ ! -x /usr/bin/retawq ]; then
al@179 15 echo; gettext "Missing Retawq web browser..."; echo
al@179 16 gettext "Please run: su -c 'tazpkg get-install retawq'"; echo -e "\n"
pankso@67 17 exit 0
pankso@67 18 fi
pankso@67 19
pankso@67 20 local i
pankso@67 21 local SECTION
pankso@67 22 local MSG
pankso@67 23 local TOPIC
pankso@67 24 local MAN_SECTION
pankso@67 25
pankso@67 26 case "$1" in
pankso@67 27 ''|-*)
pankso@67 28 cat <<EOT
pankso@67 29
al@179 30 $(boldify "$(gettext 'Usage:')") $(gettext "man [section] command")
pankso@67 31
pankso@67 32 EOT
pankso@67 33 return ;;
pankso@67 34 esac
pankso@67 35
pankso@67 36 SECTION=all
pankso@67 37 MAN_SECTION='*'
pankso@67 38 MSG=""
pankso@67 39
pankso@67 40 if [ -n "$2" ]; then
pankso@67 41 SECTION=$1
pankso@67 42 MAN_SECTION=$1
pankso@67 43 MSG=" in section $SECTION"
pankso@67 44 shift
pankso@67 45 fi
pankso@67 46
pankso@67 47 TOPIC=$1
pankso@67 48
pankso@67 49 if [ -x /usr/bin/retawq -a -f /usr/share/doc/$TOPIC/$TOPIC.html ]; then
pankso@67 50 retawq --dump=file:///usr/share/doc/$TOPIC/$TOPIC.html | less -M
pankso@67 51 return
mojo@101 52 elif [ -x /usr/bin/retawq -a -f /usr/share/doc/slitaz-tools/$TOPIC.html ]; then
mojo@101 53 retawq --dump=file:///usr/share/doc/slitaz-tools/$TOPIC.html | less -M
mojo@101 54 return
pankso@139 55 elif [ -f /usr/share/doc/slitaz/$TOPIC.txt ]; then
pankso@139 56 # SliTaz tools/libraries documentation (man a like format)
pankso@139 57 less -M /usr/share/doc/slitaz/$TOPIC.txt
pankso@139 58 return
pankso@67 59 fi
pankso@67 60
pankso@67 61 for i in /usr/share/$LC_ALL/man$MAN_SECTION /usr/share/man$MAN_SECTION; do
pankso@67 62 if [ -f $i/raw-$TOPIC.* ]; then
pankso@67 63 i=$(ls $i/raw-$TOPIC.*)
pankso@67 64 case "$i" in
pankso@67 65 *gz) (zcat $i || unlzma -c $i 2> /dev/null) | less -M;;
pankso@67 66 *) less -M $i;;
pankso@67 67 esac
pankso@67 68 return
pankso@67 69 fi
pankso@67 70 if [ -x /usr/bin/retawq -a -f $i/$TOPIC.html ]; then
pankso@67 71 retawq --dump=file://$i/$TOPIC.html | less -M
pankso@67 72 return
pankso@67 73 fi
pankso@67 74 done
pankso@67 75
pankso@67 76 (wget -O - "http://mirror.slitaz.org/man/$SECTION/$TOPIC.html" || \
pankso@67 77 wget -O - "http://man.he.net/?topic=$TOPIC&section=$SECTION") 2> /dev/null | \
al@179 78 awk "BEGIN { s=0; n=0 } /<PRE>/ { s=1 } { if (s) { print; n++} } /<\/PRE>/ { s=0 } END { if (n == 0) print \"$(eval_gettext 'No manual entry for $TOPIC$MSG')\" }" | \
pankso@67 79 sed -e 's/<[^>]*>//g' -e 's/&lt;/</g' -e 's/&gt;/>/g' -e 's/&amp;/\&/g' | less -M
pankso@67 80
pankso@67 81 exit 0