Skip to content

probablykasper/taskler

Repository files navigation

Quill Logo

Chrome Web Store Mozilla Add-on

Taskler

Taskler is a simple text editor web page. It's available as a website, Chrome extension and a Firefox extension.

You can use shortcuts like cmd+B for bold, cmd+I for italics, cmd+U for underline and cmd+K for links.

Screenshot

Data recovery

For some reason, Brave deleted all my localStorage data, including Taskler's. This does not seem to be a problem with Taskler. If you have a backup, Taskler's data can be restored. Brave stores localStorage at in the following folder in my case:

~/Library/Application Support/BraveSoftware/Brave-Browser/Default/Local Storage/leveldb

For Chrome, it's this folder in my case:

~/Library/Application Support/Google/Chrome/Profile 1/Local Storage/leveldb

You should be able to simply restore this folder. Keep in mind that this folder doesn't just contain Taskler's data.

What I did to restore my Taskler data was this:

  1. Restore the aforementioned folder into ~/Downloads
  2. Install golang
  3. Install leveldb-tools by running go get github.com/rchunping/leveldb-tools
  4. Export the database into plaintext format by running leveldb-tools -dbpath ~/Downloads/leveldb -action export -file ~/Downloads/dumpfile.txt
  5. Open ~/Downloads/dumpfile.txt and search for quill-state. If there are multiple instances of that, you might be able to tell which one is correct by the text after it.
  6. Select and copy the object that is after quill-state, starting with { and ending with }. Unfortunately you'll have to figure out where that is. In my case, this text came after the object: KL:=_chrome-extension://jnibmbpjkpfgaefgbnaneldfbfecpjih.
  7. In Taskler, open the developer tools and go to the Application tab. In the sidebar, open the item found inside Local Storage.
  8. You'll see a table with Key and Value columns. Double-click the value of the quill-state key and pase in the object.

Dev Instructions

Setup

  1. Install Node.js
  2. Run npm install to install dependencies

Commands

  • npm run dev:website: Start website dev server
  • npm run dev:extension: Build extension and watch for changes
  • npm run build:website: Build website
  • npm run build:extension: Build extension and create a zip in /dist, ready for distribution to stores
  • npm run format: Format code and apply code suggestions
  • npm run check: Check code

Publish new version

  1. Run npm run check
  2. Update CHANGELOG.md
  3. Update version in manifest.json
  4. Run npm run build:extension
  5. Commit with a tag in format "v#.#.#"
  6. Create GitHub release with the extension zip and release notes
  7. Merge dev into prod to deploy website
  8. Publish to Chrome and Firefox stores