forked from softmoth/raku-Template-Mustache
hoelzro/p6-Template-Mustache
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Perl6 implementation of the Mustache template format, http://mustache.github.io/. Synopsis use Template::Mustache; # Call .render as a class method Template::Mustache.render('Hello, {{planet}}!', { planet => 'world' }).say; # Or instantiate an instance my $stache = Template::Mustache.new: :from<./views>; # Subroutines are called say $stache.render('The time is {{time}}', { time => { ~DateTime.new($now).local } }); my @people = { :name('James T. Kirk'), :title<Captain> }, { :name('Wesley'), :title('Dread Pirate'), :emcee }, { :name('Dana Scully'), :title('Special Agent') }, ; # See this template in ./t/views/roster.mustache $stache.render('roster', { :@people }).say; my %data = event => 'Masters of the Universe Convention', :@people, ; my %partials = welcome => qq:b{Welcome to the {{event}}! We’re pleased to have you here.\n\n}, ; # See this result in ./t/50-readme.t Template::Mustache.render(q:to/EOF/, {{> welcome}} {{> roster}} Dinner at 7PM in the Grand Ballroom. Bring a chair! EOF %data, :from([%partials, './views']) ).say; More Examples and Tests The Mustache spec provides a wealth of examples to demonstrate exactly how the format behaves. https://github.com/mustache/spec/tree/master/specs/ To run tests, # NB Ensure you are using the default 'perl6' branch, not 'master' git clone git@github.com:softmoth/mustache-spec.git ../mustache-spec PERL6LIB=./lib prove -e perl6 -v TODO * object support (not just hashes and arrays) * parsed template caching * .new(:helpers()) * pragmas (FILTERS, inheritance) * database loader * inline loader (POD?)
About
Perl6 library for the Mustache template format
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Perl 100.0%