Merge remote branch 'upstream/master'
diff --git a/aliases/jekyll.aliases.bash b/aliases/jekyll.aliases.bash
index a5078e3..11922d6 100644
--- a/aliases/jekyll.aliases.bash
+++ b/aliases/jekyll.aliases.bash
@@ -1,27 +1,27 @@
-# Open the root of your site in your vim or cd to it
+# Open the root of your site in your vim or builtin cd to it
if [[ $EDITOR = "vim" ]]
-then alias newentry="cd $JEKYLL_LOCAL_ROOT && $EDITOR ."
-else alias newentry="cd $JEKYLL_LOCAL_ROOT"
+then alias newentry="builtin cd $JEKYLL_LOCAL_ROOT && $EDITOR ."
+else alias newentry="builtin cd $JEKYLL_LOCAL_ROOT"
fi
# Open the _posts/ directory for making a new blog post (seperate from above alias because not everyone uses jekyll for a blog)
# if [ $editor = "vim" ]
# then
-# alias newpost="cd $jekyll_local_root/_posts && $editor ."
+# alias newpost="builtin cd $jekyll_local_root/_posts && $editor ."
# else
-# alias newpost="cd $jekyll_local_root"
+# alias newpost="builtin cd $jekyll_local_root"
# fi
# Build and locally serve the site
-alias testsite="cd $JEKYLL_LOCAL_ROOT && jekyll --server --auto"
+alias testsite="builtin cd $JEKYLL_LOCAL_ROOT && jekyll --server --auto"
# Build but don't locally serve the site
-alias buildsite="cd $JEKYLL_LOCAL_ROOT && rm -rf _site/ && jekyll"
+alias buildsite="builtin cd $JEKYLL_LOCAL_ROOT && rm -rf _site/ && jekyll"
# Rsync the site to the remote server
-alias deploysite="cd $JEKYLL_LOCAL_ROOT && rsync -rz _site/ $JEKYLL_REMOTE_ROOT"
+alias deploysite="builtin cd $JEKYLL_LOCAL_ROOT && rsync -rz _site/ $JEKYLL_REMOTE_ROOT"
diff --git a/plugins/base.plugin.bash b/plugins/base.plugin.bash
index 9eceaf9..9c8cb92 100644
--- a/plugins/base.plugin.bash
+++ b/plugins/base.plugin.bash
@@ -30,6 +30,10 @@
ri -T "${1}" | open -f -a $PREVIEW
}
+quiet() {
+ $* &> /dev/null &
+}
+
banish-cookies() {
rm -r ~/.macromedia ~/.adobe
ln -s /dev/null ~/.adobe
diff --git a/plugins/git.plugins.bash b/plugins/git.plugins.bash
index ad21591..5f4cc51 100644
--- a/plugins/git.plugins.bash
+++ b/plugins/git.plugins.bash
@@ -17,4 +17,40 @@
# Adds files to git's exclude file (same as .gitignore)
function local-ignore() {
echo "$1" >> .git/info/exclude
-}
\ No newline at end of file
+}
+
+# get a quick overview for your git repo
+function git_info() {
+ if [ -n "$(git symbolic-ref HEAD 2> /dev/null)" ]; then
+ # print informations
+ echo "git repo overview"
+ echo "-----------------"
+ echo
+
+ # print all remotes and thier details
+ for remote in $(git remote show); do
+ echo $remote:
+ git remote show $remote
+ echo
+ done
+
+ # print status of working repo
+ echo "status:"
+ if [ -n "$(git status -s 2> /dev/null)" ]; then
+ git status -s
+ else
+ echo "working directory is clean"
+ fi
+
+ # print at least 5 last log entries
+ echo
+ echo "log:"
+ git log -5 --oneline
+ echo
+
+ else
+ echo "you're currently not in a git repository"
+
+ fi
+}
+
diff --git a/plugins/jekyll.plugins.bash b/plugins/jekyll.plugins.bash
index 1933f07..9b0d5c1 100644
--- a/plugins/jekyll.plugins.bash
+++ b/plugins/jekyll.plugins.bash
@@ -1,13 +1,55 @@
+#!/bin/bash
+
newpost() {
- # 'cd' into the local jekyll root
+ # 'builtin cd' into the local jekyll root
- cd "$JEKYLL_LOCAL_ROOT/_posts"
+ builtin cd "$JEKYLL_LOCAL_ROOT/_posts"
# Get the date for the new post's filename
FNAME_DATE=$(date "+%Y-%m-%d")
+ # 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"
+
+ if [ $JEKYLL_FORMATTING = "markdown" -o $JEKYLL_FORMATTING = "textile" ]
+ then
+ select OPTION in $OPTIONS
+ do
+ if [[ $OPTION = "Text" ]]
+ then
+ POST_TYPE="Text"
+ break
+ fi
+
+ if [[ $OPTION = "Quote" ]]
+ then
+ POST_TYPE="Quote"
+ break
+ fi
+
+ if [[ $OPTION = "Image" ]]
+ then
+ POST_TYPE="Image"
+ break
+ fi
+
+ if [[ $OPTION = "Audio" ]]
+ then
+ POST_TYPE="Audio"
+ break
+ fi
+
+ if [[ $OPTION = "Video" ]]
+ then
+ POST_TYPE="Video"
+ break
+ fi
+ done
+ fi
+
# Get the title for the new post
read -p "Enter title of the new post: " POST_TITLE
@@ -50,6 +92,68 @@
echo "---" >> $FNAME
echo >> $FNAME
+ # Generate template text based on the post type
+
+ if [[ $JEKYLL_FORMATTING = "markdown" ]]
+ then
+ if [[ $POST_TYPE = "Text" ]]
+ then
+ true
+ fi
+
+ if [[ $POST_TYPE = "Quote" ]]
+ then
+ echo "> Quote" >> $FNAME
+ echo >> $FNAME
+ echo "— Author" >> $FNAME
+ fi
+
+ if [[ $POST_TYPE = "Image" ]]
+ then
+ echo "" >> $FNAME
+ fi
+
+ if [[ $POST_TYPE = "Audio" ]]
+ then
+ echo "<html><audio src=\"/path/to/audio/file\" controls=\"controls\"></audio></html>" >> $FNAME
+ fi
+
+ if [[ $POST_TYPE = "Video" ]]
+ then
+ echo "<html><video src=\"/path/to/video\" controls=\"controls\"></video></html>" >> $FNAME
+ fi
+ fi
+
+ if [[ $JEKYLL_FORMATTING = "textile" ]]
+ then
+ if [[ $POST_TYPE = "Text" ]]
+ then
+ true
+ fi
+
+ if [[ $POST_TYPE = "Quote" ]]
+ then
+ echo "bq. Quote" >> $FNAME
+ echo >> $FNAME
+ echo "— Author" >> $FNAME
+ fi
+
+ if [[ $POST_TYPE = "Image" ]]
+ then
+ echo "!url(alt text)" >> $FNAME
+ fi
+
+ if [[ $POST_TYPE = "Audio" ]]
+ then
+ echo "<html><audio src=\"/path/to/audio/file\" controls=\"controls\"></audio></html>" >> $FNAME
+ fi
+
+ if [[ $POST_TYPE = "Video" ]]
+ then
+ echo "<html><video src=\"/path/to/video\" controls=\"controls\"></video></html>" >> $FNAME
+ fi
+ fi
+
# Open the file in your favorite editor
$EDITOR $FNAME
diff --git a/plugins/vagrant.plugins.bash b/plugins/vagrant.plugins.bash
new file mode 100644
index 0000000..17aff4e
--- /dev/null
+++ b/plugins/vagrant.plugins.bash
@@ -0,0 +1,50 @@
+#!/bin/bash
+_vagrant()
+{
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ commands="box destroy halt help init package provision reload resume ssh ssh_config status suspend up version"
+
+ if [ $COMP_CWORD == 1 ]
+ then
+ COMPREPLY=($(compgen -W "${commands}" -- ${cur}))
+ return 0
+ fi
+
+ if [ $COMP_CWORD == 2 ]
+ then
+ case "$prev" in
+ "box")
+ box_commands="add help list remove repackage"
+ COMPREPLY=($(compgen -W "${box_commands}" -- ${cur}))
+ return 0
+ ;;
+ "help")
+ COMPREPLY=($(compgen -W "${commands}" -- ${cur}))
+ return 0
+ ;;
+ *)
+ ;;
+ esac
+ fi
+
+ if [ $COMP_CWORD == 3 ]
+ then
+ action="${COMP_WORDS[COMP_CWORD-2]}"
+ if [ $action == 'box' ]
+ then
+ case "$prev" in
+ "remove"|"repackage")
+ local box_list=$(find $HOME/.vagrant/boxes/* -maxdepth 0 -type d -printf '%f ')
+ COMPREPLY=($(compgen -W "${box_list}" -- ${cur}))
+ return 0
+ ;;
+ *)
+ ;;
+ esac
+ fi
+ fi
+
+}
+complete -F _vagrant vagrant
+
diff --git a/themes/base.theme.bash b/themes/base.theme.bash
index 9ae5d0e..e77d1d2 100644
--- a/themes/base.theme.bash
+++ b/themes/base.theme.bash
@@ -50,7 +50,7 @@
}
function git_prompt_info {
- if [[ -n $(git status -s 2> /dev/null) ]]; then
+ if [[ -n $(git status -s 2> /dev/null |grep -v ^# |grep -v "working directory clean") ]]; then
state=${GIT_THEME_PROMPT_DIRTY:-$SCM_THEME_PROMPT_DIRTY}
else
state=${GIT_THEME_PROMPT_CLEAN:-$SCM_THEME_PROMPT_CLEAN}
@@ -81,4 +81,4 @@
rvm=$(rvm tools identifier) || return
echo -e "$RVM_THEME_PROMPT_PREFIX$rvm$RVM_THEME_PROMPT_SUFFIX"
fi
-}
\ No newline at end of file
+}
diff --git a/themes/minimal/minimal.theme.bash b/themes/minimal/minimal.theme.bash
index e70165d..2f9b926 100644
--- a/themes/minimal/minimal.theme.bash
+++ b/themes/minimal/minimal.theme.bash
@@ -7,3 +7,5 @@
}
PROMPT_COMMAND=prompt_setter
+
+export PS3=">> "