{"id":26518707,"url":"https://github.com/4silvertooth/QwikTape","last_synced_at":"2025-03-21T10:01:45.236Z","repository":{"id":45286593,"uuid":"512702938","full_name":"4silvertooth/QwikTape","owner":"4silvertooth","description":"Do calculations, annotate like you would on a paper \"qwikly\".","archived":false,"fork":false,"pushed_at":"2025-01-25T11:43:55.000Z","size":537,"stargazers_count":241,"open_issues_count":2,"forks_count":9,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-25T12:25:00.229Z","etag":null,"topics":["calc","calculator","chevrotain","quickjs","sciter","sciter-js","tape"],"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/4silvertooth.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":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-07-11T09:58:36.000Z","updated_at":"2025-01-25T11:43:59.000Z","dependencies_parsed_at":"2024-01-27T12:32:13.872Z","dependency_job_id":"5b7b35f3-1e5e-4534-a9f6-e186f726e1b1","html_url":"https://github.com/4silvertooth/QwikTape","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4silvertooth%2FQwikTape","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4silvertooth%2FQwikTape/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4silvertooth%2FQwikTape/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4silvertooth%2FQwikTape/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4silvertooth","download_url":"https://codeload.github.com/4silvertooth/QwikTape/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244776289,"owners_count":20508505,"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":["calc","calculator","chevrotain","quickjs","sciter","sciter-js","tape"],"created_at":"2025-03-21T10:01:44.508Z","updated_at":"2025-03-21T10:01:45.228Z","avatar_url":"https://github.com/4silvertooth.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"Logo.png\"\n     alt=\"QwikTape logo by Viral Ghelani\" width=\"144\" height=\"166\"\u003e\n\u003c/p\u003e\n\u003cp  align=\"center\"\u003e\nDo calculations, annotate it like you would on a paper \"qwikly\". \n\u003c/p\u003e\n\u003cimg src=\"build/main-screen.png\" width=\"750\"\u003e\n\n\n# Features\n* Write text, calculations, and annotations with the same ease as you would on paper or in a book.\n* Annotate your calculations to avoid forgetting what they were about.\n* Perform calculations such as addition \u003ckbd\u003e+\u003c/kbd\u003e, subtraction \u003ckbd\u003e-\u003c/kbd\u003e, division \u003ckbd\u003e÷\u003c/kbd\u003e, multiplication \u003ckbd\u003e×\u003c/kbd\u003e, percentage \u003ckbd\u003e%\u003c/kbd\u003e, and power \u003ckbd\u003e^\u003c/kbd\u003e.\n* Create unlimited tapes using `+` button in tabs bar, switch between tapes using browser like tabs.\n* View/Rename/Delete your saved tapes in the Bookmark menu, use the top left menu to view all tapes.\n* Tapes will auto save, allowing you to pick up right where you left off.\n* The numbers will auto format and auto indented as you type.\n* Numbers are formatted according to your locale.\n* You can define variables and use it in calculations.\n* Hover cursor over variables to check it's value.\n* Customize colors using the settings menu \u003cimg src=\"src/assets/gear.svg\" width=\"20\"\u003e, number of decimals to display and indent length can be changed too.\n* Tape calculation doesn't use operator precedence, the results will be as you would type it on a calculator. \n```\n       100.00\n+      200.00\n×        3.00\n═════════════\n       900.00\n```\n* Expressions use operator precedence. `myvar = 100 + 200 × 3` myvar is `700`.\n* All calculations are performed with infinite precision, resulting in highly accurate and reliable results, so [`0.1 + 0.2 = 0.3`](https://0.30000000000000004.com/)\n* Export your tape as PDF \u003cimg src=\"src/assets/pdf.svg\" width=\"24\"\u003e.\n\n\u003cbr\u003e\u003c/br\u003e\nEITHER \n\n[Download QwikTape](https://github.com/4silvertooth/QwikTape/releases) from releases,\n\nOR \n```bash\ngit clone --recurse-submodules https://github.com/4silvertooth/QwikTape.git\n```\nand run\n\n[**`run-win.bat`**](run-win.bat) for windows\n[**`sh run-linux.sh`**](run-linux.sh) for linux\n[**`sh run-macosx.sh`**](run-macosx.sh) for macosx\n\n\n# What's in a name?\nQwikTape the name is inspired by [QuickJs](https://github.com/bellard/quickjs) used by [Sciter](https://gitlab.com/sciter-engine/sciter-js-sdk), the engine which powers this application, and [Tape](https://en.wikipedia.org/wiki/Punched_tape) which is what it used to be called for such documents. \n\nThe logo is inspired by the [Rail-Road](http://htmlpreview.github.io/?https://github.com/4silvertooth/QwikTape/blob/main/build/railroad-diagram.htm) diagram the QwikTape grammar generates and a calculator.\n\n[Chevrotain](https://github.com/Chevrotain/chevrotain) toolkit to build the parser.\n\nAlso inspired by [CalcTape](https://calctape.app/), [Numi](https://numi.app/), [Soulver](https://soulver.app/), [Calca](http://calca.io/)\n\n# Keyboard Shortcuts\n| | Windows/Linux | MacOs |\n| :---:   | :---: | :---: |\n| New Tape | \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eT\u003c/kbd\u003e | \u003ckbd\u003e\u0026#8984;\u003c/kbd\u003e+\u003ckbd\u003eT\u003c/kbd\u003e |\n| New Tape | \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eN\u003c/kbd\u003e | \u003ckbd\u003e\u0026#8984;\u003c/kbd\u003e+\u003ckbd\u003eN\u003c/kbd\u003e |\n| Switch Tapes | \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eTab\u003c/kbd\u003e | \u003ckbd\u003e\u0026#8984;\u003c/kbd\u003e+\u003ckbd\u003eTab\u003c/kbd\u003e |\n| Close Tape | \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eW\u003c/kbd\u003e | \u003ckbd\u003e\u0026#8984;\u003c/kbd\u003e+\u003ckbd\u003eW\u003c/kbd\u003e |\n| Clear Tape | \u003ckbd\u003eESC\u003c/kbd\u003e * | \u003ckbd\u003eESC\u003c/kbd\u003e * |\n\n *Select `Press ESC to clear tape content?` from settings to clear tape on pressing ESC. \n\n# FAQ\nTo execute linux binary after downloading use this command. \n```sh \nsudo chmod +x qwiktape\n``` \n\nTo execute macosx binary use this command. \n```sh\nsudo chmod +x qwiktape\nsudo xattr -d com.apple.quarantine qwiktape\n```\n### Relocating QwikTape to a Portable Location (e.g., a Pen Drive)\nTo move QwikTape to a portable location:\n\n* Locate the `qwiktapes.db` file, typically found in the `Documents` folder of your operating system.\nMove the `qwiktapes.db` file to the same directory as the QwikTape application executable.\n\n* If QwikTape does not detect the `qwiktapes.db` file in the `Documents` folder, it will automatically search for the file in the same directory as the application executable.\n\n# Mentions\n[ilovefreesoftware](https://www.ilovefreesoftware.com/17/webware/free-virtual-notepad-for-windows-with-calculator-annotations-qwiktape.html) made a little tutorial to use QwikTape.\n\n# Coming up.\n* i18n\n\n# Developers\nQwikTape uses awesome Sciter SDK for its gui and chevrotain for the parser,\n\nClone the repo with submodules using,\n\n```\ngit clone --recurse-submodules https://github.com/4silvertooth/QwikTape.git\n```\nDirectory structure,\n\n* `sdk` the sciter-js-sdk as a submodule\n\n* `src` the source directory of the application\n    * `assets` icons and logos\n    * `components` all the reactor widgets\n    * `chevrotain` the parser toolkit\n    * `parser` the heart of it all\n    * `storage` the database logic\n    * \u003ci\u003e`main.htm`\u003c/i\u003e the entry point\n* `tests` all the tests goes in here\n* `run-dev.html` for developers to debug and support in making changes.\n\nStart developer mode by using,\n\n[**`run-win.bat -dev`**](run-win.bat) for windows\n\n[**`sh run-linux.sh -dev`**](run-linux.sh) for linux\n\n[**`sh run-macosx.sh -dev`**](run-macosx.sh) for macosx\n\nfrom the `prompt`, it will give you developer view of QwikTape with controls to help you make changes. It launches `scapp` from sciter-js-sdk with [run-dev.html](run-dev.html) in `--debug` mode. Use inspector to inspect.\n\nUse,\n\n* `Diagram` to produce rail-road diagram of the parser grammar.\n\n* `Refresh` to refresh the application frame for any changes to css or html.\n\n* `Tests` to bring up all the tests, run tests from the toolwindow.\n\n* `Screen Shot` to capture the image of the main application. \n\n* `Build` to produce final builds.\n\n* `Inspector` to open inspector for debugging \n\n* `Help` to open sciter sdk documentation\n\n\u003cbr\u003e\u003c/br\u003e\nI've build all assets like icons and logos inside [`src/assets`](src/assets) in figma and are licensed under [CC](\nhttps://creativecommons.org/licenses/by/4.0/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4silvertooth%2FQwikTape","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4silvertooth%2FQwikTape","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4silvertooth%2FQwikTape/lists"}