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 author;
26pub use author::*;
27
28pub mod collection;
29pub use collection::*;
30
31pub mod comment;
32pub use comment::*;
33
34pub mod file_meta;
35pub use file_meta::*;
36
37pub mod id;
38pub use id::*;
39
40pub mod post;
41pub use post::*;
42
43pub mod platform;
44pub use platform::*;
45
46pub mod tag;
47pub use tag::*;
48
49pub mod content;
50pub use content::*;
51
52#[cfg(feature = "utils")]
53pub mod error;
54
55#[cfg(feature = "utils")]
56pub mod utils;
57
58#[cfg(feature = "utils")]
59pub mod manager;
60
61#[cfg(feature = "utils")]
62pub mod query;
63
64#[cfg(feature = "importer")]
65pub mod importer;
66
67#[cfg(test)]
68mod tests;