lib.rs held 2,000 lines: fetching, parsing, OPML, Patreon, discovery, artwork, categories, Jev and redaction, and their tests. It is now the module list and the re-exports, so ipx and the directory call feed::fetch, feed::parse and the rest as before: fetch.rs fetch and its limits parse.rs RSS and Atom outlines.rs OPML (not opml.rs, which would shadow the opml crate) patreon.rs a creator's shows discover.rs finding a feed wordpress.rs WordPress.com's API failure.rs failures in words privacy.rs redact, looks_private artwork.rs https art, icons category.rs Apple's categories jev.rs Jev's category Moved verbatim, private items pub(crate) where a sibling calls them, calls across modules module::function. Every definition and doc comment line of the old lib.rs is in exactly one of the new files; each test went with what it tests, and all 40 run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
27 lines
919 B
Rust
27 lines
919 B
Rust
//! Feed fetching and parsing, shared by ipx and the directory (#202). Replaces
|
|
//! FeedData.__getFeed / __getEntries.
|
|
|
|
mod artwork;
|
|
mod category;
|
|
mod discover;
|
|
mod failure;
|
|
mod fetch;
|
|
pub mod guard;
|
|
mod jev;
|
|
mod outlines;
|
|
mod parse;
|
|
mod patreon;
|
|
mod privacy;
|
|
mod wordpress;
|
|
|
|
pub use artwork::{is_image, prefer_https, site_icon};
|
|
pub use category::{categories, category_path};
|
|
pub use discover::{expand_input, find_feed};
|
|
pub use failure::{Failure, explain_failure, failure_kind, is_temporary_lookup_failure};
|
|
pub use fetch::{FEED_SILENCE, FEED_TIMEOUT, FETCHED_BYTES, FETCHES, Fetched, fetch};
|
|
pub use jev::{JEV_URL, classify};
|
|
pub use outlines::{collect_outlines, is_opml, opml_title, parse_opml, read_opml};
|
|
pub use parse::{Enclosure, Entry, ParsedFeed, markdown_html, parse, same_file_key};
|
|
pub use patreon::{is_patreon_creator, patreon_shows, same_feed};
|
|
pub use privacy::{redact, redact_text, url_looks_private};
|