blob: 1c4deb0b187449368788d2c2ea80668688ec03f3 [file] [log] [blame]
#####################################################################################################################################################################
# README
# ------
#
# ref is a plugin for storing HTML formatted references, mainly suited for programming.
# Your $REF_DIR variable is the directory for storing these references in. If it does not exist, it will be created automatically.
# Here is an example of what my $REF_DIR looks like, because this will be of use when I explain how your $REF_DIR has to be structured:
#
# ~/.ref/
# ruby/
# general/
# index.html
# bash/
# array/
# index.html
# select/
# index.html
#
# This is what the basic structure of your $REF_DIR should look like: Subdirectories for each subject, and then another set of subdirectories for the part of the
# subject you want to reference. And in the second subdirectory, an index.html file.
#
# To use ref, you do the ref command followed by the sugject and the sub-subject as arguments. For instance:
#
# ref bash array
#
# Would open the bash/array/index.html file.
#
# To list your references, you would do the ref ls command, optionally followed by a subject. For instance:
#
# ref ls
#
# Would give me:
#
# ruby bash
#
# And:
#
# ref ls bash
#
# would output:
#
# array
# select
#####################################################################################################################################################################
ref() {
if [ ! -d "$REF_DIR" ]
then
mkdir -p "$REF_DIR"
fi
REF_DIR=${REF_DIR%/}
builtin cd $REF_DIR
if [ "$1" = 'ls' ]
then
if [ "$2" = '' ]
then
ls -G
builtin cd - > /dev/null
return
else
ls -G
builtin cd - > /dev/null
return
fi
elif [ "$1" = 'new' ]
then
mkdir -p "$2"/"$3"
echo You can now put the index.html file into "$REF_DIR"/"$2"/"$3"
builtin cd - > /dev/null
return
fi
DIR="${1}/${2}"
builtin cd "$REF_DIR"/"$DIR"
if [ $(uname) = "Darwin" ]
then
open index.html
elif [ $(uname) = "Linux" ]
then
gnome-open index.html
fi
}
ref-help() {
echo
echo "Help for the ref plugin"
echo "-----------------------"
echo
echo "Setting up: "
echo
echo "First, set the REF_DIR variable in you ~/.bash_profile to the directory you want to store your references in."
echo "You don't even have to create this directory if you don't want to, ref will make it for you if it doesn't exist."
echo
echo "Then, you can start adding some refs. You can do so with this command: "
echo " ref new topic subtopic"
echo "Where topic is the general topic, such as ruby. And subtopic is a more exact topic, like array."
echo "This will create a directory for the topic, and a subdirectory for the subtopic. You can then move a file of your desired format into the subtopic's directory."
echo
echo "To access your ref, you would do the following command: "
echo " ref topic subtopic"
echo "Where topic and subtopic are the same as before, but ref will open the file under your topic/subtopic directory. Unless it is a full website."
echo
echo "You can also download full websites as a ref, as long as it has an index.html file, it will work."
}