Skip to content

Fantom-Factory/afBedSheetMoustache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#BedSheet Moustache v1.0.14

Written in: Fantom pod: v1.0.14 Licence: MIT

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.

Install

Install BedSheet Moustache with the Fantom Repository Manager ( fanr ):

C:\> fanr install -r http://pods.fantomfactory.org/fanr/ afBedSheetMoustache

To use in a Fantom project, add a dependency to build.fan:

depends = ["sys 1.0", ..., "afBedSheetMoustache 1.0"]

Documentation

Full API & fandocs are available on the Fantom Pod Repository.

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.

Moustache Err in BedSheet

About

Integrates Mustache templates with the BedSheet web framework

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages