//! Facade crate for the Human Markdown Rust APIs.
//!
//! Use the module re-exports when you want a single dependency that exposes the
//! core parser, official profiles, renderer, formatter, patch engine, and HTML
//! importer.

pub use hmd_core as core;
pub use hmd_format as format;
pub use hmd_import_html as import_html;
pub use hmd_parse as parse;
pub use hmd_patch as patch;
pub use hmd_profile_decision as profile_decision;
pub use hmd_profile_general as profile_general;
pub use hmd_profile_progress as profile_progress;
pub use hmd_profile_todo as profile_todo;
pub use hmd_render_html as render_html;

#[cfg(test)]
mod tests {
    #[test]
    fn exposes_parser_and_renderer_facades() {
        let source = include_str!("../../../fixtures/valid/todo-basic.hmd");
        let document = crate::parse::parse_document(source);
        let html = crate::render_html::render_document(
            &document,
            crate::render_html::RenderOptions::default(),
        );

        assert!(html.contains("<!doctype html>"));
    }
}
