Skip to content
VISCERIUM

Okse Calendar

The Okse Calendar is the first implemented calendar system in the codex. It is rendered from structured calendar data rather than a static image, so event articles can link back to individual days and the site can later show equivalent dates in other cultural calendars.

The visible calendar module below is placed with a BBCode-like shortcode in the note body. This keeps the page Obsidian-friendly: the note remains plain Markdown, while the sync step converts only this page to generated MDX for Astro.

World-time calendar

Okse Calendar

A thirteen-month Okse calendar with one annual intercalary day, one leap day every fourth year, and a seven-day week.

Rendered year
4
Leap year?
Yes
Leap rule
Every fourth year

Engimanutur (0th/14th)

0102

Key

  • winter, Season band
  • spring, Season band
  • summer, Season band
  • autumn, Season band
  • Leap day, Only appears in leap years
  • Holiday, Marked observance
  • Red number, Solstice, equinox, or seasonal marker
  • Linked event, Opens an event article

This is the canonical public calendar route for the codex:

/calendar/

The rendered year is currently 4, a leap year, so both Engimanutur days appear in the grid.

Define the calendar block in frontmatter:

calendarBlocks:
ID-0001:
calendar: okse
year: 4

Then place it anywhere in the Markdown body:

[Calendar:ID-0001]

For quick tests, you can also write the calendar directly:

[Calendar:okse year=4]

Calendar events use the observance slug from the calendar data. To make a date cell open an article instead of only jumping to its own day anchor, add eventLinks to the relevant calendar block:

calendarBlocks:
ID-0001:
calendar: okse
year: 4
eventLinks:
summer-turning: /calendar/events/summer-turning/
autumn-turning:
href: /calendar/events/autumn-turning/
label: Autumn Turning article

The direct string form is enough for most cases. Use the object form when the hover/title text should name the target article differently from the observance itself.

You can also use either of these aliases if they read better in a given note:

calendarBlocks:
ID-0001:
calendar: okse
year: 4
observanceLinks:
winter-turning: /calendar/events/winter-turning/
calendarBlocks:
ID-0001:
calendar: okse
year: 4
links:
spring-turning:
article: calendar/events/spring-turning

When a day has a linked observance, the whole date cell opens the article and receives the linked-event styling. If a day has no linked observance, it still links to its local calendar anchor as before.

For permanent links that should exist every time a calendar is rendered, add href or article directly to the observance in the structured calendar data instead of repeating it in page frontmatter.

Event articles can declare a structured date in frontmatter:

calendarDate:
calendar: okse
year: 20001
month: niewmonath
day: 1
displayCalendars:
- okse

Intercalary days use intercalaryDay instead of month and day:

calendarDate:
calendar: okse
year: 20004
intercalaryDay: engimanutur-02

The site resolves the source date into hidden absolute world-time first, then renders it through the selected display calendars.

Referenced by

1 record