Software & Apps

Ftavies93 / daily-letter.nvim: A plugin in NVIM to make time notes.

LIBLE: AGPL V3

A NVIM plugin to make time notes for journals and planning. Inspired by obsidian part of the same name and
Journal.nvim.

I use it as part of my personal
Box box.

-- install from local repo
-- this is just an example; you can just as well use empty opts {}
{
    dir = "~/daily-notes.nvim",
    opts = {
        writing = {
            root = "~/zettelkasten/daily-notes"
        }
    }
}
-- install from github repo
{ "fdavies93/daily-notes.nvim", opts = {} }

Note that this plugin is just tried my personal linux arch for today. it
NEED Work with other UNIX systems (ie WSL, Macos, BSD), but it does not guarantee. Windows may not work due to differences in file management and date.

The most important option is writing.root. These controls where daily notes.nvim tried to put new notes and open with notes. It should be with existing setups when you place the writing.day and other options to match your current filename formats.

This setting is also good writing.day.template In your preferred format for that kind of note, for example:

{
    writing = {
        day = {
            template = "# %A, %B %d %Y\n\n## Notes\n\n## Tasks\n\n## Timebox"
        }
    }
}

If your LOFALE is not English you need to put parsing.week_starts to be a string of language to your local. This is because local mermons are used in the room for parsing to avoid mixing calls to os.time with cooked cords.

If you want weekly notes on everyday, you can change parsing.default to be
this week.

For a perfect list of config options,
View Default Config here.

Set up your configuration so directories and templates follow your preferred date format.

:DailyNote day +1
:DailyNote next week
:DailyNote tuesday
:FuzzyTime 2025

daily letters.nvim export :DailyNote and :FuzzyTime User commands.

:DailyNote Makes a new note or open a note if someone is already.

:FuzzyTime provides time information for the input given and can be used as a means to make a ‘dry run’ of :DailyNote or play with date date.

everyday letters.nvim enforced a
Recursive cancent parser
To solve English dates to timestamps and create files.

Dates are parked in the following order:

  1. Timestamps
  2. Inconsistent semantic dates (eg ‘today’)
  3. Talks in the wilderness (eg ‘this Tuesday’)

Different algorithms for resolving bad dates can be selected in config at parsing.resolve_strategy.

-- PERIOD is ("day" | "week" | "month" | "year") ~ "s"?

-- Unambiguous semantic dates
today
tomorrow
yesterday
YEAR(,) week NUM
-- if year isn't defined, we just use the current year
week NUM(,) (YEAR)
(+/-)NUM PERIOD
PERIOD (+/-)NUM
PERIOD -- the same as 'this PERIOD'
this PERIOD
next PERIOD
(last | previous | prev) PERIOD
in (+/-)NUM PERIOD
(+/-)NUM PERIOD ago

-- Ambiguous semantic dates

-- WEEKDAY is generated from the locale names for the weekdays, e.g. "tuesday"
-- and their 3-letter prefixes e.g. "tue"

-- the meaning of this / next / last is determined by config
WEEKDAY
this WEEKDAY
next WEEKDAY
(last | previous | prev) WEEKDAY
-- these always use the current week +/- weeks
(+/-)NUM WEEKDAY
WEEKDAY (+/-)NUM

-- MONTH is generated from the locale names for the months, e.g. "january"
-- and their 3-letter prefixes e.g. "jan"

-- the meaning of this / next / last is determined by config
MONTH
this MONTH
next MONTH
(last | previous | prev) MONTH
DAY MONTH
MONTH DAY
(+/-)NUM MONTH
MONTH (+/-)NUM

For date details date
View the time module.

For all formats of timestamp View default config.

We use default strappime for translation dates, but %W (Week number) and %w
(The day of the day of the week) was replaced by Bespoke Logic so alternate weeks will begin.

Plugins working hard on this

I prefer plugins that make a job, instead of all the goods.


https://opengraph.githubassets.com/4c9831702772937032e12fc6aac7b3afcc78be8d14add2bec2baaf26c66df912/fdavies93/daily-notes.nvim

2025-02-09 09:42:00

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button