8. Bola extra: tareas rake molonas

Cuando eres un vago profesional, inviertes gran parte de tu abundante tiempo libre en idear formas de trabajar menos. Aqui va una seleccion de tareas increiblemente utiles, que te ahorraran montañas de tiempo...

upload

Una tarea que sube tu site a un servidor, para que tu cliente pueda ver cómo está quedando el asunto.

Añade en tu Rakefile esta tarea:

task :upload do
  %x(rsync -azv output username@host:/ruta/de/tu/site)
end

Si usas OSX puedes instalar growlnotify para recibir una notificación cuando termine el upload, usando este código:

task :upload do
  %x(rsync -azv output username@host:/ruta/de/tu/site)
  %x(growlnotify --name Rake -m 'Upload completado' 'nanoc')
end

pack

Una tarea para empaquetar el resultado de tus duras jornadas de trabajo.

task :pack do
  release_name = Time.now.strftime("%Y%m%d") + "-nombre_de_tu_proyecto"
  release_file = release_name + ".zip"
  if File.exists?(release_file)
    puts "Zip already exists..."
    mv release_file, Time.now.strftime("%Y%m%d%M%S") + "-nombre_de_tu_proyecto.zip"
  end
  %x(rsync -r --exclude=.svn --exclude=.DS_Store output #{release_name})
  `zip -r #{release_file} #{release_name}`
  `rm -Rf #{release_name}`
end

Tidy

Una tarea que dejará tu HTML final limpito y bien indentado.

Añade en tu Rakefile la siguiente tarea:

task :tidy do
  Dir["output/**/*.html"].each do |file|
    %x(tidy -i -asxhtml -utf8 -raw -modify -wrap 10000 #{file})
  end
end

Más ideas como ejercicios para casa...

compress_css y compress_js

Un par de tareas que comprimen los ficheros CSS y JS para mejorar el rendimiento de tus HTMLs una vez que los pongas en producción.

validate_html y validate_css

Un par de tareas para ahorrarte el tremendo coñazo de validar a mano.

screenshot

Una tarea para generar una colección de PNGs de muestra de tu HTML.

compress_png

Una tarea que usa una colección de herramientas Open Source para reducir el tamaño de tus ficheros PNG hasta límites insospechados.

Sigamos

Unos cuantos enlaces interesantes

changed September 24, 2007