Template Management

Template Management

The Template Management system provides a centralized way to create, edit, and manage reusable templates.
It separates content from code and ensures consistent formatting and styling across the platform.
Templates are used by other systems such as Mail Management for emails or document workflows for generating reports, invoices, or certificates.

Functional areas

Template Management offers the following key functions:

Email templates

  • Default templates for common user workflows such as registration, account verification, and password reset
  • Written in Go HTML (.gohtml) format with placeholders for dynamic data
  • Support for full HTML and CSS styling
  • Templates are globally available to all authorized users

PDF and document templates

Template Management supports different project types for document generation.
These allow integration into workflows beyond email, such as automated reporting or certificate creation:

  • Generic – a project without built-in template execution, for custom processing
  • Text to Text – plain text templates
  • HTML to HTML – HTML-based templates
  • Typst to PDF – Typst projects rendered into PDF
  • LaTeX to PDF – LaTeX projects rendered into PDF
  • AsciiDoc to PDF – AsciiDoc projects rendered into PDF

File management

  • Each template project creates its own file system
  • Files can be created, imported, and exported
  • Shared partials (e.g., headers, footers, styles) can be reused across templates
  • Especially useful for email templates where header and footer layouts are standardized

Dependencies

Requires:

  • None

Is required by:

Activation

This system is activated via:

std.Must(cfg.TemplateManagement())
templateManagement := std.Must(cfg.TemplateManagement())