{"id":13443366,"url":"https://github.com/Fuco1/orgba","last_synced_at":"2025-03-20T16:31:03.947Z","repository":{"id":40822293,"uuid":"147939256","full_name":"Fuco1/orgba","owner":"Fuco1","description":"Better APIs for org mode","archived":false,"fork":false,"pushed_at":"2024-05-30T14:28:22.000Z","size":24,"stargazers_count":50,"open_issues_count":2,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-07T07:46:13.438Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/Fuco1.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":"2018-09-08T14:12:39.000Z","updated_at":"2024-12-26T00:53:21.000Z","dependencies_parsed_at":"2024-12-14T06:25:31.743Z","dependency_job_id":"a71a0a0a-4ec2-4519-a732-23a2fc0fa5a3","html_url":"https://github.com/Fuco1/orgba","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"be83be8db9ed74563be68913ac31392da8750110"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fuco1%2Forgba","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fuco1%2Forgba/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fuco1%2Forgba/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fuco1%2Forgba/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fuco1","download_url":"https://codeload.github.com/Fuco1/orgba/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244649809,"owners_count":20487496,"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":"2024-07-31T03:01:59.744Z","updated_at":"2025-03-20T16:31:03.664Z","avatar_url":"https://github.com/Fuco1.png","language":"Emacs Lisp","readme":"* org better api\n\nBetter API for org. It's that simple. Org Mode has really confusing\\\\\nand fragmented API where many simple things are impossibly difficuly.\\\\\nThis is the result of its organic growth.\n\nThis package provides some high-level abstractions for common problems\\\\\npeople want to solve.\n\n* Table of Content\n:PROPERTIES:\n:TOC:      all\n:END:\n  -  [[#org-better-api][org better api]]\n  -  [[#table-of-content][Table of Content]]\n  -  [[#naming-conventions][Naming conventions]]\n  -  [[#non-interactive-apis][Non-interactive APIs]]\n    -  [[#properties][properties]]\n      -  [[#orgba-get-property-name-optional-dont-inherit][orgba-get-property =(name \u0026optional dont-inherit)=]]\n      -  [[#orgba-get-property-create-name-value-optional-dont-inherit][orgba-get-property-create =(name value \u0026optional dont-inherit)=]]\n      -  [[#orgba-set-property-name-value][orgba-set-property =(name value)=]]\n    -  [[#drawers][drawers]]\n      -  [[#orgba-get-drawer-name-optional-use-children][orgba-get-drawer =(name \u0026optional use-children)=]]\n      -  [[#orgba-get-drawer-create-name-optional-use-children][orgba-get-drawer-create =(name \u0026optional use-children)=]]\n    -  [[#tables][tables]]\n      -  [[#orgba-table-insert-rest-columns][orgba-table-insert =(\u0026rest columns)=]]\n      -  [[#orgba-append-row-row-data][orgba-append-row =(row-data)=]]\n      -  [[#orgba-lisp-to-table-table-data][orgba-lisp-to-table =(table-data)=]]\n    -  [[#headings][headings]]\n      -  [[#orgba-next-heading][orgba-next-heading]]\n      -  [[#orgba-next-parent-sibling][orgba-next-parent-sibling]]\n      -  [[#orgba-top-parent][orgba-top-parent]]\n      -  [[#orgba-heading-at-optional-point][orgba-heading-at =(\u0026optional point)=]]\n      -  [[#orgba-heading-title-at-optional-point][orgba-heading-title-at =(\u0026optional point)=]]\n      -  [[#orgba-map-headings-fun][orgba-map-headings =(fun)=]]\n    -  [[#blocks][blocks]]\n      -  [[#orgba-in-any-block-p-optional-point][orgba-in-any-block-p =(\u0026optional point)=]]\n    -  [[#search][search]]\n    -  [[#time-and-dates][time and dates]]\n      -  [[#orgba-time-as-timestamp-optional-time-active][orgba-time-as-timestamp =(\u0026optional time active)=]]\n    -  [[#agenda][agenda]]\n      -  [[#orgba-agenda-is-task-p][orgba-agenda-is-task-p]]\n    -  [[#misc][misc]]\n      -  [[#orgba-restricted-p][orgba-restricted-p]]\n  -  [[#interactive-commands][Interactive commands]]\n    -  [[#headings][headings]]\n      -  [[#orgba-narrow-to-top-heading][orgba-narrow-to-top-heading]]\n    -  [[#tables][tables]]\n      -  [[#orgba-table-select-cell][orgba-table-select-cell]]\n\n* Naming conventions\n\n-  Functions which query for a specific element or property etc. are\\\\\n   generally named =orgba-\u003cthing\u003e-at= and accept =point= as optional\\\\\n   argument to do the query at that point. Otherwise default to\\\\\n   current =(point)=.\n-  Functions which query for a specific element in the scope of the\\\\\n   current header are generally named =orgba-get-\u003cthing\u003e=.\n-  Use =heading= consistently instead of =entry=, =task=, =headline=,\n   =heading=...\n\n* Non-interactive APIs\n\n** properties\n\n*** orgba-get-property =(name \u0026optional dont-inherit)=\n\nGet property =name= of current heading.\n\nIf =dont-inherit= is non-nil, do not use property inheritance.\n\n*** orgba-get-property-create =(name value \u0026optional dont-inherit)=\n\nGet property =name= of current heading or create it.\n\nIf no property with =name= exists, set it to =value=. Return =value=.\n\nIf =dont-inherit= is non-nil, do not use property inheritance.\n\n*** orgba-set-property =(name value)=\n\nSet property =name= of current heading to =value=.\n\nReturn =value=.\n\n** drawers\n\n*** orgba-get-drawer =(name \u0026optional use-children)=\n\nReturn position of drawer with =name= in current trees's content.\n\nIf no such drawer exists return nil.\n\nThe content of the tree is the area from the headline to the next\\\\\nheadline on any level. This function does not search the child\\\\\nsubtrees unless =use-children= is non-nil.\n\n*** orgba-get-drawer-create =(name \u0026optional use-children)=\n\nReturn position of drawer with =name= in current trees's content.\n\nIf no such drawer exists create it in the current tree.\n\nThe content of the tree is the area from the headline to the next\\\\\nheadline on any level. This function does not search the child\\\\\nsubtrees unless =use-children= is non-nil.\n\n** tables\n\n*** orgba-table-insert =(\u0026rest columns)=\n\nInsert a new empty table with =columns=.\n\n*** orgba-append-row =(row-data)=\n\n*** orgba-lisp-to-table =(table-data)=\n\n** headings\n\n*** orgba-next-heading\n\nGo to next heading or end of file if at the last heading.\n\nReturn point.\n\n*** orgba-next-parent-sibling\n\nGo to the first sibling of parent heading or end of file.\n\nReturn point.\n\n*** orgba-top-parent\n\nGo to the top parent of current heading.\n\nReturn point.\n\n*** orgba-heading-at =(\u0026optional point)=\n\nReturn the heading element at =point=.\n\n*** orgba-heading-title-at =(\u0026optional point)=\n\nReturn the heading title at =point=.\n\n*** orgba-map-headings =(fun)=\n\nMap =fun= over all the headlines in the buffer (as elements)\n\n** blocks\n\n*** orgba-in-any-block-p =(\u0026optional point)=\n\nNon-nil when point is in any org block.\n\n** search\n\n** time and dates\n\n*** orgba-time-as-timestamp =(\u0026optional time active)=\n\nFormat =time= (defaults to now) as org timestamp.\n\nIf =active= is non-nil, format as active timestamp.\n\n** agenda\n\n*** orgba-agenda-is-task-p\n\nReturn non-nil if line at point is a task.\n\n** misc\n\n*** orgba-restricted-p\n\nReturn non-nil if org is restricted to a subtree.\n\n* Interactive commands\n\n** headings\n\n*** orgba-narrow-to-top-heading\n\nNarrow to the top-most tree containing point.\n\n** tables\n\n*** orgba-table-select-cell\n\nSelect the cell in org table the point is in.\n","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFuco1%2Forgba","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFuco1%2Forgba","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFuco1%2Forgba/lists"}