# Mau Documentation Welcome to the Mau template engine documentation! Mau is a powerful Elixir library that implements the Prana template language, providing Liquid-like templating with advanced features for data transformation. ## Getting Started New to Mau? Start here to get up and running in minutes. - [Installation](getting-started/installation.md) - Set up Mau in your project - [Quick Start](getting-started/quick-start.md) - 5-minute tutorial with basic examples - [Basic Concepts](getting-started/basic-concepts.md) - Core concepts and terminology - [Your First Template](getting-started/first-template.md) - Step-by-step walkthrough ## Guides Practical, task-oriented guides for common use cases. - [Filters](guides/filters.md) - Using and chaining filters - [Control Flow](guides/control-flow.md) - Conditionals and loops - [Variables](guides/variables.md) - Variable access and assignment - [Whitespace Control](guides/whitespace-control.md) - Managing whitespace in templates - [Map Directives](guides/map-rendering.md) - Advanced map transformations with directives ## Reference Complete technical reference documentation. - [Template Language](reference/template-language.md) - Complete language reference - [AST Specification](reference/ast-specification.md) - Template AST structure - [Map Directives](reference/map-directives.md) - Directive system reference - [Filters List](reference/filters-list.md) - Alphabetical filter reference - [API Reference](reference/api-reference.md) - Elixir API documentation ## Advanced Topics For experienced users wanting to extend or optimize Mau. - [Custom Filters](advanced/custom-filters.md) - Creating custom filters - [Custom Functions](advanced/custom-functions.md) - Creating custom functions - [Performance Tuning](advanced/performance-tuning.md) - Optimization techniques - [Error Handling](advanced/error-handling.md) - Error handling strategies - [Security](advanced/security.md) - Security best practices - [Extending Mau](advanced/extending-mau.md) - Architecture and extension points ## Examples Real-world examples and copy-paste ready code snippets. - [Email Templates](examples/email-templates.md) - Email generation examples - [Report Generation](examples/report-generation.md) - Dynamic reports and data outputs - [Data Transformation](examples/data-transformation.md) - Using map directives for transformations ## Quick Links - [GitHub Repository](https://github.com/bluzky/mau) - [ExDoc API Documentation](https://hexdocs.pm/mau) - [Hex Package](https://hex.pm/packages/mau) ## Documentation Sections Overview ### Getting Started Beginner-friendly guides designed for new users. These documents focus on the basics and help you get productive quickly. ### Guides Task-oriented documentation covering specific features and common patterns. Each guide includes practical examples. ### Reference Comprehensive technical reference for all language features, directives, filters, and functions. Use this when you need detailed information. ### Advanced In-depth topics for users building custom extensions or optimizing performance. Includes security considerations. ### Examples Real-world, copy-paste ready examples demonstrating best practices and common use cases. ## Getting Help - Check the relevant guide or reference section - Search the documentation - Review the examples for similar use cases - Open an issue on GitHub ## Contributing to Documentation We welcome documentation improvements! If you find errors, unclear sections, or missing examples: 1. Open an issue describing the problem 2. Submit a pull request with improvements 3. Help us keep examples up to date --- **Last Updated**: 2024-01-15 **Version**: 0.5.0+