A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://github.com/emacsomancer/org-daily-reflection below:

emacsomancer/org-daily-reflection: Reflect on your org-roam daily entries, comparing N org-roam dailies at M intervals (years, months, fortnights, weeks, days).

Reflect on your Org-mode-related daily journal entries (currently set-up mainly for org-roam or similar daily note systems). Shows a range of split windows, each with a daily journal entry in them, at specified intervals.

0

You can use Org Daily Reflection like one does with a paper three- or five-year diary, to see what was happening on this day last year, and the year prior, &c.

But you could also look at the last three days of daily journals…

…or dailies at other specified intervals (e.g. days, weeks, fortnights, months, years, [decades], [centuries]). (E.g., “show me 7 dailies at weekly intervals”; “show me 4 dailies at monthly intervals”, &c.)

A general interactive interface can be accessed via the command org-daily-reflection, which will ask the user for a time-span (e.g. “year”) and an integer range (“3”). When called non-interactively, it also be passed a span and range number (e.g., (org-daily-reflection 'year 3), to get dailies comparing this day on the preceding three years.)

A few sample one-shot functions with prefix org-reflect-on-last- are included as well (e.g. org-reflect-on-last-five-days to see the preceding five days of daily entries). The user can create new functions or commands using these models for their desired reflections.

Version 0.03334 additional functionality Version 0.033 additional functionality Version 0.031 breaking changes Version 0.03 breaking changes Details and Customisation

Org Daily Reflect does not, in fact, actually require the Org-roam package, so it should be able to be used with other daily journal systems (certainly with Org Node (which I use) and probably with Denote). Currently it relies on being told a directory which contains Org files which are all of the form <YYYY-MM-DD>.org. (E.g., 2021-12-29.org, 2024-08-05, &c.) See below, esp. the “TODO” notes for more information.

This package optionally uses org-roam-dailies--capture to open (actual or potential) daily journal entries, but it will still work without it. And even some users who do have Org Roam installed may prefer to turn off org-daily-reflection-capture-nascent-files (which will disable the call to org-roam-dailies--capture) in order to not create new potential journal entries for missing dates. However, when org-dailies--capture is utilised, any non-previously existing journal entries are marked as “unmodified” so they will not trigger any “unsaved file” warnings. So, personally I just leave org-daily-reflection-capture-nascent-files set on, because since Org Daily Reflection they won’t be permanently spuriously created, nor will you be prompted to save them unless you actually add/modify the file. When org-daily-reflection-capture-nascent-files is set to nil, or org-roam-dailies--capture is unavailable, it will instead just insert “missing journal entry” notes in the appropriate window.

It also tries setting the location it uses for looking up dailies (set in org-daily-reflection-dailies-directory) to the value of org-roam-dailies-directory, but this variable can be manually set.

One issue (in its current beta state) is that it assumes that the journal entries are all in the directory specified in org-daily-reflection-dailies-directory and are named <YYYY-MM-DD>.org (e.g., 2024-08-01.org). Though, since this is really its main requirement (it doesn’t need org-ids &c.), it should be fairly flexible/portable. Being able to customise the expected file naming is a planned feature, although there are limitations in the current form as it relies on the file-name somehow denoting day, month, and year.

Check customize for various other options, including direction of window splits, whether leap days have special behaviour, whether or not the capture template is used to create potential (but marked unmodified) journal entries for dates without current journal entries (this only works if org-roam is available and can be disabled in any case), and (if org-roam capture templates are used) if a capture key is passed to the org-roam-dailies--capture function.

The default time spans are “day”, “week”, “fortnight”, “month”, and “year”, but this can be customised, and it will also recognise “decade” and “century”, though this is likely of little use to most users as Org-roam was first released in 2020, (and Org-mode itself only in 2003), but potentially users might have “back-created” entries pre-dating Org-roam (or Org, or their own births). (Org-mode seems to hard-fail for dates before January 1, 100, so BCE dates certainly won’t work currently.)

(When using use-package, especially if you use elpaca or straight, you may want to specify :after (org-roam) to make sure your daily directory is set properly; also if you specify keybindings for any note-taking related packages (e.g., Org Node), you may want to add these here as well (e.g., :after (org-roam org-node)).)

Now ([2025-03-02 Sun]) available on MELPA! Install however you usually get your packages. E.g., use-package with MELPA repo installed:

(use-package org-daily-reflection
  ;; :ensure t ; maybe, depending on your use-package setup
  ;; :after (org-roam) ; maybe, to get directory right
  )

You can of course manually clone/download and require, or install with an enhanced package manager, like elpaca:

(use-package org-daily-reflection
  :ensure (:host github :repo "emacsomancer/org-daily-reflection")
  ;; :after (org-roam) ; maybe, to get directory right
  )

or vc-use-package (probably the lightest-weight option):

(use-package org-daily-reflection
  :vc (:fetcher github :repo "emacsomancer/org-daily-reflection")
  ;; :after (org-roam) ; maybe, to get directory right
  )

or quelpa:

(use-package org-daily-reflection
  :quelpa (org-daily-reflection :fetcher github :repo "emacsomancer/org-daily-reflection")
  ;; :after (org-roam) ; maybe, to get directory right
  )

or straight (though probably prefer elpaca at this point1):

(use-package org-daily-reflection
  :straight (org-daily-reflection :type git :host github :repo "emacsomancer/org-daily-reflection")
  ;; :after (org-roam) ; maybe, to get directory right
  )

(Feel free to submit pull requests, or suggestions. Please file issues as necessary for these or other matters.)

In its present state, Org Daily Reflection it relies on being told a directory which contains Org files which are all of the form <YYYY-MM-DD>.org. (E.g., 2021-12-29.org, 2024-08-05, &c.), so the filename format is currently hard-coded, but future revisions may allow for other formats (though the filename would somehow).

One addition question here is possibly handling “supra-dailies”, i.e., the case where a user has multiple separate files for a single day (maybe representing hour-minute-second timestamps). Handling examining filenames with additional information is not itself an issue here, but it is not clear what should be shown in the split windows in this case. Potentially windows could be split both vertically and horizontally, and one of the splits could contain all (or as many as will fit?) of the sub-day divisions. (I’m not currently planning on tackling this as I don’t know of people with this approach, but if there are, it would be an interesting problem to ponder.)

Since this is not necessarily tied to Org-roam, it could also handle other daily journal type setups, including single-file note Org-mode datetrees. Apparently one user has managed to modify it accordingly, but I would like to include this as built-in package functionality

Compatibility with other Org(ish) setups (e.g., Denote, Org-Node)

I would like to see if Org Daily Reflection in its current state can be used with Denote. (And possibly other non-Org-roam but Org-related Emacs multi-file note-taking setups? E.g., orgrr, org-gnosis.) In fact, there is little which necessarily ties it to Org-mode, so it could be adapted to other Emacs non-Org journalling systems.

I am current user of Org Node, which itself is currently compatible with Org-roam, and plan for Org Daily Reflection to maintain compatibility with Org Node, and would also like to add additional optional feature to take advantage of Org Node features, such as specifying a series to query rather than looking at a directory. This should be faster on devices with potential high cost to filesystem access (not pointing fingers, but 👉Android) and also allow for reflection on other types of series.

0 Paper multi-year diary image in images/n-year-diary.jpg included in README.org from Handwritten 1936-1940 Five Year Diary Journal of Ethel G. Taylor living in Keene, New Hampshire, USA.

1 See here: @”…Basic lock file support has been added [to elpaca]. With this addition, there’s little reason for me to recommend straight.el anymore....”


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4