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.
- Markdown
Result - Result of Markdown processing.