{"id":19388323,"url":"https://github.com/mk-fg/rst-icalendar-event-tracker","last_synced_at":"2026-05-06T15:38:35.067Z","repository":{"id":144996378,"uuid":"141563540","full_name":"mk-fg/rst-icalendar-event-tracker","owner":"mk-fg","description":"Script to make text/conky/ical calendars and event notifications from markup in ReST (.rst) files","archived":false,"fork":false,"pushed_at":"2024-05-13T00:39:39.000Z","size":316,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-07T08:45:58.969Z","etag":null,"topics":["calendar","conky","console","desktop","icalendar","linux","notifications","python","restructured-text","rst","scheduling","time-management"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mk-fg.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2018-07-19T10:26:41.000Z","updated_at":"2024-05-13T00:39:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"a8c14202-05f5-492c-a0d0-bff243e9af13","html_url":"https://github.com/mk-fg/rst-icalendar-event-tracker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk-fg%2Frst-icalendar-event-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk-fg%2Frst-icalendar-event-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk-fg%2Frst-icalendar-event-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk-fg%2Frst-icalendar-event-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mk-fg","download_url":"https://codeload.github.com/mk-fg/rst-icalendar-event-tracker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240549434,"owners_count":19819131,"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":["calendar","conky","console","desktop","icalendar","linux","notifications","python","restructured-text","rst","scheduling","time-management"],"created_at":"2024-11-10T10:12:27.658Z","updated_at":"2026-05-06T15:38:34.962Z","avatar_url":"https://github.com/mk-fg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"rst-icalendar-event-tracker (riet)\n==================================\n\nPython3 script that finds calendar events in easily readable/editable\n`ReST (.rst) \u003chttps://en.wikipedia.org/wiki/ReStructuredText\u003e`_ files with\nfree-form structure, checks any associated feeds or conditions, and creates\niCalendar entries, conky_ configuration snippets, plaintext reports and/or\ndesktop notifications from these.\n\nBasically a kind of simple local-only non-interactive calendar app\nfor those who already know rst, like CLI unixy tools, with built-in\nRSS-poll/notification functionality.\n\nRepository URLs:\n\n- https://github.com/mk-fg/rst-icalendar-event-tracker\n- https://codeberg.org/mk-fg/rst-icalendar-event-tracker\n- https://fraggod.net/code/git/rst-icalendar-event-tracker\n\nTrivial example for one-off event spec anywhere in source rst file::\n\n  - Make this rst-calendar parser thing\n\n    :ts: 2018-07-20\n    :url: https://github.com/mk-fg/rst-icalendar-event-tracker\n\n    Push the script to local repo and its github mirror to track it there.\n\nAny separate block with ``:ts:`` or ``:ts-start:`` fields in it (``:name:\ndescription`` is an rst \"field list\" syntax) will be parsed as an event, with\ntitle picked-up either from ``:title:``, section title or first line/paragraph\n(as in this example).\n\nTime spec itself can be anything that \"date -d\" will accept on the command-line,\nwith special handling for \"every X\" specs, which will add recurring event.\n\nSee `cal.rst \u003ccal.rst\u003e`_ (use raw view on github and such) for more precise\nsyntax info and an extended example, and `rst quickref doc\n\u003chttp://docutils.sourceforge.net/docs/user/rst/quickref.html\u003e`_\nfor more info on rst format itself.\n\nIntended use is creating persistent on-screen notifications either\nfrom iCalendar entries generated by this script (and picked-up by some app)\nor a conky_ configuration snippet, to avoid forgetting things,\nyet not require editing raw iCalendar files,\norg-mode_ (special emacs-only markup for such stuff)\nor using anything but an arbitrary dumb text editor for these.\n\n.. _conky: http://conky.sourceforge.net/\n.. _org-mode: http://orgmode.org/\n\n\nUsage\n-----\n\n- Install script requirements (see below): ``pip install --user docutils``\n\n- Write free-form rst file with some sections containing some event descriptions\n  (see `cal.rst \u003ccal.rst\u003e`_ doc/example)::\n\n    Minor chores\n    ------------\n\n    Stuff no one ever remembers doing.\n\n    - Pick up groceries\n\n      :ts: 2018-08-27 12:00\n\n      Running low on salt, don't forget to grab some.\n\n    - Do the laundry\n\n      :ts: every 2w interval\n\n      Pile is in the corner across the room.\n\n\n    Total Annihilation\n    ------------------\n\n    :ts-start: 2018-09-04 21:00\n    :ts-end: 2018-09-20 21:00\n\n    For behold, the LORD will come in fire And His chariots like the whirlwind,\n    To render His anger with fury, And His rebuke with flames of fire. ... blah blah\n\n- | Run \"riet\" script to find all such sections, and e.g. create a conky config snippet out of this:\n  | ``./riet cal.rst -c /run/user/1000/conky.calendar``\n  | (or an icalendar file for something or other ``./riet cal.rst -i cal.ics``)\n\n  Be sure to run it with -h/--help to check out misc other options.\n\n- | Add \"catp\" line to load/display conky snippet:\n  | ``echo '${catp /run/user/1000/conky.calendar}' \u003e\u003e ~/.conkyrc``\n\n- Behold (the madness):\n\n  .. figure:: https://raw.githubusercontent.com/mk-fg/rst-icalendar-event-tracker/master/example.conky-calendar.jpg\n     :alt: example.conky-calendar.jpg\n\n- Put \"riet\" invocation into crontab to update that calendar section occasionally.\n\n- Don't forget writing upcoming/recurring stuff down to that .rst file!\n\n\nRequirements\n------------\n\n* `Python 3.x \u003chttp://python.org/\u003e`_\n* `docutils module \u003chttps://docutils.readthedocs.io/\u003e`_ - rst parser.\n* `icalendar module \u003chttps://pypi.org/project/icalendar/\u003e`_ - only when generating .ics files with -i/--ical option.\n* `feedparser module \u003chttps://pypi.org/project/feedparser/\u003e`_ - only for fetching feeds with -f/--feeds option.\n* `libsystemd \u003chttps://systemd.io/\u003e`_ - to send desktop notifications via DBus.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmk-fg%2Frst-icalendar-event-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmk-fg%2Frst-icalendar-event-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmk-fg%2Frst-icalendar-event-tracker/lists"}