Merge remote branch 'upstream/master'
diff --git a/README.md b/README.md
index 742daf1..8b8994e 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Bash it
-'Bash it' is a mash up of my own bash commands and scripts, other bash stuff I have found and a shameless ripoff of oh-my-zsh. :)
+'Bash it' is a mash up of my own bash commands and scripts, other bash stuff I have found and a shameless ripoff of [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh). :)
Includes some autocompletion tools, theming support, aliases, custom functions, a few stolen pieces from Steve Losh, and more.
diff --git a/plugins/hcht.plugin.bash b/plugins/hcht.plugin.bash
new file mode 100644
index 0000000..cdab44f
--- /dev/null
+++ b/plugins/hcht.plugin.bash
@@ -0,0 +1,116 @@
+#!/bin/bash
+# hcht.plugin.bash: the handmade commandline history tool
+# Copyright: (C) 2010 Florian Baumann <flo@noqqe.de>
+# License: GPL-3 <http://www.gnu.org/licenses/gpl-3.0.txt>
+# Date: Dienstag 2010-11-30
+
+### readme
+# basiclly the handmade commandline history tool was made for storing
+# informations. yeah, you're right. sounds a bit boring. many other
+# applications can do this much better. but storing things from commandline?
+#
+# hcht was fitted to work at your terminal.
+# your daily stuff like notices, todos, commands or output from a command.
+# all these things will be stored without complex syntax.
+#
+# once you defined your storing-directory you will be able to easily
+# save all the stuff listed above.
+#
+
+### create a file
+# the basic feature. open a file, do stuff and save.
+#
+# $ hcht evilcommand.hch
+#
+# this will create a new file or edit a existing one.
+# paste your command or notice in your favorite editor
+
+### show all stored informations
+# to get an overview of your storedir:
+#
+# $ hcht
+
+### todo with a whole sentence
+# you can give hcht a bunch of parameters
+#
+# $ hcht this is a long reminder about a anything
+
+### save last executed command
+# lets say you did a great hack at your system and you
+# want to save it without complicated use of coping:
+#
+# $ hcht !!
+#
+# the "!!" will repeat the _last_ command you executed at
+# your terminal. after asking you about a name the hch file
+# will be saved.
+
+### read from stdin
+# hcht is also able to read anything from stdin.
+#
+# $ cat any_important_logfile | hcht anylog
+#
+# "anylog" will be the name of the saved file.
+
+hcht() {
+ # configured?
+ if [ -z $hchtstoredir ]; then
+ echo "ERROR: handmade commandline history tool isn't configured."
+ return 1
+ else
+ hchtstoredir=$(echo $hchtstoredir | sed -e 's/\/$//')
+ fi
+
+ # dir available?
+ if [ ! -d $hchtstoredir ]; then
+ echo "ERROR: No such directory: $hchtstoredir"
+ return 1
+ fi
+
+ # get favorite editor
+ if [ -z $EDITOR ]; then
+ EDITOR=$(which vim || which nano)
+ fi
+
+ # check if stdin-data is present and save content
+ if [ "$(tty)" = "not a tty" ]; then
+ hchname=$(echo $1 | sed -e 's/\ //g')
+ if [ -z $hchname ]; then
+ cat < /dev/stdin >> $hchtstoredir/$(date +%Y%m%d%H%M%S).hch
+ else
+ cat < /dev/stdin >> $hchtstoredir/$hchname.hch
+ fi
+ return 0
+ fi
+
+ # list all hch files if no parameter is given
+ if [ $# -eq 0 ]; then
+ for file in $(ls $hchtstoredir); do
+ echo $file
+ done
+ return 0
+ fi
+
+ # if a *.hch file is given start editing or creating it
+ if [ "$#" -eq "1" ]; then
+ if echo "$1" | grep -q -e ".*.hch$" ; then
+ $EDITOR ${hchtstoredir}/${1}
+ return 0
+ else
+ $EDITOR ${hchtstoredir}/${1}.hch
+ return 0
+ fi
+ fi
+
+ # autocreate a new hch
+ if [ "$#" -gt "1" ]; then
+ echo -n "define a name: " ; read hchname
+ hchname=$(echo $hchname | sed -e 's/\ /_/g')
+ if [ -z "$hchname" ]; then
+ echo "$*" > $hchtstoredir/${1}-$(date +%Y%m%d%H%M%S).hch
+ else
+ echo "$*" > ${hchtstoredir}/${hchname}.hch
+ fi
+ return 0
+ fi
+}
diff --git a/plugins/jekyll.plugins.bash b/plugins/jekyll.plugins.bash
index 9b0d5c1..3ad9d0d 100644
--- a/plugins/jekyll.plugins.bash
+++ b/plugins/jekyll.plugins.bash
@@ -12,7 +12,7 @@
# If the user is using markdown formatting, let them choose what type of post they want. Sort of like Tumblr.
- OPTIONS="Text Quote Image Audio Video"
+ OPTIONS="Text Quote Image Audio Video Link"
if [ $JEKYLL_FORMATTING = "markdown" -o $JEKYLL_FORMATTING = "textile" ]
then
@@ -47,6 +47,12 @@
POST_TYPE="Video"
break
fi
+
+ if [[ $OPTION = "Link" ]]
+ then
+ POST_TYPE="Link"
+ break
+ fi
done
fi
@@ -122,6 +128,15 @@
then
echo "<html><video src=\"/path/to/video\" controls=\"controls\"></video></html>" >> $FNAME
fi
+
+ if [[ $POST_TYPE = "Link" ]]
+ then
+ echo "[link][1]" >> $FNAME
+ echo >> $FNAME
+ echo "> Quote" >> $FNAME
+ echo >> $FNAME
+ echo "[1]: url" >> $FNAME
+ fi
fi
if [[ $JEKYLL_FORMATTING = "textile" ]]
@@ -152,6 +167,13 @@
then
echo "<html><video src=\"/path/to/video\" controls=\"controls\"></video></html>" >> $FNAME
fi
+
+ if [[ $POST_TYPE = "Link" ]]
+ then
+ echo "\"Site\":url" >> $FNAME
+ echo >> $FNAME
+ echo "bq. Quote" >> $FNAME
+ fi
fi
# Open the file in your favorite editor
diff --git a/template/bash_profile.template.bash b/template/bash_profile.template.bash
index a98e65c..17853b1 100644
--- a/template/bash_profile.template.bash
+++ b/template/bash_profile.template.bash
@@ -47,5 +47,8 @@
export TODO="t"
+# Set store directory for handmade commandline history tool
+export hchtstoredir="$HOME/.hcht"
+
# Load Bash It
source $BASH/bash_it.sh
diff --git a/themes/n0qorg/n0qorg.theme.bash b/themes/n0qorg/n0qorg.theme.bash
new file mode 100644
index 0000000..fcaca43
--- /dev/null
+++ b/themes/n0qorg/n0qorg.theme.bash
@@ -0,0 +1,22 @@
+#!/bin/bash
+# n0qorg theme by Florian Baumann <flo@noqqe.de>
+
+## look-a-like
+# host directory (branch*)»
+# for example:
+# ananas ~/Code/bash-it/themes (master*)»
+PROMPT="${bold_blue}\[\$(hostname)\]${normal} \w${normal} ${bold_white}\[\$(git_prompt_info)\]${normal}» "
+
+## git-theme
+# feel free to change git chars.
+GIT_THEME_PROMPT_DIRTY="${bold_blue}*${bold_white}"
+GIT_THEME_PROMPT_CLEAN=""
+GIT_THEME_PROMPT_PREFIX="${bold_blue}(${bold_white}"
+GIT_THEME_PROMPT_SUFFIX="${bold_blue})"
+
+## alternate chars
+#
+SCM_THEME_PROMPT_DIRTY="*"
+SCM_THEME_PROMPT_CLEAN=""
+SCM_THEME_PROMPT_PREFIX="("
+SCM_THEME_PROMPT_SUFFIX=")"