Skip to main content

markdown_org_extract/
timestamp.rs

1//! Org-mode timestamp parsing and repeater logic.
2//!
3//! Submodule layout:
4//! - `extract` — pull timestamp / CREATED strings out of free-form text.
5//! - `parser`  — parse a single org-style timestamp into [`ParsedTimestamp`].
6//! - `repeater` — repeater grammar and occurrence math (`+1d`, `++2w`, `.+1m`, `+1wd`).
7//! - `weekdays` — localized weekday name normalization (RU → EN).
8
9mod extract;
10mod parser;
11mod repeater;
12mod weekdays;
13
14pub use extract::{
15    extract_created_normalized, extract_repeater_normalized, extract_timestamp_normalized,
16    parse_timestamp_fields_normalized,
17};
18pub use parser::{parse_org_timestamp, parse_timestamp_parts, ParsedTimestamp, TimestampParts};
19pub use repeater::{
20    add_months, closest_date, parse_repeater, DatePreference, Repeater, RepeaterType, RepeaterUnit,
21};
22pub(crate) use weekdays::normalize_weekdays;