dishwasher
Version:
Renders an array of objects with plates templates
50 lines (37 loc) • 1.95 kB
Markdown
dishwasher
==========
##
This nice little plates add-on module suddenly evolved from fairy droppings.
Now, it's a full-blown dishwasher washing your plates (obviously, you need to
fill it with objects).
Read your templates folder:
dishwasher.setFolder(folderwithyourtemplates, [cwd])
Rinse your plates:
dishwasher.rinse(pageobject, arrayofobjects, mapsobject)
The mapsobject holds five plates mapping instances (the must be called pagemap,
singelmap, multimap, fragments and collections)
The `pageobject` can hold several optional data keys. At least it must have
two keys: mastertemplate and pagemultiset.
`mastertemplate` is the name of the template which plates should use to renderd
the page.
`pagemultiset` is an array of strings. dishwasher will search every object in
the `arrayofobjects` argument with which `rinse()` was called. If one or more
objects with the corresponding string are found they are considered a
collection.
Collections will always be renderd with a template of the same name from the
template folder.
`arrayofobjects` holds all the data you want to insert into the mastertemplate.
Each object should tell dishwasher via a `collection` key, which collections it
belongs to. If the object does not belong to a collection, it should tell
dishwasher like so `object.collection = 'none'`.
`pagemap` is a `plates.Map()` which tells dishwasher where and how the keys from
`pageobject` should be replaced/inserted.
`singlemap` and `multimap` will be used to append additional template partials
within your mastertemplate (this is useful if you want to render several
collections or lots of fragments and want to keep templates and partials
reusable).
`fragments` and `collections` do the same for objects with no collection and
collections in `arrayofobjects`.
If there are still a lot of question marks popping above your head have a look
at the tests.
ENJOY!