{"id":13395466,"url":"https://github.com/defunkt/dotjs","last_synced_at":"2025-04-14T08:16:24.807Z","repository":{"id":63187515,"uuid":"1336779","full_name":"defunkt/dotjs","owner":"defunkt","description":"~/.js","archived":false,"fork":false,"pushed_at":"2018-07-26T16:09:13.000Z","size":579,"stargazers_count":3151,"open_issues_count":27,"forks_count":337,"subscribers_count":61,"default_branch":"master","last_synced_at":"2025-03-31T00:08:08.744Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://bit.ly/dotjs","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/defunkt.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-02-07T07:01:33.000Z","updated_at":"2025-03-15T18:44:48.000Z","dependencies_parsed_at":"2022-11-14T14:45:20.052Z","dependency_job_id":null,"html_url":"https://github.com/defunkt/dotjs","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defunkt%2Fdotjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defunkt%2Fdotjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defunkt%2Fdotjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defunkt%2Fdotjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/defunkt","download_url":"https://codeload.github.com/defunkt/dotjs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247574085,"owners_count":20960496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T17:02:00.522Z","updated_at":"2025-04-07T01:07:40.701Z","avatar_url":"https://github.com/defunkt.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"This project is archived and no longer mainted.\n\nCheck out its successor, which is way better and \nruns on all platforms: \n\n[Witchcraft](https://github.com/luciopaiva/witchcraft)\n\ndotjs\n=====\n\ndotjs  is a  Google Chrome  extension  that executes\nJavaScript files in `~/.js` based on their filename.\n\nIf  you navigate to  `http://www.google.com/`, dotjs\nwill execute `~/.js/google.com.js`.\n\nThis makes it super  easy to spruce up your favorite\npages using JavaScript.\n\nOn subdomains such as `http://gist.github.com` dotjs\nwill try to load `~/.js/gist.github.com.js`  as well\nas `~/.js/github.com.js` and `~/.js/com.js`.\n\nBonus:  files  in `~/.js`  have jQuery 1.9  loaded,\nregardless  of  whether  the  site  you're  hacking\nuses jQuery.\n\nDouble bonus: `~/.js/default.js`  is loaded on every\nrequest,  meaning you  can stick  plugins  or helper\nfunctions in it.\n\nGreaseMonkey user scripts are great, but you need to\npublish them  somewhere and re-publish  after making\nmodifications. With dotjs, just add or edit files in\n`~/.js`.\n\n## Example\n\n    $ cat ~/.js/github.com.js\n    // swap github logo with trollface\n    $('a[class^=header-logo-]').html(\n        $('\u003cimg\u003e')\n            .attr('src', '//bit.ly/ghD24e')\n            .css({'width': 'auto', 'height': '22px'})\n        );\n\n![](http://puu.sh/1Kjvw)\n\n## How It Works\n\nChrome extensions can't access the local filesystem,\nso dotjs  runs a tiny  web server on port  3131 that\nserves files out of ~/.js.\n\nYou don't  have to worry about  starting or stopping\nthis web server because  we put a pretty great plist\ninto  ~/Library/LaunchAgents that  handles  all that\nfor us.\n\nThe dotjs Chrome extension then makes ajax requests\nto http://localhost:3131/convore.com.js any time you\nhit a page on convore.com, for example, and executes\nthe returned JavaScript.\n\n## Requires\n\n- OS X\n- Ruby 1.8\n- rake (gem install rake)\n- Google Chrome\n- `/usr/local/bin` in your $PATH\n\n## Install it\n\n    git clone http://github.com/defunkt/dotjs\n    cd dotjs\n    rake install\n\nNow open \u003chttps://localhost:3131\u003e in Chrome and follow these steps:\n\n- Click the \"X\" Padlock icon in the address bar\n- Click \"Certificate Information\"\n- Drag the large cert icon to your desktop\n- Open it with Keychain\n- Configure its **Trust** section as shown: http://cl.ly/Pdny\n\nFinally install the Google Chrome extension:\n\nhttp://bit.ly/dotjs\n\n## Uninstall it\n\n    rake uninstall\n\n## Credits\n\n- Icon: \u003chttp://raphaeljs.com/icons/\u003e\n- jQuery: \u003chttp://jquery.com/\u003e\n- Ryan Tomayko for:\n\n\u003e \"I almost wish you could just\n   stick JavaScript in ~/.js. Do\n   you know what I'm saying?\"\n\n## Linux\n\n- [dotjs-ubuntu](https://github.com/glenbot/dotjs-ubuntu)\n\n## Windows\n\n- [dotjs-universal](https://github.com/p3lim/dotjs-universal)\n\n## Other Browsers\n\n- [Firefox Add-on](https://github.com/rlr/dotjs-addon)\n- [Safari Extension](https://github.com/wfarr/dotjs.safariextension)\n- [Fluid UserScript](https://github.com/sj26/dotjs-fluid)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefunkt%2Fdotjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdefunkt%2Fdotjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefunkt%2Fdotjs/lists"}