This answer does not address the issue of file management, but offers a new way to keep diaries with LaTeX, so I posted it here anyway.
There is now a new document class jwjournal
for keeping diaries, available on CTAN.
Its main principle is simplicity. It allows you to turn simple pure text entry like
2023-01-01 Sunny --- Botanical Garden
Today I visited the botanical garden!
[Food] And had ice-cream for lunch!
into colorful journal like this:

alternatively, with the class option color entry
turned on:

For those who are used to other date formats like mm-dd-yyyy
or dd-mm-yyyy
, you may use the class option month-day-year
or day-month-year
, and write the date string as you usually do.
It is also OK to use /
instead of -
in the date string.
Notice that the conversion of 2023-01-01
to January 1, 2023
is automatic, and it will also calculate that this date is Sunday
(the calculation, done by projlib-date
, currently only works for modern dates, but this shouldn't be a problem here). This feature has multilingual support, thus if you write \UseLanguage{French}
in the preamble, the result would be like:

And about the color, each day of the week has a corresponding color, which of course can be modified as your preference:

I have wrote detailed explanation in the README file, and there are also three demo documents in English, French and Chinese, respectively.
About daily usage
About daily usage, I prefer to keep each month's journals in separate files, so journal-2023-01.tex
, journal-2023-02.tex
, etc. (since I only write a few sentences each day).
Of course, it is also possible to write each day's journal in separate (sub)files and input them in the main catalog. This way each subfile would be as clean as
2023-01-01 Weather --- Location
Some text...
...
And since it is important, I shall repeat here this point already noted in the README:
The main features are achieved with the power of LaTeX3's regex functionality. It scans the content paragraph by paragraph and converts recognized patterns into corresponding TeX commands. [...] However, this comes with a price: in order to scan the content, it is firstly stored in a macro \g_jwjournal_content_tl
, which means that you cannot use commands like \verb
in your main text.
However, if you really need to input code, \lstinline
from the package listings
seems to work finely.
About the class name, and acknowledgement
One may think that the class name comes from my own name Jinwen, but it is actually due to my college roommate Jiawei (this lucky coincidence motivated me to name this class jw...
). He suggested me to make something with LaTeX to help keeping diaries, and suggested the current syntax (he also suggested that the day of the week should be calculated automatically once the date is given, which really got me thinking for quite some time). I would like thus to express my gratitude for him, without whom this project would not have been born.
LaTex
order them, or do you just want some consistent look and are willing to take care of the ordering yourself?\def\entry{\readthoughts{\today}}\par\entry