52 lines
1.3 KiB
Bash
Executable file
52 lines
1.3 KiB
Bash
Executable file
#!/bin/sh
|
|
#/ Usage: man.cx [<section>] <topic>...
|
|
#/ Open manpage <topic> on http://man.cx. When <section> is given, it
|
|
#/ must start with a numeric. Multiple <topic>s may be specified.
|
|
set -e
|
|
|
|
# Open the cowsay(1) and wall(1) manpages:
|
|
# $ man.cx cowsay wall
|
|
#
|
|
# Open the 1posix section sh, command, and type manpages:
|
|
# $ man.cx 1posix sh command type
|
|
|
|
# Command to use when opening URLs. Use the first one found on
|
|
# PATH, unless the BROWSER environment variable is already set.
|
|
: ${BROWSER:=$(
|
|
for c in xdg-open open firefox
|
|
do command -v $c && break
|
|
done
|
|
)}
|
|
|
|
# The man.cx root URL
|
|
MANCX_URL="http://man.cx"
|
|
|
|
# Write usage and bail out with no args or with --help.
|
|
test $# -eq 0 -o $(expr "$*" : ".*--help") -ne 0 && {
|
|
grep ^#/ < $0 |
|
|
cut -c4-
|
|
exit
|
|
}
|
|
|
|
# Bail out if we couldn't find a browser.
|
|
test -z "$BROWSER" && {
|
|
echo "$(basename $0): BROWSER not set and no opening program found" 2>&1
|
|
exit 1
|
|
}
|
|
|
|
# When the first arg starts with a numeric, its the <section>.
|
|
section=
|
|
case "$1" in [0-9]*)
|
|
section="($1)"
|
|
shift
|
|
;;
|
|
esac
|
|
|
|
# Run over remaining arguments and open in BROWSER.
|
|
for page in "$@"
|
|
do $BROWSER "${MANCX_URL}/${page}${section}"
|
|
done
|
|
|
|
# Copyright (c) 2010 by Ryan Tomayko <http://tomayko.com/about>
|
|
# This is Free Software distributed under the terms of the MIT license
|
|
|