Expand description
§Kinsaga
A family chronicle library for managing timestamped, categorized life events.
Kinsaga provides data structures and utilities for creating and managing family chronicles where life events are:
- Timestamped with flexible date precision (year, month, day, or uncertain)
- Categorized into customizable life themes
- Person-centric - each family member has their own timeline
§Example
use kinsaga::model::{Chronicle, Person, Fact, Category};
let mut chronicle = Chronicle::new("1.0");
chronicle.title = Some("Family Chronicle".into());
chronicle.categories.push(
Category::new("family", "Family & Friends").with_color("#E57373")
);
let mut person = Person::new("alice", "Alice Smith");
person.facts.push(Fact::new(
"uuid-1",
"1990-05-15",
"family",
"Born in Springfield",
));
chronicle.persons.push(person);
let json = serde_json::to_string_pretty(&chronicle).unwrap();
println!("{}", json);Re-exports§
pub use date::ChronicleDate;pub use facts::add_fact;pub use facts::build_attachments;pub use facts::build_location;pub use facts::collect_timeline_facts;pub use facts::edit_fact;pub use facts::AddFactOptions;pub use facts::AddFactResult;pub use facts::AttachmentUpdate;pub use facts::EditFactOptions;pub use facts::EditFactResult;pub use facts::LocationUpdate;pub use facts::TimelineFact;pub use facts::WithUpdate;pub use filter::filter_facts;pub use filter::search;pub use filter::FactFilter;pub use filter::SearchResult;pub use format::escape_csv;pub use format::format_attachment;pub use format::format_attachment_markdown;pub use format::format_date_display;pub use format::format_location;pub use format::truncate_text;pub use geocode::fuzzy_match;pub use geocode::GeocodedPlace;pub use geocode::GeocodeError;pub use geocode::GpsValidationResult;pub use geocode::NominatimClient;pub use io::load;pub use io::save;pub use merge::merge_chronicles;pub use merge::ConflictStrategy;pub use merge::DuplicateStrategy;pub use merge::MergeEvent;pub use merge::MergeEventType;pub use merge::MergeItemType;pub use merge::MergeOptions;pub use merge::MergeResult;pub use merge::MergeStats;pub use model::Attachment;pub use model::Category;pub use model::Chronicle;pub use model::Coordinates;pub use model::Fact;pub use model::Location;pub use model::Person;pub use validate::correct_uuids;pub use validate::is_valid_mime_type;pub use validate::validate_chronicle;pub use validate::IssueType;pub use validate::ValidationIssue;pub use validate::ValidationResult;
Modules§
- date
- Date parsing with uncertainty support.
- facts
- Fact creation and manipulation operations.
- filter
- Search and filter functionality for chronicles.
- format
- Display formatting helpers.
- geocode
- Geocoding functionality using Nominatim (OpenStreetMap).
- io
- File I/O for chronicles.
- merge
- Merge operations for chronicles.
- model
- Data model for family chronicles.
- validate
- Validation logic for chronicles.
Structs§
- Url
- A parsed URL record.