org-roam icon indicating copy to clipboard operation
org-roam copied to clipboard

Add API layer for easier elisp interaction with org-roam

Open ahyatt opened this issue 2 years ago • 0 comments

Brief Abstract

Add defuns, probably confined to a org-roam module, to make org-roam easier to work with from elisp.

Long Description

I'm creating a module, which I've tentatively named org-roam-programmatics, that makes it much easier to do automatic useful things with org-mode. As part of that, I've implemented a few functions that help abstract away org-roam's implementations into an API that is useful to me.

I'm happy to continue doing this in my module, but I want to check if you would like me to add it directly to org-roam, where it would become a more official API. This would be beneficial to everyone - in my opinion, an API in org-roam itself saves everyone from having to rewrite similar functions. It also can ensure that org-roam releases don't break the API.

Proposed Implementation (if any)

Example functions that I have, which would be good API functions:

  • org-roam-programmatics-node-link (create a link to a node suitable for inserting into an org buffer)
  • org-roam-programmatics-forward-links (yes, easy enough to construct from a emacs-sqlite query, but this is even easier)
  • org-roam-programmatics-backwards-links (ditto)
  • org-roam-programmatics-daily-time (return the time represented by the daily)
  • org-roam-programmatics-daily-p (t if the node is a daily node)
  • org-roam-programmatics-log (log text to today's daily)

Please check the following:

  • [x] No similar feature requests

ahyatt avatar May 01 '22 23:05 ahyatt