| ##################################################################################################################################################################### |
| # 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." |
| } |