Crate ndg_commonmark

Crate ndg_commonmark 

Source
Expand description

§NDG - A documentation generator for Nix/OS projects

This is a high-performance Markdown processor designed for Nix, NixOS and Nixpkgs documentation featuring AST-based processing with role markup, autolinks, GFM support and more.

§Quick Start

use ndg_commonmark::{MarkdownProcessor, MarkdownOptions};

let processor = MarkdownProcessor::new(MarkdownOptions::default());
let result = processor.render("# Hello World\n\nThis is **bold** text.");

println!("HTML: {}", result.html);
println!("Title: {:?}", result.title);
println!("Headers: {:?}", result.headers);

§Configuration

use ndg_commonmark::{MarkdownProcessor, MarkdownOptions};

let mut options = MarkdownOptions::default();
options.gfm = true;  // Enable GitHub Flavored Markdown
options.nixpkgs = true;  // Enable NixOS-specific extensions
options.manpage_urls_path = Some("manpage-urls.json".to_string());

let processor = MarkdownProcessor::new(options);

Re-exports§

pub use crate::processor::apply_gfm_extensions;
pub use crate::processor::process_option_references;
pub use crate::processor::process_role_markup;
pub use crate::processor::process_block_elements;
pub use crate::processor::process_file_includes;
pub use crate::processor::process_inline_anchors;
pub use crate::processor::AstTransformer;
pub use crate::processor::MarkdownOptions;
pub use crate::processor::MarkdownProcessor;
pub use crate::syntax::SyntaxConfig;
pub use crate::syntax::SyntaxError;
pub use crate::syntax::SyntaxHighlighter;
pub use crate::syntax::SyntaxManager;
pub use crate::syntax::create_default_manager;

Modules§

processor
syntax
Provides a trait-based architecture for syntax highlighting that allows multiple backends to be plugged in. Currently supported backends:
utils

Structs§

Header
Represents a header in a Markdown document.
MarkdownResult
Result of Markdown processing.