module Troy::Helpers
def partial(name, locals = {})
def partial(name, locals = {}) name = name.to_s basename = File.basename(name) dirname = File.dirname(name) partial = [] partial << dirname unless dirname.start_with?(".") partial << "_#{basename}.erb" partial = partial.join("/") path = site.root.join("partials/#{partial}") locals = locals.merge(site: site, page: page) EmbeddedRuby.new(path.read, locals).render rescue Exception => error raise "Unable to render #{path}; #{error.message}" end