HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
defunkt
dotjs
Ruby2011–2021
defunkt / dotjs

dotjs

~/.js

16Distinct people
16Mentions
0Explicit recommenders
3.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

~/.js

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year16 dated mentions

Observed mentions: 2011-03-10 05:15:20 UTC to 2021-01-24 03:51:52 UTC.

0123452011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20112012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC202
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC101
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC505
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC202
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC321
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
This project is archived and no longer mainted. Check out its successor, which is way better and runs on all platforms: Witchcraft dotjs dotjs is a Google Chrome extension that executes JavaScript files in ~/.js based on their filename. If you navigate to http://www.google.com/, dotjs will execute ~/.js/google.com.js. This makes it super easy to spruce up your favorite pages using JavaScript. On subdomains such as http://gist.github.com dotjs will try to load ~/.js/gist.github.com.js as well as ~/.js/github.com.js and ~/.js/com.js. Bonus: files in ~/.js have jQuery 1.9 loaded, regardless of whether the site you're hacking uses jQuery. Double bonus: ~/.js/default.js is loaded on every request, meaning you can stick plugins or helper functions in it. GreaseMonkey user scripts are great, but you need to publish them somewhere and re-publish after making modifications. With dotjs, just add or edit files in ~/.js. Example $ cat ~/.js/github.com.js // swap github logo with trollface $('a[class^=header-logo-]').html( $('<img>') .attr('src', '//bit.ly/ghD24e') .css({'width': 'auto', 'height': '22px'}) ); How It Works Chrome extensions can't access the local filesystem, so dotjs runs a tiny web server on port 3131 that serves files out of ~/.js. You don't have to worry about starting or stopping this web server because we put a pretty great plist into ~/Library/LaunchAgents that handles all that for us. The dotjs Chrome extension then makes ajax requests to http://localhost:3131/convore.com.js any time you hit a page on convore.com, for example, and executes the returned JavaScript. Requires OS X Ruby 1.8 rake (gem install rake) Google Chrome /usr/local/bin in your $PATH Install it git clone http://github.com/defunkt/dotjs cd dotjs rake install Now open https://localhost:3131 in Chrome and follow these steps: Click the "X" Padlock icon in the address bar Click "Certificate Information" Drag the large cert icon to your desktop Open it with Keychain Configure its Trust section as shown: http://cl.ly/Pdny Finally install the Google Chrome extension: http://bit.ly/dotjs Uninstall it rake uninstall Credits Icon: http://raphaeljs.com/icons/ jQuery: http://jquery.com/ Ryan Tomayko for: "I almost wish you could just stick JavaScript in ~/.js. Do you know what I'm saying?" Linux dotjs-ubuntu Windows dotjs-universal Other Browsers Firefox Add-on Safari Extension Fluid UserScript
Read the full README on GitHub

What Hacker News says

16 sources
I’ve also hacked bigger voting buttons (for the sake of Fitt’s law [1]) and some indentation marks [0] which I find quite helpful, both included with ~/.js [2]. [0]: https://i.imgur.com/Bp3ra28.png [1]: https://en.wikipedia.org/wiki/Fitts%27s_law [2]: https://github.com/defunkt/dotjs td { vertical-align: top } td > img { background: repeating-linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) 38px, rgba(0,0,0,0.3) 38px, rgba(0,0,0,0.3) 40px); margin-top: 4px; height: 12px!important } div.votearrow { padding-bottom: 3px; background: url('https://i.imgur.com/UVPQXRX.png') !important; width: 20px!important;}
In Show HN: Collapse HN Comments
LOL, are you fucking kidding me… One of the points of the blog post is that web browsing in Emacs allows you to integrate browser work and Emacs work, which for me is the most compelling one. But you can possibly achieve something similar by integrating Emacs into Firefox via SSH and using for example .js [1] for automatization work. That way you wouldn’t have the disadvantage that you basically lose most formatting and layout which are actually quite helpful if you stay away from the loud and annoying websites. That’s why I thought it was worth mentioning. I also use Tree Style Tabs and it could be helpful to keep work related websites and Emacs buffers organized in that way. [1]: https://github.com/defunkt/dotjs
In Why browse the Web in Emacs? (2008)
The other day I needed a script to tweak images on Wikipedia so I looked into Greasmonkey. I installed it on Chrome and started writing the script. Then I remembered that I'd seen an alternative before which simply runs a JS file on your FS that contains the URL's host inside ~/.js. It's called dotjs [1] and it's really strait forward to use as it does not require the complicated header section. See the tiny script I wrote to see how easy it is to run custom JS on any domain [2]. [1] https://github.com/defunkt/dotjs [2] https://github.com/fphilipe/dotfiles/blob/master/js/wikipedi...
In How To Create Your Own Chrome Extensions

Showing the 15 most recent of 16 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.