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.