Skip to content

rocher/mold

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alire Alire CI/CD GitHub release License

Welcome to Mold

MOLD: Meta-variable Operations for Lean Development

Mold is a Template Processor, or Template Engine, to work with repository templates. The main motivation of Mold is to have repositories in GitHub used as template repositories to create new, customized repositories for other users.

Mold is the CLI wrapper of the mold_lib, the Ada library that implements all Mold functionality.

Main features supported in Mold include

  • variable replacement in mold files (*.mold)

  • definition of variables with a simple TOML file

  • for a given directory, variable replacement recursively for all mold files in all subdirectories

  • variable replacement in filenames

  • variables in variables

  • predefined text filters (and custom text filters)

  • inclusion of other templates

Variable replacement can be specified as normal, optional or mandatory. For example, the variable foo = "bar" can be specified with {{foo}}, {{?foo}} (optional) or {{#foo}} (mandatory). The difference is the handling of errors when an undefined variable is encountered.

All mold files must end with the extension .mold, for example README.md.mold. Destination files (with variables replaced) have the same name without the mold extension: README.md. This simplifies the work done in large subdirectories with few templates.

This crate contains the Ada library and unit tests. For a CLI tool, please take a look at the crate mold.

Reference Guide

Please visit Mold documentation for more information.


License

MIT (c) 2023-2025 Francesc Rocher

About

Meta-variable Operations for Lean Development

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages