{ "info": { "author": "Paul Hooijenga", "author_email": "paulhooijenga@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "dotjs\n=====\n\ndotjs is a Google Chrome extension that executes JavaScript files in\n``~/.js`` based on their filename.\n\nIf you navigate to ``http://www.google.com/``, dotjs will execute\n``~/.js/google.com.js``.\n\nThis makes it super easy to spruce up your favorite pages using\nJavaScript.\n\nOn subdomains such as ``http://gist.github.com`` dotjs will try to load\n``~/.js/gist.github.com.js`` as well as ``~/.js/github.com.js`` and\n``~/.js/com.js``.\n\nBonus: files in ``~/.js`` have jQuery 1.9 loaded, regardless of whether\nthe site you're hacking uses jQuery.\n\nDouble bonus: ``~/.js/default.js`` is loaded on every request, meaning\nyou can stick plugins or helper functions in it.\n\nGreaseMonkey user scripts are great, but you need to publish them\nsomewhere and re-publish after making modifications. With dotjs, just\nadd or edit files in ``~/.js``.\n\nExample\n-------\n\n::\n\n $ cat ~/.js/github.com.js\n // swap github logo with trollface\n $('a[class^=header-logo-]').html(\n $('')\n .attr('src', '//bit.ly/ghD24e')\n .css({'width': 'auto', 'height': '22px'})\n );\n\n.. figure:: http://puu.sh/1Kjvw\n :alt:\n\nHow It Works\n------------\n\nChrome extensions can't access the local filesystem, so dotjs runs a\ntiny web server on port 3131 that serves files out of ~/.js.\n\nThe dotjs Chrome extension then makes ajax requests to\nhttp://localhost:3131/convore.com.js any time you hit a page on\nconvore.com, for example, and executes the returned JavaScript.\n\nRequires\n--------\n\n- Python >= 2.6\n- Google Chrome\n\nInstall it\n----------\n\n::\n\n git clone http://github.com/hackedd/python-dotjs\n cd python-dotjs\n python setup.py install\n\nOS X:\n~~~~~\n\n- Open https://localhost:3131 in Google Chrome\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\nWindows:\n~~~~~~~~\n\n- Export the certificate as a \".cer\" file::\n\n dotjs --print-cert > %TEMP%\\dotjs.cer\n\n- Right-click the exported \".cer\" file, click \"Install Certificate\"\n- Complete the Wizard to import the certificate to the Windows\n Certificate store. Make sure to select ``Trusted Root Certification\n Authorities`` as the destination store when asked.\n\nUbuntu:\n~~~~~~~\n\n- Use ``certutil`` to import the certificate to your NSS database::\n\n dotjs --print-cert | certutil -d sql:$HOME/.pki/nssdb -A \\\n -t \"P,,\" -n localhost-dotjs\n\nYou might need to restart Chrome before it sees the certificate as trusted.\nYou can verify if the certificate is correctly installed by opening\nhttps://localhost:3131 in Chrome.\n\nFinally install the Google Chrome extension: http://bit.ly/dotjs\n\nCredits\n-------\n\n- Original version: https://github.com/defunkt/dotjs\n- Icon: http://raphaeljs.com/icons/\n- jQuery: http://jquery.com/\n- Ryan Tomayko for:\n\n \"I almost wish you could just stick JavaScript in ~/.js. Do you know\n what I'm saying?\"\n\nOther Browsers\n--------------\n\n- `Firefox Add-on`_\n- `Safari Extension`_\n- `Fluid UserScript`_\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\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hackedd/python-dotjs", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "dotjs", "package_url": "https://pypi.org/project/dotjs/", "platform": "", "project_url": "https://pypi.org/project/dotjs/", "project_urls": { "Homepage": "https://github.com/hackedd/python-dotjs" }, "release_url": "https://pypi.org/project/dotjs/1.0.4/", "requires_dist": null, "requires_python": "", "summary": "A Python implementation of the dotjs HTTP server", "version": "1.0.4" }, "last_serial": 4405841, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "7f08a8dfa260822f333048ac8c52e864", "sha256": "a6df4e8d6e0231507083f47083af2495845630b446081eb5b6a778d459ed8321" }, "downloads": -1, "filename": "dotjs-1.0.tar.gz", "has_sig": false, "md5_digest": "7f08a8dfa260822f333048ac8c52e864", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7085, "upload_time": "2013-10-28T13:05:45", "url": "https://files.pythonhosted.org/packages/66/5c/10fdac2232a2e27f2df2943471b28242a20db20a548a09bd9690756ce7d6/dotjs-1.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "900f1a567476187b7e75bd6a5e4ee4c0", "sha256": "5fd8ba9b36344d26898785169b44641cbf038b0cd00af41de50f7d9de0c9b41d" }, "downloads": -1, "filename": "dotjs-1.0.win32.exe", "has_sig": false, "md5_digest": "900f1a567476187b7e75bd6a5e4ee4c0", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 210605, "upload_time": "2013-10-28T13:15:15", "url": "https://files.pythonhosted.org/packages/12/59/9599f7ff477927d7ac8e39157eeb956dcf42ca80037efc522566b8be3d5e/dotjs-1.0.win32.exe" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "ddf2044aa11fc57512daf1cacda0511c", "sha256": "6a20ebf7df73045728b75fe6c55dc92eb0c1913db896edb60feafc9d3badcdb0" }, "downloads": -1, "filename": "dotjs-1.0.2.tar.gz", "has_sig": false, "md5_digest": "ddf2044aa11fc57512daf1cacda0511c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7443, "upload_time": "2014-02-10T19:39:00", "url": "https://files.pythonhosted.org/packages/3d/40/69a16265c2d48d34b209a20df3b2c53127fa9feadff979288423e6b0fcf5/dotjs-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "d4d261f182ea604a01b2d79569f5f5f6", "sha256": "faf2b73b3c1867dfbbb02905ea3b1f53b10c0d90bdc999ae06586a1a5b65a6c5" }, "downloads": -1, "filename": "dotjs-1.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "d4d261f182ea604a01b2d79569f5f5f6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7640, "upload_time": "2018-10-15T13:35:36", "url": "https://files.pythonhosted.org/packages/5b/37/dcda65c51fc851f108972044148e28567bdac880935589f088ce808f16f6/dotjs-1.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c1a99ede81721b0c7fa4a637de39bf1", "sha256": "f34bc2d64e94d6f848c62f0fd650418a40b55c5eb945cd15b37a5925ad243292" }, "downloads": -1, "filename": "dotjs-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0c1a99ede81721b0c7fa4a637de39bf1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7639, "upload_time": "2018-10-15T13:35:37", "url": "https://files.pythonhosted.org/packages/20/e1/ae86586288c450d7184521b18563596c2e94d3f7d73f260d68504a617634/dotjs-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e532e14494adf55324ac61ef2609ba7", "sha256": "4ca53b7ddad0c869d5741429a741e64c8307b3fb7ebcd1df8844c97b1b234439" }, "downloads": -1, "filename": "dotjs-1.0.3.tar.gz", "has_sig": false, "md5_digest": "2e532e14494adf55324ac61ef2609ba7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7555, "upload_time": "2018-10-15T13:35:38", "url": "https://files.pythonhosted.org/packages/9a/6a/fef5e25df203b2b6308efbce3b72b8fb275e3e56b719b12f4a3720733380/dotjs-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "ca188db30b3630e19d63a3625b98faf4", "sha256": "92b8febcd4f1cd408156a207e8d83c67c0012219b66d7dadfd6886a5baaace2f" }, "downloads": -1, "filename": "dotjs-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "ca188db30b3630e19d63a3625b98faf4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7704, "upload_time": "2018-10-23T10:15:38", "url": "https://files.pythonhosted.org/packages/d4/de/76d9ab4fbebf3f0d8c5e600ca23ff5a585c728e61bede5f6615036550abf/dotjs-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c439e05ff32fd239d44da7e950dae92d", "sha256": "4b4a719e6b598195f1e21238cb58b782d9ec88548e9ecab58510064de7d5804f" }, "downloads": -1, "filename": "dotjs-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c439e05ff32fd239d44da7e950dae92d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7702, "upload_time": "2018-10-23T10:15:39", "url": "https://files.pythonhosted.org/packages/49/ff/0d80fd13207f0f70d2e1b65850df60858b1b7888951117f6ba184696cdc1/dotjs-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eead2e269916f0c370de531e09ea4d6a", "sha256": "09d206d38cc69a63be06ce2410d7a031e2e8de61b720752d1db8c4340afb5f47" }, "downloads": -1, "filename": "dotjs-1.0.4.tar.gz", "has_sig": false, "md5_digest": "eead2e269916f0c370de531e09ea4d6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7621, "upload_time": "2018-10-23T10:15:41", "url": "https://files.pythonhosted.org/packages/ea/89/8af41e59c683117df4dab1fa2456ef5fce05161cb133fdd711e8387ad8c7/dotjs-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ca188db30b3630e19d63a3625b98faf4", "sha256": "92b8febcd4f1cd408156a207e8d83c67c0012219b66d7dadfd6886a5baaace2f" }, "downloads": -1, "filename": "dotjs-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "ca188db30b3630e19d63a3625b98faf4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7704, "upload_time": "2018-10-23T10:15:38", "url": "https://files.pythonhosted.org/packages/d4/de/76d9ab4fbebf3f0d8c5e600ca23ff5a585c728e61bede5f6615036550abf/dotjs-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c439e05ff32fd239d44da7e950dae92d", "sha256": "4b4a719e6b598195f1e21238cb58b782d9ec88548e9ecab58510064de7d5804f" }, "downloads": -1, "filename": "dotjs-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c439e05ff32fd239d44da7e950dae92d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7702, "upload_time": "2018-10-23T10:15:39", "url": "https://files.pythonhosted.org/packages/49/ff/0d80fd13207f0f70d2e1b65850df60858b1b7888951117f6ba184696cdc1/dotjs-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eead2e269916f0c370de531e09ea4d6a", "sha256": "09d206d38cc69a63be06ce2410d7a031e2e8de61b720752d1db8c4340afb5f47" }, "downloads": -1, "filename": "dotjs-1.0.4.tar.gz", "has_sig": false, "md5_digest": "eead2e269916f0c370de531e09ea4d6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7621, "upload_time": "2018-10-23T10:15:41", "url": "https://files.pythonhosted.org/packages/ea/89/8af41e59c683117df4dab1fa2456ef5fce05161cb133fdd711e8387ad8c7/dotjs-1.0.4.tar.gz" } ] }