hikaru-coffee
Version:
A static site generator that generates routes based on directories naturally.
22 lines (19 loc) • 545 B
text/coffeescript
module.exports =
class Generator
constructor: (logger) ->
= logger
= {}
# fn: param page, pages, ctx, return Promise
register: (layout, fn) =>
if fn not instanceof Function
return
if layout instanceof Array
for l in layout
[l] = {"layout": l, "fn": fn}
return
[layout] = {"layout": layout, "fn": fn}
generate: (page, posts, ctx) =>
layout = page["layout"] or "page"
if layout of
return [layout]["fn"](page, posts, ctx)
return page