A anniversaries reminder

hi everyone, I want to use logseq to record my friend’s birthday and get notified beforehand, what do you guys think would be a good way? I am currently planning to make a series of date pages without years( eg. [[0830]] ), put the birthdays inside, and put a query on a daily page to get future-7-day-date-page blocks that contain #birthday . However, I am not quite sure how to query for [[0830]] according to the current day. Does datalog support such an operation?

or else I can use the schedule and repeating events function I guess. However, I feel that the schedule function design works inconsistently with the default journal page day(for example, if I go to the corresponding journal page, I would not be able to see what is scheduled on this day))

or else should I try to make a plugin for this purpose?

below is the discord discussion link

I take a different approach to this since I was emulating a lightweight PRM/CRM on my system I was kinda porting over from emacs org-mode. I’d love a way to pre-warn for specific dates like you can get in org-mode though (so, say a recurring bday date would ping you say 2 weeks or a month in advance in some sort of query).

So, I have a template and create a page for every person since I often link to them by name when in meeting or need to have a task assigned to them and track it later (I have a large team).

So, the template looks a bit like this for our mythical friend Jack Sparrow:

Jack Sparrow

  • Tags: #rm #work #piracy
  • Ping: #2021w36 (this would be the week I need to reconnect with them - have a query)
  • Full Name: Jack Sparrow
  • Meta
    • Email:
    • Phone: +65 xxxx xxxx
    • WhatsApp: +65 xxxx xxxx
    • Telegram:
    • Twitter:
    • Company: Black Pearl Trading Co
    • Role: Captain
  • Location: High seas
  • TODO Birthday: Xxx ddth, yyyy
    DEADLINE: <yyyy-mm-dd Ddd +1y>
  • Anniversary: –
  • How We Met
    • In a harbourfront dive bar in Batavia… er, Jakarta [[Aug 21st, 1689]]

If I talk to them on a specific day, I just refer to them by name and that shows up in their page as a contact and what we might have talked about or done. Tis very handy.

It doesn’t solve the “warning” part of the reminder about the birthday but I’ve actually got a couple of queries in the advanced querying section to figure out a way to get a list of “Birthdays and anniversaries in Next Month” kind of thing.

Would that kinda work for you? (though I am still puzzling out the query… :frowning: Logseq querying is kinda tough (tho I guess not really worse than emacs).

I tag the birthdays with #birthday and add a /scheduled date. In my config.edn I have this query:

  :query [:find (pull ?h [*])
          :in $ ?start ?next
          [?h :block/scheduled ?d]
          [?p :block/name "birthday"]
          [?b :block/ref-pages ?p]
          [(mod ?start 10000) ?start-without-year]
          [(mod ?next 10000) ?next-without-year]
          [(mod ?d 10000) ?block-scheduled-without-year]
          [(> ?block-scheduled-without-year ?start-without-year)]
          [(< ?block-scheduled-without-year ?next-without-year)]
  :inputs [:today :30d-after]
  :collapsed? false}

It looks for all blocks that are tagged with birthday and the scheduled date is within 30 days of today, with the year removed.