Files
MagnumOpus/Ideas/Timefox/Firefox Extension.md
2026-03-10 10:45:08 +01:00

31 lines
1.9 KiB
Markdown

# Timefox
To develop a Firefox (and Chrome) extension, you need to do the following
things [Source](https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/):
- Install Node and the `web-ext` package
- Find a baseline example: <https://github.com/mdn/webextensions-examples>
- Or alternatively use the boilerplate tool: <https://extensionworkshop.com/documentation/develop/browser-extension-development-tools/#boilerplating-tools>
- The entry point is the `manifest.json` file; see [documentation](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json)
Interesting for Timefox:
- [localstorage and URL connection](https://github.com/mdn/webextensions-examples/tree/master/annotate-page)
- [Persistent storage](https://github.com/mdn/webextensions-examples/tree/master/quicknote)
- [Pop-up](https://github.com/mdn/webextensions-examples/tree/master/beastify)
- [Keyboard shortcuts](https://github.com/mdn/webextensions-examples/tree/master/commands)
- [oAuth](https://github.com/mdn/webextensions-examples/tree/master/stored-credentials)
- [Session State](https://github.com/mdn/webextensions-examples/tree/master/session-state)
- [Runtime Notifications](https://github.com/mdn/webextensions-examples/tree/master/runtime-examples)
- [Page to Extension Messageing](https://github.com/mdn/webextensions-examples/tree/master/page-to-extension-messaging)
- [Overview page](https://github.com/mdn/webextensions-examples/tree/master/navigation-stats)
- [Tests](https://github.com/mdn/webextensions-examples/tree/master/mocha-client-tests)
- [HTTP response](https://github.com/mdn/webextensions-examples/tree/master/http-response)
- [Messaging between extension and app](https://github.com/mdn/webextensions-examples/tree/master/native-messaging)
## Ideas
- put the timer in the right click menu
- put the timestack as "stack" in a sidebar (<https://github.com/mdn/webextensions-examples/tree/master/imagify>)