Middleman, crear páginas a partir de un json

Este post se publicó hace más de dos años, es posible que la información publicada esté obsoleta o las referencias no existan.

El json que genera las páginas es bastante simple, solo necesitamos dos parametros, el slug (ruta de la página sin el dominio) y la plantilla que le asignamos. Podemos incluir otros valores que necesitemos en cada página, como el idioma o la meta description, etc …

[
    {
        "slug": "",
        "template": "home"
    },
    {
        "slug": "sobre-nosotros",
        "template": "default"
    }
}

Y para generar las páginas y asignarles la template solo necesitamos añadir este código en el config.rb

data.pages.each do |page| proxy "#{page.slug}/index.html", "#{page.template}.html", :locals => { :pages => page }, :ignore => true
end

Donde pages es el nombre del archivo json que se encuentra en la carpeta data.