Learn random facts while pulling code changes(coderwall.com)
coderwall.com
Learn random facts while pulling code changes
http://coderwall.com/p/hvfvva
9 comments
I don't know how to run a shell alias using a git alias, so I ended up creating a file ~/bin/fact, and defining the git alias as:
[alias]
ff = "!fact && git fetch"It's not a git alias. It would be better to do this as a post-merge hook though.
I know it is not a gitalias, it is a shell wide alias for a command that involves git. That is why I said the better solution would be to use gitalias than your shell's alias functionality. With gitalias you can provide the same functionality without creating the possibility for command conflicts.
If you're going to do this at least put the 'fact' call before the git command, otherwise it seems to defeat the purpose of reading the fact while the git fetch / merge completes.
I dont want to spoil the party but:
1) You really don't need Git to do this. Can you bind almost anything you like to make a call to this randomfact website. 2) The site doesn't only state facts. It says that elephants are the only animals that can't jump. This is simply not true, because snails for instance are animals as well, and it is proven that they can't jump.
1) You really don't need Git to do this. Can you bind almost anything you like to make a call to this randomfact website. 2) The site doesn't only state facts. It says that elephants are the only animals that can't jump. This is simply not true, because snails for instance are animals as well, and it is proven that they can't jump.
The sed doesn't work on my box, here's one that does:
elinks -dump randomfunfacts.com | sed -n '/^[┌│└]/p'Only using curl:
WARNING: Replace ASTERISK with the asterisk character, keeps italicizing -.-
curl -s randomfunfacts.com | grep '<i>' | sed 's/.ASTERISK<i>\(.ASTERISK\)<\/i>.*/\1/'
WARNING: Replace ASTERISK with the asterisk character, keeps italicizing -.-
curl -s randomfunfacts.com | grep '<i>' | sed 's/.ASTERISK<i>\(.ASTERISK\)<\/i>.*/\1/'
Or better yet add color:
WARNING: REPLACE ASTERISK with the ATERISK character, keeps italicizing
alias facts="echo -ne '\033[36m'; curl -s randomfunfacts.com | grep '<i>' | sed 's/.ASTERISK<i>\(.ASTERISK\)<\/i>.*/\1/'; echo -ne '\033[0m'; tput sgr0"
And run it in BG so we don't have to wait for call to website before we pull
alias gpl="( facts ); git pull"
WARNING: REPLACE ASTERISK with the ATERISK character, keeps italicizing
alias facts="echo -ne '\033[36m'; curl -s randomfunfacts.com | grep '<i>' | sed 's/.ASTERISK<i>\(.ASTERISK\)<\/i>.*/\1/'; echo -ne '\033[0m'; tput sgr0"
And run it in BG so we don't have to wait for call to website before we pull
alias gpl="( facts ); git pull"
Prepending two spaces to a line will prevent ***automatic formatting***.Pretty fun idea, does anyone know of a good way to make this work on osx?
It looks like elinks is available in Homebrew[1], so the only added step is
brew install elinks
[1]: https://github.com/mxcl/homebrew
[1]: https://github.com/mxcl/homebrew
Also MacPorts, so
port install elinks
port install elinks
Not guaranteed to not break: curl -s http://randomfunfacts.com | grep "<td border" | sed 's/<[^>]*>//g' | sed 's/ //'
It does work on OSX, you just need to install elinks (brew install elinks ?)
Related question: How would one write this without the elinks dependency, using curl or wget?
curl -s randomfunfacts.com | sed -n 's/.*<i>\(.*\)<\/i>.*/\1/p'The poor man's API. I love it.
You need elinks, that's all. So: brew install elinks
we should merge :]
https://chrome.google.com/webstore/detail/bjkhdklfbghoadcaml...
I keep pulling even though my repo is up to date. These facts are addicting.
[deleted]
No, I fetch and then merge.
"Put those to your .bashrc or .zshrc"
git aliases should be added to gitconfig to avoid muddying the global namespace for commands.