Goal: excellent Mustache support in nanoc
Need alternatives for:
<%= item[:blah] %>
→{{ item:blah }}
<%= item.path %>
→{{ item.path }}
<%= layout[:blah] %>
→{{ layout:blah }}
<%= config[:blah] %>
→{{ config:blah }}
<%= some_helper(…) %>
→ ???<% some_helper(…) do %>…<% end %>
→ ???
Maybe these (not sure whether these are necessary in logicless templates):
<%= @items['/some/item/'][:blah] %>
→ ???<%= @items['/some/item/'].path %>
(andcompiled_content
etc) → ???
Conventions used here:
{{ item:blah }}
: access attribute:blah
in current item (totally not sure whether I like the:
){{ item.path }}
: call “method”path
on current item (not really a method call, because you won’t be able to just call any method)
I think Mustache only works with key-value pairs, but
{{ item.location.venue_city }}
could work if you have a keyitem.location.venue_city
and valueBoston, MA
.As for globals, I’d suggest using the
@config
instead of globals, because the latter may break dependency tracking in odd ways.