BedSheet MoustacheUser Guide
Overview
BedSheet Moustache is a simple Fantom library that integrates Mustache templates with the BedSheet web framework.
It provides a cache for your compiled Mustache templates and throws MoustacheErrs to show details of compilation failures.
Quick Start
using afIoc::Inject
using afBedSheet::Text
using afBedSheetMoustache::MoustacheTemplates
const class RouteHandler {
@Inject
private const MoustacheTemplates templates
new make(|This|in) { in(this) }
Text renderPage() {
html := templates.renderFromFile(`res/index.moustache`.toFile)
return Text.fromHtml(html)
}
}
Template Errors
Mustache template errors are pretty printed with a snippet of the source code in error:
Moustache Compilation Err:
file:/C:/Projects/Fantom/BedSheetMoustache/test/app/compilationErr.moustache : Line 11
- Unbalanced "{" in tag "{ alienHeadSvg } <span class="brand">{{ title"
6: {{{ bedSheetCss }}}
7: </style>
8: </head>
9: <body>
10: <header>
==> 11: {{{ alienHeadSvg }
12: <span class="brand">{{ title }}</span>
13: </header>
14:
15: <main>
16: {{{ content }}}
Sections are also added to the standard BedSheet Err page to show the same.
