{"id":13474230,"url":"https://github.com/mikker/joof","last_synced_at":"2025-03-26T21:31:00.242Z","repository":{"id":57281568,"uuid":"96207566","full_name":"mikker/joof","owner":"mikker","description":"🌎💨 Add custom JavaScript or CSS to any webpage","archived":true,"fork":false,"pushed_at":"2024-03-11T20:26:32.000Z","size":172,"stargazers_count":26,"open_issues_count":4,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-15T00:15:20.522Z","etag":null,"topics":["browser-extension","css","customization","dotfiles","js","nodejs","safari-extension"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/mikker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/com.brnbw.joof.plist","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-04T10:45:58.000Z","updated_at":"2024-03-11T20:26:47.000Z","dependencies_parsed_at":"2024-10-30T05:51:21.683Z","dependency_job_id":null,"html_url":"https://github.com/mikker/joof","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikker%2Fjoof","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikker%2Fjoof/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikker%2Fjoof/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikker%2Fjoof/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikker","download_url":"https://codeload.github.com/mikker/joof/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245738543,"owners_count":20664297,"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":["browser-extension","css","customization","dotfiles","js","nodejs","safari-extension"],"created_at":"2024-07-31T16:01:10.541Z","updated_at":"2025-03-26T21:30:59.930Z","avatar_url":"https://github.com/mikker.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cp align='center'\u003e\u003cimg src='https://s3.brnbw.com/Joof-title-gq1SN6Paes.png' width=530 height=260 /\u003e\u003c/p\u003e\n\n\u003cp align='center'\u003e\n  \u003ca href='https://travis-ci.org/mikker/joof'\u003e\u003cimg src='https://img.shields.io/travis/mikker/joof.svg' /\u003e\u003c/a\u003e\n  \u003ca href='https://www.npmjs.com/package/joof'\u003e\u003cimg src='https://img.shields.io/npm/v/joof.svg' /\u003e\u003c/a\u003e\n  \u003ca href='https://github.com/mikker/joof/blob/master/LICENSE'\u003e\u003cimg src='https://img.shields.io/npm/l/joof.svg' /\u003e\u003c/a\u003e\n  \u003ca href='https://github.com/prettier/prettier'\u003e\u003cimg src='https://img.shields.io/badge/styled_with-prettier-ff69b4.svg' /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp\u003e \u003c/p\u003e\n\n---\n\n\u003ch1 align='center'\u003e🚨 Joof is no longer maintained in this form.\u003cbr\u003eInstead it lives on as a native Mac app at \u003ca href='https://getsprinkles.app'\u003eSprinkles.app\u003c/a\u003e\u003c/h1\u003e\n\n---\n\n**`joof` allows you to add custom JavaScript or CSS to any webpage.**\n\nIt does so by injecting `.js` and `.css` files in `~/.joof` with a browser extension and a tiny webserver running in the background.\n\nSimilar extensions can also do this but they will probably make you use some kind of textarea-based in-browser editor like an animal and importing and exporting scripts quickly becomes tedious.\n\nBy having our customizations outside the browser in plain files you can use whatever editor you fancy and it's trivial to include them in your dotfiles or sync them with Dropbox or whatever.\n\nIf this sounds like [dotjs](https://github.com/defunkt/dotjs) it's because it is. It's the exact same idea, just maintained and with added support for CSS files.\n\n## Installation\n\n```sh\n$ npm install -g joof\n$ joof setup\n```\n\nThis will …\n\n1. Create the `~/.joof` directory\n2. Install the daemon as a macOS service running on `https://localhost:3131`\n3. Accept a self-signed certificate to allow `https` requests from `localhost`\n4. Install the Safari extension\n\n### Chrome extension\n\nThere's also a Chrome extension. [Download it here](https://github.com/mikker/joof/raw/master/ext/chrome.crx). To complete the installation, open https://localhost:3131 in Chrome and click `ADVANCED` then `Proceed to localhost` to accept the self-signed certificate.\n\n## Usage\n\nCreate `.js` or `.css` files in `~/.joof` with filenames matching the domain of the website you want to spice up.\n\nEg. for a much more creamy GitHub experience create `~/.joof/github.com.css`:\n\n```css\nbody { background-color: papayawhip }\nsvg[class*='octicon-mark-github'] { transform: rotate(180deg); }\n```\n\n\u003cimg src='https://s3.brnbw.com/Screen-Shot-2017-07-05-at-11.42.57-zNJKFuWnp5.png' alt='PapayaHub' width=366 /\u003e\n\nWhen visiting `github.com` joof will look for 3 files in `~/.joof`:\n\n1. `global.js`\n2. `github.com.js`\n3. `github.com.css`\n\n## Limitations\n\nSome sites have strict(er) Content Security Policies (eg. google.com). Good for them! But it unfortunately means that joof can't inject neither scripts nor styles into them.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikker%2Fjoof","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikker%2Fjoof","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikker%2Fjoof/lists"}