Mán stores templates (in
markdown documents, renders it over HTTP API with dispatch in PDF, JSON or HTML formats.
"Mán" translates from the Sindarin as "Spirit". Sindarin is one of the many languages spoken by the immortal Elves.
Full API and installation description available on dedicated page.
Man consists of two main parts:
We encourage you to perform your own tests, because synthetic results are far from real life situation. We provide them only as starting point in understanding Man's performance.
Full console output is available in
Since generating PDF is slow, Man allows to cache
This cache can be used when you have less than 1000 of different templates variations (eg. markdown templates, or mustache templates but all variables are continuous or enums). To enable it simply set
CACHE_PDF_OUTPUT=true in your environment.
Enabling cache when output variety is high will hurt your performance (cache will always be cold, since it's based on HTML checksum) and may lead to node crashes (ETC table may overflow).
Application is configured via environment variables. List of supported keys and their default values can be found in docs/ENVIRONMENT.md.
Easiest way to deploy Man is to use docker containers. We constantly are releasing pre-built versions that will reduce time to deploy:
Template allows to deploy Man to Heroku just in minute (and use it for free within Heroku tiers):
wkhtmltopdf is used for HTML to PDF conversion.