Instalar Jekyll (y Ruby) en Windows
Pequeña guía para tener una instalación de GitHub Pages en Windows, para testear Jekyll antes de "pushear" los cambios. Recomendado cuando estas haciendo un theme de un blog o creando un sitio.
Instalar Ruby
Se necesita Ruby y Ruby Dev-kit para poder instalar los "gems".
Primero descargar ruby de Ruby Installer. Al instalar, checkear la opcion de "Add Ruby executables to your PATH
".
Note
Al 2016-02-09, GitHub Pages usa la versión 2.1.7; la mas cercana listada es la 2.1.8. Podes descargar el instalador de Ruby 2.1.7 en los archivos cosa de asegurarte.
Del mismo sitio, descargar el Ruby DevKit correspondiente a la versión. La descarga es un archivo descomprimible .exe
. Descomprimirlo en alguna carpeta sin espacios (por ejemplo: C:\Ruby\DevKit\
).
Para "unir" el devkit e instalarlo, seguir los siguientes pasos:
- con la línea de comandos ir a la carpeta (
cd path\carpeta\
) - Ejecutar
ruby dk.rb init
, esto auto-detecta las instalaciones de Ruby y añade a un archivo de configuración necesario para el próximo paso. - Ejecutar
ruby dk.rb install
para "unir" el DevKit.
Note
Si da error de "Comando no encontrado" verificar que en el PATH
este como [path\a\ruby\]bin\
(notar barra invertida final)
~~Si vas a necesitar "Syntax Highlighting" y elegiste pygments
, tenés que instalar Python (para Jekyll 2 o inferior).~~
Al 2016-02-09, GitHub Pages solo acepta Rouge para "Syntax Highlighting" (escrito en Ruby).
GitHub Pages local: instalación de Jekyll y complementos
En Windows no se puede instalar el gem de GitHub Pages por que tira error al querer instalar RDiscount, porque (según cita):
(RDiscount) It uses a POSIX function that is not available under Windows, even if you adjusted most of it.
Info
Al 2016-02-09, GitHub Pages solo acepta kramdown; desconozco si sigue tratando de descargar RDiscount (parece que si).
Por esto, es mejor instalar bundler (gem install bundler
) y usar un gemfile
(llamado "Gemfile") en donde se encuentra el proyecto, listando lo de arriba con las versiones que se usan:
source 'https://rubygems.org' require "json" require "open-uri" #get versions specific to github versions = JSON.parse(open("https://pages.github.com/versions.json").read) gem "jekyll", versions["jekyll"] gem "jekyll-coffeescript", versions["jekyll-coffeescript"] gem "jekyll-sass-converter", versions["jekyll-sass-converter"] gem "kramdown", versions["kramdown"] #gem "maruku", versions["maruku"] #jekyll 3.0 uses kramdown #gem "rdiscount", versions["rdiscount"] #we cant install it in windows #gem "redcarpet", versions["redcarpet"] #no support in GH pages (2016-02-09) #gem "pygments.rb", versions["pygments.rb"] #no support in GH pages (2016-02-09) gem "rouge", versions["rouge"] #for code highlighting #gem "RedCloth", versions["RedCloth"] #textile, no support in GH pages (2016-02-09) gem "liquid", versions["liquid"] gem "jemoji", versions["jemoji"] gem "jekyll-mentions", versions["jekyll-mentions"] gem "jekyll-redirect-from", versions["jekyll-redirect-from"] gem "jekyll-sitemap", versions["jekyll-sitemap"] gem "jekyll-feed", versions["jekyll-feed"] gem "jekyll-seo-tag", versions["jekyll-seo-tag"] #gem "ruby", versions["ruby"] #avoid problems in windows gem "github-pages", versions["github-pages"] gem "html-pipeline", versions["html-pipeline"] gem "sass", versions["sass"] gem "safe_yaml", versions["safe_yaml"]
(idea del código de jamesjoshuahill)
Se instalan los gems (con bundler) yendo al directorio con el Gemfile y ejecutar bundle install
.
Puede haber problemas con el certificado de https://rubygems.org
. Si no se quiere probar, instalar (eliminado rdiscount, sin documentacion) los gems con el siguiente comando (al 2015-09-28):
gem install jekyll:3.0.2 --no-rdoc --no-ri jekyll-sass-converter:1.3.0 --no-rdoc --no-ri jekyll-textile-converter:0.1.0 --no-rdoc --no-ri kramdown:1.9.0 --no-rdoc --no-ri redcarpet:3.3.3 --no-rdoc --no-ri RedCloth:4.2.9 --no-rdoc --no-ri liquid:3.0.6 --no-rdoc --no-ri rouge:1.10.1 --no-rdoc --no-ri jemoji:0.5.1 --no-rdoc --no-ri jekyll-mentions:1.0.0 --no-rdoc --no-ri jekyll-redirect-from:0.9.1 --no-rdoc --no-ri jekyll-sitemap:0.10.0 --no-rdoc --no-ri jekyll-feed:0.3.1 --no-rdoc --no-ri jekyll-gist:1.4.0 --no-rdoc --no-ri jekyll-paginate:1.1.0 --no-rdoc --no-ri github-pages-health-check:0.6.0 --no-rdoc --no-ri jekyll-coffeescript:1.0.1 --no-rdoc --no-ri jekyll-seo-tag:0.1.4 --no-rdoc --no-ri ruby:2.1.7 --no-rdoc --no-ri github-pages:45 --no-rdoc --no-ri html-pipeline:2.3.0 --no-rdoc --no-ri sass:3.4.21 --no-rdoc --no-ri safe_yaml:1.0.4 --no-rdoc --no-ri
El error de certificado es un similar a:
[!] There was an error parsing `Gemfile`: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed. Bundler cannot continue.
Se soluciona de la siguiente manera:
- descargar el archivo
cacert.pem
y guardarlo en (por ejemplo ejemplo)C:\RailsInstaller\cacert.pem
. - Settear el
SSL_CERT_FILE
usando la línea de comandos:set SSL_CERT_FILE=C:\RailsInstaller\cacert.pem
. Se puede dejar "permanente" poniendolo en elPATH
.
También se puede hacer por proyecto:
- Guardar el archivo
cacert.pem
en el proyecto. -
A list item with a code block:
ENV['SSL_CERT_FILE'] = File.expand_path(File.dirname(__FILE__)) + "/config/cacert.pem"
Correr Jekyll
Seguramente va a tirar un error de encoding, estilo:
jekyll 2.4.0 | Error: incompatible character encodings: CP850 and UTF-8
para solucionarlo ejecutar en la línea de comandos chcp 65001
antes de ejecutar Jekyll.
En la carpeta donde se tiene los archivos:
- Si se usó el fix de OpenSSL, hay que usar bundler:
bundle exec jekyll serve
- Si no:
jekyll serve
Abrir en http://127.0.0.1:4000/
Fuentes:
- Run Jekyll on Windows: Step by step guide
- Solución al
SSL_connect
, que linkea a un gist con las instrucciones. - UTF issue when running Jekyll on Windows
Cambios
- actualización a GitHub Pages usando Jekyll 3
How to comment
- Tweet with an URL to this post (
http://blog.aquinzi.com/windows-jekyll/
) - Write a post linking here and send me a Webmention.
- With disqus