slash-files-rs 0.1.0

Configurable Rust file browser with HTMX UI, JSON API, previews, batch operations, and multi-framework adapters.
Documentation
//! `slash-files-rs` is an embeddable file browser for Rust web backends.
//!
//! It provides:
//!
//! - a polished HTMX-based file browser UI
//! - a JSON API for browsing, search, downloads, deletes, and transfers
//! - multi-mount support with mount health reporting
//! - built-in previews for common browser-renderable file types
//! - extension hooks for custom preview rendering
//! - feature-gated adapters for Axum, Actix-web, and Poem
//!
//! Enable one or more adapter features depending on your host framework:
//!
//! - `axum`
//! - `actix-web`
//! - `poem`
//!
//! # Example
//!
//! ```
//! # #[cfg(feature = "axum")] {
//! use slash_files::{AxumFileServer, FileServerConfig};
//!
//! let file_server = AxumFileServer::new(
//!     FileServerConfig::new("./data").with_mount_path("/files"),
//! );
//!
//! let _ = file_server;
//! # }
//! ```
//!
pub mod config;
pub mod fs;
pub mod model;
pub mod preview;
pub mod templates;
pub mod web;

pub use config::{Branding, FeatureFlags, FileMount, FileServerConfig, RoutePaths, Theme};
pub use fs::{DeleteSummary, FileAsset, FileService, FileServiceError, MoveSummary};
pub use model::{
    BatchEntry, Breadcrumb, DirectoryListing, DownloadLauncherEntry, FileEntry, FileKind,
    MountOption, MoveTargetOption, SearchResults, StorageUsage,
};
pub use preview::{PreviewDocument, PreviewHandler, PreviewRegistry, PreviewRequest};
#[cfg(feature = "actix-web")]
pub use web::actix_web::FileServer as ActixFileServer;
#[cfg(feature = "axum")]
pub use web::axum::FileServer;
#[cfg(feature = "axum")]
pub use web::axum::FileServer as AxumFileServer;
#[cfg(feature = "poem")]
pub use web::poem::FileServer as PoemFileServer;