post_archiver/lib.rs
1#![cfg_attr(docsrs, feature(doc_cfg))]
2//! Post archiving and management system
3//!
4//! # Overview
5//! This crate provides functionality for managing and archiving posts from various platforms,
6//! with support for authors, tags, files, and comments. It implements a flexible data model
7//! that can handle different content types and maintain relationships between entities.
8//!
9//! # Features
10//! - `utils`: Enables utility functions and manager functionality
11//! - `importer`: Enables post importing capabilities
12//! - `typescript`: Generates TypeScript type definitions
13//!
14//! # Core Types
15//! The system is built around several core types:
16//! - [`Author`]: Content creators with optional aliases
17//! - [`Alias`]: Alternative names for authors
18//! - [`Post`]: Content entries that can contain text and files
19//! - [`Tag`]: Categorical labels for content organization
20//! - [`Collection`]: Grouping of posts, authors, and tags
21//! - [`FileMeta`]: File metadata and storage management
22//! - [`Platform`]: Information about the platform from which posts are archived
23//! - [`Comment`]: Nested discussion threads
24
25pub mod alias;
26pub use alias::*;
27
28pub mod author;
29pub use author::*;
30
31pub mod collection;
32pub use collection::*;
33
34pub mod comment;
35pub use comment::*;
36
37pub mod file_meta;
38pub use file_meta::*;
39
40pub mod id;
41pub use id::*;
42
43pub mod post;
44pub use post::*;
45
46pub mod platform;
47pub use platform::*;
48
49pub mod tag;
50pub use tag::*;
51
52pub mod content;
53pub use content::*;
54
55#[cfg(feature = "utils")]
56pub mod utils;
57
58#[cfg(feature = "utils")]
59pub mod manager;
60
61#[cfg(feature = "importer")]
62pub mod importer;
63
64#[cfg(test)]
65mod tests;