Una página estática, es aquella que sólo contiene HTML. Es lo opuesto a una página dinámica donde cada vez que alguien la ve se genera sobre la marcha
¿Por qué usar páginas estáticas?
- Porque cargan menos al servidor
- Porque es mucho más rápido
- Porque no se necesita generar el contenido cada vez que se visualiza
- Porque no tienes que estar pendiente de actualizaciones como ocurre con wordpress
- Porque puedes controlar todo el proceso desde un gestor de versiones como git
- Porque puedes usar markdown para editar (y eso lo haces sin necesitar editor)
- Porque mola más usar algo que no usa todo el mundo 😉
Además existen importadores que nos van a permitir importar el contenido que ya tenemos en otro blog. De wordpress por ejemplo es sencillo importar con jekyll.
Instalaremos jekyll
Vamos a ver si tenemos todo lo necesario en nuestro host.
De entrada necesitamos acceso ssh, ruby y git (porque será la base para crear los contenidos en local).
Vamos a dar por supuesto que tenemos acceso ssh, si no es el caso hay que hablarlo con quien nos da servicio de hosting.
Nos conectamos por ssh a nuestro servidor y vemos si tenemos git y ruby instalados:
$ git --version
git version 1.7.2.5
$ ruby –version
ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]
(Si no tenemos una versión superior a la 1.9.1 de ruby debemos instalarla para que todo funcione, se puede instalar en el directorio de usuario)
Ahora tendremos que instalar unos complementos de ruby ( que se suelen denominar gemas), pero no podemos hacerlo normalmente en la instalación de ruby que estará en las carpetas del sistema, por lo que lo haremos en la carpeta de usuario.
Para ello editaremos el fichero .bash_profile
donde se configura nuestro entorno al entrar. Usaremos el editor que más nos guste. Por ejemplo vi
sudo vi .bash_profile
y añadimos
export PREFIX=~/ruby/gems
export GEM_HOME=$PREFIX/lib/ruby/gems/1.9
export RUBYLIB=$PREFIX/lib/ruby:$PREFIX/lib/site_ruby/1.9
export PATH=$PATH:$PREFIX/lib/ruby/gems/1.9/bin
Ahora recargamos el entorno con source .bash_profile
para que estén disponibles las variables que hemos definido.
Creamos los directorios donde se guardarán las gemas
$ mkdir ruby
$ mkdir ruby/gems
y las instalamos (después de armarnos de paciencia)
$ gem install jekyll
$ gem install rdiscount
$ gem install filters
$ gem install json
Podemos comprobar que todo ha ido bien con
$ gem list
Ahora vamos a crear el directorio donde estará todo el contenido del sitio con
$ jekyll new awesome-site
Cada vez que queramos actualizar la publicación haremos
jekyll build
Al lanzar este proceso se genera una carpeta dentro de nombre _site
Esta carpeta es la que tendremos que publicar, es decir a la que redireccionaremos nuestro dominio.
Si quisiéramos probar podemos utilizar un servidor incluido con
jekyll serve
Una primera versión de mi sitio en <code>http://lowcostpv.elcacharreo.com/</code>
He añadido un post de prueba con el siguiente contenido, donde se ve la cabecera y el texto
---
layout: post
title: "Primer Post"
date: 2014-02-10 00:30:03
categories: jekyll update
---
___H1___
__H2__
_H3_
* un punto
* dos puntos
* tres puntos
Para importar de WordPress necesitamos instalar más gemas (se pueden importar desde muchos sistemas)
gem install jekyll-import
gem install sequels
gem install mysql2
Con todo instalado, nos vamos a la carpeta donde vamos a publicarlo y hacemos
$ ruby -rubygems -e 'require "jekyll-import";
JekyllImport::Importers::WordPress.run({
"dbname" => "",
"user" => "",
"password" => "",
"host" => "localhost",
"prefix" => "wp_",
"clean_entities" => true,
"comments" => true,
"categories" => true,
"tags" => true,
"more_excerpt" => true,
"more_anchor" => true,
"status" => ["publish"]
})'
Lo siguiente: aprender a utilizar plantillas y publicar con git
Basado en jekyll & 1and1
JAVACASM