{"id":13837035,"url":"https://github.com/dmitrym0/org-hyperscheduler","last_synced_at":"2025-07-10T16:31:49.901Z","repository":{"id":38818408,"uuid":"452361778","full_name":"dmitrym0/org-hyperscheduler","owner":"dmitrym0","description":"org-hyperscheduler is an Emacs package that helps you organize your day.","archived":false,"fork":false,"pushed_at":"2023-04-19T23:18:21.000Z","size":1229,"stargazers_count":174,"open_issues_count":10,"forks_count":14,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-29T22:26:24.560Z","etag":null,"topics":["emacs","emacs-lisp","emacs-package","org-mode","org-roam","productivity","scheduling"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","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/dmitrym0.png","metadata":{"files":{"readme":"README.org","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,"publiccode":null,"codemeta":null}},"created_at":"2022-01-26T16:55:39.000Z","updated_at":"2024-05-30T01:29:46.977Z","dependencies_parsed_at":"2024-05-30T01:29:46.555Z","dependency_job_id":"9c292347-5b2e-49e3-ac45-7461a52e7b3a","html_url":"https://github.com/dmitrym0/org-hyperscheduler","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmitrym0%2Forg-hyperscheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmitrym0%2Forg-hyperscheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmitrym0%2Forg-hyperscheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmitrym0%2Forg-hyperscheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmitrym0","download_url":"https://codeload.github.com/dmitrym0/org-hyperscheduler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225648179,"owners_count":17502173,"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":["emacs","emacs-lisp","emacs-package","org-mode","org-roam","productivity","scheduling"],"created_at":"2024-08-04T15:00:59.646Z","updated_at":"2024-11-20T23:32:11.072Z","avatar_url":"https://github.com/dmitrym0.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"\n\n[[https://app.circleci.com/pipelines/github/dmitrym0/org-hyperscheduler?branch=main\u0026filter=all][https://img.shields.io/circleci/build/gh/dmitrym0/org-hyperscheduler.svg]] [[https://github.com/dmitrym0/org-hyperscheduler/releases][file:https://www.shields.io/github/v/release/dmitrym0/org-hyperscheduler.svg?display_name=tag]]\n\n\n\n* org-hyperscheduler \n\n** What is Hyperscheduling\n#+begin_quote\nHyperscheduling is the idea of fully planning your day using a calendar. Every minute of the day is assigned to some task using a calendar.\n#+end_quote\n\n\n\n** Table of Contents                                                   :TOC:\n- [[#org-hyperscheduler][org-hyperscheduler]]\n  - [[#what-is-hyperscheduling][What is Hyperscheduling]]\n  - [[#what-does-org-hyperscheduler-do][What does org-hyperscheduler do?]]\n  - [[#planning-a-day][Planning A Day]]\n  - [[#screen-cast][Screen Cast]]\n  - [[#installation][Installation]]\n  - [[#configuration][Configuration]]\n  - [[#development][Development]]\n\n** What does org-hyperscheduler do?\n\norg-hyperscheduler presents a web UI that allows agenda entries to be visualized and moved around easily.\n\n\nHere's a typical agenda (~C-c a a~):\n\n[[file:images/org-agenda.png]]\n\nand here is how it's visualized in org-hyperscheduler:\n\n[[file:images/org-hs-ui.png]]\n\n- blue entries are coming from an external calendar (such as [[https://github.com/kidd/org-gcal.el][org-gcal]]).\n- purple entries are part of standard org-agenda.\n\n\nThe user is free to modify entries or move them around provided =org-hyperschedule-readonly-mode= is disabled.\n\n** Planning A Day\n\nWhen planning a day, it's easy to start with a list of tasks:\n\n[[file:images/org-agenda-2.png]]\n\nand then visualize them to ensure that capacity is available:\n\n[[file:images/org-hs-ui-2.png]]\n\n\n\n** Screen Cast\n\n\nReal quick demo of what the package does:\n\n[[https://www.youtube.com/watch?v=8vhhIYIS0zY][https://img.youtube.com/vi/8vhhIYIS0zY/0.jpg]]\n\n\n** Installation\n\norg-hyperschedule is *not* currently available in MELPA. Once the package matures, it will be added.\n\nFor now you can either download the source and install it manually or with ~use-package~ and [[https://github.com/raxod502/straight.el][straight.el]]:\n\n#+begin_src elisp\n(use-package org-hyperscheduler\n  :straight\n  ( :repo \"dmitrym0/org-hyperscheduler\"\n    :host github\n    :type git\n    :files (\"*\")))\n#+end_src\n\nYou can also use quelpa and install with the snippet below:\n\n#+BEGIN_SRC elisp\n(package-install 'quelpa-use-package)\n(require 'quelpa-use-package)\n\n(use-package org-hyperscheduler\n  :quelpa (org-hyperscheduler :fetcher github :repo \"dmitrym0/org-hyperscheduler\"))\n#+END_SRC\n\nYou can then invoke ~M-x org-hyperscheduler-open~ to invoke the web view.\n\n\n** Configuration\n\n\nUse ~M-x customize-group org-hyperscheduler~ to configure this module.\n\n\n*** Read only mode\n\norg-hyperscheduler is able to update entries in Emacs when using the web UI. To suppor this functionality, org-hyperscheduler must create IDs for each scheduled entry. If you are not ok with org-hyperscheduler modifying your data, keep ~org-hyperscheduler-readonly-mode~ turned on. In this mode you can visualize your agenda, but cannot make any changes in web UI.\n\n*** Hiding calendar entries from org-roam\n\norg-roam treats all entries with an ~:ID:~ property as roam nodes. This is not what I wanted. org-roam excludes all entries with the G\n\nSee ~org-hyperscheduler-exclude-from-org-roam~ through ~M-x customize-group org-hyperscheduler~ or\n\n~(setq org-hyperscheduler-exclude-from-org-roam t)~\n\n**Note**: Read only mode must be disabled for this to take effect.\n\n** Development\n\n\n*** Running tests\n\n1. Install [[https://github.com/cask/cask][cask]] (~brew install cask~).\n2. Run ~cask~ to install dependencies.\n3. Run ~cask exec buttercup -L .~\n\n\n\n*** See also\n**** org-roam-ui\n\norg-hyperscheduler was heavily inspired by [[https://github.com/org-roam/org-roam-ui][org-roam-ui]]. If you're using [[https://github.com/org-roam/org-roam-ui][org-roam]] it's worth adding org-roam-ui.\n\n**** calfw\n\n[[https://github.com/kiwanami/emacs-calfw][calfw]] is a (textmode) calendaring framwork for emacs. I found it somewhat late into the development of org-hyperscheduler. If I found it earlier, I may have skipepd developing this.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmitrym0%2Forg-hyperscheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmitrym0%2Forg-hyperscheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmitrym0%2Forg-hyperscheduler/lists"}