Skip to content

Instantly share code, notes, and snippets.

View rberenguel's full-sized avatar

Ruben Berenguel rberenguel

View GitHub Profile
@rberenguel
rberenguel / evil-capitalise.el
Created January 29, 2014 10:35
Defining an operator in evil is easy. Example: evil-capitalise (bound to gc, then followed by a motion or text object)
(evil-define-operator evil-capitalise (beg end type)
"Convert text to lower case."
(if (eq type 'block)
(evil-apply-on-block #'evil-capitalise beg end nil)
(capitalize-region beg end)))
(define-key evil-normal-state-map "gc" 'evil-capitalise)
@rberenguel
rberenguel / view_html.el
Created December 22, 2013 17:51
Small emacs lisp snippet to open email as HTML in default browser. Found it somewhere over the net, but it is so awesome I need to save it for posterity. In a summary buffer use v h (think of it as "view html") to switch to HTML view. It works by generating a temporary file and stripping the html part of the current message into it.
(defun my-gnus-summary-view-html-alternative ()
"Display the HTML part of the current multipart/alternative MIME message
in current default browser."
(interactive)
(save-current-buffer
(gnus-summary-show-article)
(set-buffer gnus-article-buffer)
(let ((file (make-temp-file "html-message-" nil ".html"))
(handle (nth 3 (assq 1 gnus-article-mime-handle-alist))))
(mm-save-part-to-file handle file)
@rberenguel
rberenguel / PoorMan$.js
Last active December 25, 2015 17:29
A very poor man's HTML element selector. As much as I tried I couldn't fit it in a tweet, though. The best I could minify it has been to 154 bytes (as $$ below, it would be cool if it could be called ¢...)
function $(s){
z="getElement";n="Name";
a={"#" : z+"ById",
"." : z+"sByClass"+n,
}[s[0]];
a=typeof a==="undefined"?[z+"sByTag"+n,0]:[a,1];
return document[a[0]](s.slice(a[1]));
}
function $$(s){return S="slice",d=document,t=s[0],g="getElement",n="Name",t=="#"?d[g+"ById"](s[S](1)):t=="."?d[g+"sByClass"+n](s[S](1)):d[g+"sByTag"+n](s)}
@rberenguel
rberenguel / friendly_reddit_button.js
Last active December 23, 2015 10:49
A slightly better reddit upvote/downvote button
jQuery(document).ready(function() {
// This is the poor man's way of doing an straightforward, async load.
// I needed the reddit button in our pages, and our technical guy asked me
// to get an async version, since we have a very fast website and we'd rather
// keep it. Since reddit does not offer an async version this is the best I
// could come up after giving it 5 minutes thought. I could probably get
// something better which is actually async. Waiting for document.ready means that
// if something else is "very" blocking, the reddit button may never appear. But
// I'd rather settle for good enough than spend an stupidly long amount of time
// looking for the perfect solution to a minor problem.
@rberenguel
rberenguel / reddi.py
Last active July 7, 2019 11:22
*reddi.py*: Browse reddit from the command line (you'll have to change the location of your python *reddit*: Bindings to use reddipy from within the acme text editor from plan9ports (Plan 9 from User Space) reddit assumes reddi.py is in the same folder. Change it to suit your tastes. To read a little more about the shell reddit script that drive…
#!/opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/python
import urllib,json
import argparse
parser = argparse.ArgumentParser()
parser.add_argument( 'subreddit', nargs=1,help="Subreddit to browse, f.e. programming")
args= parser.parse_args()
subreddit = args.subreddit[0]
a = urllib.urlopen('http://www.reddit.com/r/'+str(subreddit)+'/.json')
try: