nmd-core 0.37.2

Official NMD compiler
Documentation

Logo

License Version

NMD core

nmd-core is the core of NMD. It can be used to load and build NMD files or dossier.

If you want know more about NMD, please, you should open this link.

To get start add nmd-core to your project:

cargo add nmd-core

let dossier_path = PathBuf::from(...)

let format = OutputFormat::Html;

let codex = Codex::of_html(CodexConfiguration::default());


// === Load ===

let loader_configuration = LoaderConfiguration::default();

let mut dossier = Loader::load_dossier_from_path_buf(dossier_path, &codex, &loader_configuration)?;


// === Compile ===

let compilation_configuration = CompilationConfiguration::default();

let compilation_configuration_overlay = Arc::new(RwLock::new(CompilationConfigurationOverLay::default()));

Compiler::compile_dossier(&mut dossier, &format, &codex, &compilation_configuration, compilation_configuration_overlay)?;


// === Assemble ===

let assembler_configuration = AssemblerConfiguration::default();

let artifact = HtmlAssembler::assemble_dossier(&dossier, &assembler_configuration)?;


// === Dump === 

let dump_configuration = DumpConfiguration::new(...);

artifact.dump(&dump_configuration)?;

Documentation

Full documentation

Develop

Develop check list

NMD Syntax

NMD Standard Syntax

[!WARNING] NMD syntax is working in progress yet, you can contribute following contribution guidelines!

Author

Nicola Ricciardi

Contributing

If you would like to contribute to the development of the NMD compiler, please follow contribution guidelines.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.