RenderService
The RenderService is the main entry point for rendering MDX content in Rust.
Creating a Service
use dinja_core::service::{RenderService, RenderServiceConfig};
let config = RenderServiceConfig::default();
let service = RenderService::new(config)?;
RenderServiceConfig
pub struct RenderServiceConfig {
pub static_dir: PathBuf, // Directory with static JS files
pub max_cached_renderers: usize, // Max cached renderers per profile
pub resource_limits: ResourceLimits, // Resource limits
}
Methods
render_batch()
Renders a batch of MDX files.
pub fn render_batch(
&self,
input: &NamedMdxBatchInput // Note: In Python, this is aliased as Input
) -> Result<RenderBatchOutcome, RenderBatchError>
render_string()
Convenience method to render a single MDX string.
Examples
Basic Rendering
use dinja_core::service::{RenderService, RenderServiceConfig};
use dinja_core::models::{NamedMdxBatchInput, Settings, OutputFormat};
use std::collections::HashMap;
let config = RenderServiceConfig::default();
let service = RenderService::new(config)?;
let mut mdx = HashMap::new();
mdx.insert("page.mdx".to_string(), "# Hello World".to_string());
// Note: In Rust, the type is NamedMdxBatchInput (aliased as Input in Python)
let input = NamedMdxBatchInput {
settings: Settings {
output: OutputFormat::Html,
..Default::default()
},
mdx,
components: None,
};
let outcome = service.render_batch(&input)?;