For local documentation of libraries (and languages):
#! /bin/bash
remote_file_path=$1
wget --recursive --level=5 --convert-links --page-requisites --wait=1 --random-wait --timestamping --no-parent ${remote_file_path}
And a couple of zshrc functions which make jumping around my filesystem quite snappy. `jump` is aliased to `j`, and `mark` to `m` MARKPATH=~/.marks
function jump {
cd -P ${MARKPATH}/$1 2> /dev/null || (echo "No such mark: $1" && marks)
}
function mark {
mkdir -p ${MARKPATH}; ln -s $(pwd) $MARKPATH/$1
}
function unmark {
rm -i ${MARKPATH}/$1
}
function marks {
ls -l ${MARKPATH} | sed 's/ / /g' | cut -d' ' -f9- && echo
}
_jump()
{
local cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=( $(compgen -W "$( ls $MARKPATH )" -- $cur) )
}
complete -F _jump jump
(Totally stolen, and fixed up to work in ZSH)