slitaz-base-files view rootfs/usr/bin/man @ rev 139

Add libtaz and httphelper man a like documentation
author Christophe Lincoln <pankso@slitaz.org>
date Tue Apr 24 10:26:35 2012 +0200 (2012-04-24)
parents 4a0b818014d8
children bffd6c0e7c5b
line source
1 #!/bin/sh
2 #
3 # Tiny man fake using online manuals.
4 # Copyright (C) 2009-2012 SliTaz GNU/Linux.
5 #
6 . /lib/libtaz.sh
8 if [ ! -x /usr/bin/retawq ]; then
9 echo -e "\nMissing Retawq web browser..."
10 echo -e "Please run: su -c 'tazpkg get-install retawq'\n"
11 exit 0
12 fi
14 local i
15 local SECTION
16 local MSG
17 local TOPIC
18 local MAN_SECTION
20 case "$1" in
21 ''|-*)
22 cat <<EOT
24 $(boldify "Usage:") man [section] command
26 EOT
27 return ;;
28 esac
30 SECTION=all
31 MAN_SECTION='*'
32 MSG=""
34 if [ -n "$2" ]; then
35 SECTION=$1
36 MAN_SECTION=$1
37 MSG=" in section $SECTION"
38 shift
39 fi
41 TOPIC=$1
43 if [ -x /usr/bin/retawq -a -f /usr/share/doc/$TOPIC/$TOPIC.html ]; then
44 retawq --dump=file:///usr/share/doc/$TOPIC/$TOPIC.html | less -M
45 return
46 elif [ -x /usr/bin/retawq -a -f /usr/share/doc/slitaz-tools/$TOPIC.html ]; then
47 retawq --dump=file:///usr/share/doc/slitaz-tools/$TOPIC.html | less -M
48 return
49 elif [ -f /usr/share/doc/slitaz/$TOPIC.txt ]; then
50 # SliTaz tools/libraries documentation (man a like format)
51 less -M /usr/share/doc/slitaz/$TOPIC.txt
52 return
53 fi
55 for i in /usr/share/$LC_ALL/man$MAN_SECTION /usr/share/man$MAN_SECTION; do
56 if [ -f $i/raw-$TOPIC.* ]; then
57 i=$(ls $i/raw-$TOPIC.*)
58 case "$i" in
59 *gz) (zcat $i || unlzma -c $i 2> /dev/null) | less -M;;
60 *) less -M $i;;
61 esac
62 return
63 fi
64 if [ -x /usr/bin/retawq -a -f $i/$TOPIC.html ]; then
65 retawq --dump=file://$i/$TOPIC.html | less -M
66 return
67 fi
68 done
70 (wget -O - "http://mirror.slitaz.org/man/$SECTION/$TOPIC.html" || \
71 wget -O - "http://man.he.net/?topic=$TOPIC&section=$SECTION") 2> /dev/null | \
72 awk "BEGIN { s=0; n=0 } /<PRE>/ { s=1 } { if (s) { print; n++} } /<\/PRE>/ { s=0 } END { if (n == 0) print \"No manual entry for $TOPIC$MSG\" }" | \
73 sed -e 's/<[^>]*>//g' -e 's/&lt;/</g' -e 's/&gt;/>/g' -e 's/&amp;/\&/g' | less -M
75 exit 0