José Galisteo Ruiz

28/09/2010

Desplegar Nanoc en Heroku o cualquier web estática

Nanoc es un estupendo framework en Ruby para generar sitios estáticos, es decir, escribes el contenido del sitio en Ruby y los lenguajes de plantilla que quieras como Markdown, Textile, Haml o el que sea y luego generas el html.

Heroku es una plataforma para desplegar nuestras aplicaciones escritas en Ruby y dependiendo de lo que queramos puede salir muy barato, incluso gratis, como por ejemplo desplegar sitios webs estáticos.

Ya sea desplegar lo que genere Nanoc o html generado por nosotros solo necesitamos un fichero ‘config.ru’ para que funcione.

Suponiendo que tienes generas en nanoc generas el html en ‘output/’ y tus rutas son del estilo loquesea.html y tienes un index.html el siguiente fichero te servirá.

# config.ru
require "rubygems"
require 'rack/contrib'
require 'rack-rewrite'

use Rack::Rewrite do
  rewrite '/', '/index.html'
end

use Rack::Static, :urls => ["/"], :root => Dir.pwd + '/output'

# Empty app, should never be reached:
class Homepage
  def call(env)
    [200, {"Content-Type" => "text/html"}, ["There's a problem with my website/"] ]
  end
end
run Homepage.new

Si no es así solo tienes que configurar la parte del Rack::Rewrite y la del Rack::Static. Además no olvides que debes añadir al repositorio de Heroku el output.

Además para que Heroku te pille todas las gemas necesarias pon en el raiz de tu repositorio un fichero ‘.gems’ como el siguiente.

# .gems
rack
rack-rewrite
rack-contrib

Pues lo mismo que se configura para lo que genera Nanoc lo puedes hacer para cualquier contenido html que quieras subir. Lo mejor de esto es que el hosting que se puede considerar de confianza con las condiciones que tienen te saldrá gratis.

blog comments powered by Disqus