{"id":30194065,"url":"https://github.com/mlagerberg/noot","last_synced_at":"2025-08-13T02:09:17.519Z","repository":{"id":295632234,"uuid":"990594710","full_name":"mlagerberg/noot","owner":"mlagerberg","description":"A plain-text to-do list manager and text editor for Android","archived":false,"fork":false,"pushed_at":"2025-06-18T09:59:21.000Z","size":7151,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-18T10:30:45.948Z","etag":null,"topics":["note-taking-app","shopping-list-app","todo-list-app"],"latest_commit_sha":null,"homepage":"https://mlagerberg.com/noot/","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mlagerberg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","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,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"mathijsl","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-05-26T10:53:34.000Z","updated_at":"2025-05-26T23:18:54.000Z","dependencies_parsed_at":"2025-06-18T10:35:52.666Z","dependency_job_id":null,"html_url":"https://github.com/mlagerberg/noot","commit_stats":null,"previous_names":["mlagerberg/noot"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mlagerberg/noot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlagerberg%2Fnoot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlagerberg%2Fnoot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlagerberg%2Fnoot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlagerberg%2Fnoot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mlagerberg","download_url":"https://codeload.github.com/mlagerberg/noot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlagerberg%2Fnoot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270166108,"owners_count":24538445,"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","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["note-taking-app","shopping-list-app","todo-list-app"],"created_at":"2025-08-13T02:09:10.897Z","updated_at":"2025-08-13T02:09:17.464Z","avatar_url":"https://github.com/mlagerberg.png","language":"Dart","funding_links":["https://ko-fi.com/mathijsl"],"categories":[],"sub_categories":[],"readme":"# Noot.\n\nNoot is a new app for Android that is equal parts to-do list keeper, text\neditor, journaling app, and Markdown editor. It revolves around using plain text\nfiles for storage.\n\n![Example](https://mlagerberg.com/content/images/size/w2000/2025/03/sample_main.png)\n\nBack in 2020 I released a [plain text to-do file format and syntax highlighter\nfor Sublime Text](https://github.com/mlagerberg/todo?ref=mlagerberg.com). The\nidea is simple: you write your checkboxes in a text file, with whatever editor\nyou want, and then check them off using a check-mark: 'v'. Syncing is your own\nresponsibility: you can use Git or Drive or Dropbox, or something more open like\nSyncthing. Either way: no vendor lock-in. The 'back-end' is just a text file.\n\n## Noot app\n\nThe app is a perfect companion for mobile for two big reasons:\n\n- File editors on Android are almost always either offer poor UX, or are unsuited for simple .txt file editing, or are locked to a certain cloud provider.\n- Typing a 'v' between to brackets is easy on a desktop keyboard, not so much on a phone.\n\n![Screenshots](resources/three-screenshots.png)\n\n**Download now on [Google Play](https://play.google.com/store/apps/details?id=com.droptablecompanies.todo)**\n\n### Features\n\n- A complete list manager that does not bug you but lets you organize your tasks the way you want it. Works equally well for your daily tasks as for a shopping list as for the list of movies your friends have recommended but you're probably not going to watch.\n- Plain text editor. With markdown syntax highlighting.\n- Rich text markdown editor.\n- Light mode and dark mode (Monokai theme).\n- Tablet layout included\n\n## Quickstart\n\n```\nflutter pub get\n``` \n\nThen run the app from Android Studio.\n\nIf the localization files are not automatically generated, run this command:\n\n```\nflutter gen-l10n\n```\n\n## Quirks\n\nTo allow wrapping in the code editor, we use a custom fork of\n[flutter-code-editor](https://github.com/flutter/flutter-code-editor).\n[This fork](https://github.com/mlagerberg/flutter-code-editor) fixes broken line\nwrapping in the editor (at the cost of hiding line numbers), and adds a few\noptimizations to squeeze out a bit of performance.\n\nNote that, due to the way text editors in Flutter work, editing large files in\ncode mode is quite slow. I've attempted to improve performance of the code\neditor package, but this is even a problem with a plain `TextField` widget.\nI'm investigating how to build a replacement, but for the time being I suggest\nediting large files with either the To-do mode or the built-in Markdown editor. \n\n## Create production builds\n\n1. Update version number in the `pubspec.yaml`.\n2. Build:\n\n```\nflutter gen-l10n\nflutter build appbundle\n```\n\nThis app is not (yet) compatible with iOS because of the way files are opened is\ndirectly tailored to Android.\n\n# Roadmap\n\nThere is no clear roadmap, as this is a side project that I am unable to put a\nlot of time into. Here are improvements I want to make:\n\n- Iron out bugs.\n- Add toolbar buttons to make it easier to modify text style and markup.\n- Publish on FDroid\n\nI am also considering adding support for iOS. iOS does not let apps access a\nshared file system, so files will have to be shared through iCloud. While this\ngoes against the 'use your own backend' philosophy, I'm open to work with\nwhat's available and work on this anyway.\n\nThe full list of open tasks is, of course, in a [To-do-formatted plain text file](noot.todo.txt).\n\n# Support\n\nLike this app? \n\n[\u003cimg src=\"resources/support_me_on_kofi_blue.png\" width=\"200\" alt=\"Support me on Ko-fi\" /\u003e](https://ko-fi.com/mathijsl)\n\n# License\n\nThis project uses the GNU GPLv3 license. See COPYING for the license in full.\n\n```\nNoot. Note-taking and todo-list app.\nCopyright (C) 2025  Mathijs Lagerberg\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlagerberg%2Fnoot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmlagerberg%2Fnoot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlagerberg%2Fnoot/lists"}