{"id":24334826,"url":"https://github.com/ayan-b/gist-todo-list-action","last_synced_at":"2025-09-27T22:32:22.011Z","repository":{"id":65159006,"uuid":"246541809","full_name":"ayan-b/gist-todo-list-action","owner":"ayan-b","description":":white_check_mark: Todo List using GitHub Gist","archived":false,"fork":false,"pushed_at":"2020-06-01T04:43:36.000Z","size":73,"stargazers_count":8,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-18T20:21:37.783Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/ayan-b.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}},"created_at":"2020-03-11T10:28:55.000Z","updated_at":"2022-12-03T04:47:37.000Z","dependencies_parsed_at":"2023-01-05T04:52:01.890Z","dependency_job_id":null,"html_url":"https://github.com/ayan-b/gist-todo-list-action","commit_stats":{"total_commits":29,"total_committers":1,"mean_commits":29.0,"dds":0.0,"last_synced_commit":"39b5852421959ff895beee75670bdc54d5ee3c0e"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayan-b%2Fgist-todo-list-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayan-b%2Fgist-todo-list-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayan-b%2Fgist-todo-list-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayan-b%2Fgist-todo-list-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ayan-b","download_url":"https://codeload.github.com/ayan-b/gist-todo-list-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234465627,"owners_count":18837990,"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":[],"created_at":"2025-01-18T04:45:07.512Z","updated_at":"2025-09-27T22:32:21.611Z","avatar_url":"https://github.com/ayan-b.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Todo List using GitHub Gist\n\n## Features\n\n### Before\n\nCreate a Todo List in a GitHub Gist (following the\n[task list syntax](https://help.github.com/en/github/managing-your-work-on-github/about-task-lists#creating-task-lists))\nand create a list, and check the tasks you have done off during the day.\n\n![before todo](images/before-todo.png)\n\n### After\n\nAfter midnight your done tasks will be transferred to the done list. In this\nway you will have a history of your list!\n\n|               Todo                   |          Done            |\n|--------------------------------------|--------------------------|\n| ![after todo](images/after-todo.png) | ![done](images/done.png) |\n\n## Usage\n\n- First create two gists from \u003chttps://gist.github.com\u003e, namely `todo` and `done`.\n- Add file `todo.md` and `done.md` to them respectively. The file content should\n  be a single header `# Todo` and `# Done` respectively.\n\n- Generate a new personal access token with gist scope from\n  here: \u003chttps://github.com/settings/tokens/new\u003e.\n\n- Fork this repository. Note that if you want to use GitHub Action from market place,\n  you don't need to fork this repository. See [this](#using-with-github-action) for more instruction.\n\n- Add the gist IDs as `TODO_GIST`, `DONE_GIST` and the personal access token as\n `GH_TOKEN` to your repository secrets: `https://github.com/\u003cyour_username\u003e/\u003crepository_name\u003e/settings/secrets`.\n  It will look something like this:\n\n  ![secrets.jpg](./images/secrets.png)\n\n  \u003e Gist ID is the part of the URL after your username. For example the gist ID\n  of this gist `https://gist.github.com/ayan-b/1b44e52eifj09bc75c914f6fedf95304`\n  is `1b44e52eifj09bc75c914f6fedf95304`.\n\n- Now you have your todo list using GitHub gist!\n- **Optional**: Change the time of [cron job](.github/workflows/update-list.yml)\n  in the workflow file according to your time zone so that the todo and done\n  list update exactly at midnight (and not at UTC midnight)!\n\n  Here's one for IST time zone (UTC +5:30). Note the use of `TIME_ZONE` environment\n  variable and the change in cron job.\n\n```yaml\nname: Update Todo List IST\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n  schedule:\n    - cron: \"30 5 * * *\"  # 0 + time zone difference time\n\njobs:\n  build:\n\n    runs-on: ubuntu-latest\n\n    steps:\n    - uses: actions/checkout@v2\n    - name: Set up Python 3.8\n      uses: actions/setup-python@v1\n      with:\n        python-version: 3.8\n    - name: Install dependencies\n      run: |\n        python -m pip install --upgrade pip\n        pip install -r requirements.txt\n    - name: Lint with flake8\n      run: |\n        pip install flake8\n        # stop the build if there are Python syntax errors or undefined names\n        flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics\n        # exit-zero treats all errors as warnings.\n        flake8 . --count --exit-zero --max-complexity=10 --max-line-length=79 --statistics\n    - name: Update todo list\n      run: |\n        python3 construct_todo.py\n      env:\n        GH_TOKEN: ${{ secrets.GH_TOKEN }}\n        TODO_GIST: ${{ secrets.TODO_GIST }}\n        DONE_GIST: ${{ secrets.DONE_GIST }}\n        TIME_ZONE: \"Asia/Kolkata\" # IST\n```\n\nNote that you can use docker as well in the last step (`Update todo list`) as done\nin the [`update-list.yml`](.github/workflows/update-list.yml) file. But it will\nbe slower. You can also omit the `Lint with flake8` step.\n\n### Using with GitHub action\n\nIf you want to use GitHub action, your workflow yaml file will look something like\nthis (be sure to change the version to the latest one):\n\n```yaml\nname: Update Todo List IST\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n  schedule:\n    - cron: \"30 5 * * *\"  # 0 + time zone difference time\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n    - name: Todo List using GitHub Gist\n      uses: ayan-b/gist-todo-list-action@0.1.0\n      env:\n        GH_TOKEN: ${{ secrets.GH_TOKEN }}\n        TODO_GIST: ${{ secrets.TODO_GIST }}\n        DONE_GIST: ${{ secrets.DONE_GIST }}\n        TIME_ZONE: \"Asia/Kolkata\" # IST\n```\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayan-b%2Fgist-todo-list-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fayan-b%2Fgist-todo-list-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayan-b%2Fgist-todo-list-action/lists"}