Welcome to Jekyll! - como instalei Jekyll no Mac OS X El Capitan
28 Abril 2016
Escrito por Francisco H. C. FelixYou’ll find this post in your
_posts
directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to runjekyll serve
, which launches a web server and auto-regenerates your site when a file is updated. To add new posts, simply add a file in the_posts
directory that follows the conventionYYYY-MM-DD-name-of-post.ext
and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
Jekyll also offers powerful support for code snippets:
Check out the Jekyll docs for more info on how to get the most out of Jekyll. File all bugs/feature requests at Jekyll’s GitHub repo. If you have questions, you can ask them on Jekyll Talk.
Esta é a postagem de exemplo que vem no pacote do Jekyll. Ela dá informações sobre o local das postagens no sistema de diretórios, o script do Jekyll para servir a página localmente, como adicionar novas postagens, como incluir snippets de código, e direciona para a documentação.
Jekyll foi fácil de instalar, uma vez superado o problema de instalar uma cópia de Ruby que possa ser usada para desenvolvimento no Mac OS X El Capitan. O sistema da Apple vem com uma cópia de Ruby pré-instalada que não pode ser usada facilmente. A sua pasta de instalação padrão é /usr/bin
, a qual, juntamente com outras pastas do sistema, são protegidas pelo System Integrity Protection. Ele não permite a modificação destas pastas, nem mesmo por usuários logados como root. A melhor maneira é instalar outra cópia do Ruby, funcional. Para esse fim, usei um gerenciador de pacotes, o rbenv, o qual permite escolher a versão a ser instalada. Isso é importante, pois o Jekyll 3 depende do Ruby v2. Particularmente, no meu sistema, obtive melhores resultados com Ruby 2.2. Então, a instalação procedeu assim:
ATENÇÃO! Antes é necessário ter instalado XCode e Command Line Tools para Xcode.
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
para instalar Homebrew um gerenciador de pacotes para Mac OS X que administra muito bem o problema das instalações e SIP.
$ brew update # faz o update do Homebrew
$ brew install rbenv # instala rbenv
$ rbenv init # inicializa
para instalar rbenv (e ruby-build, o script que permite a instalação de Ruby) e iniciá-lo.
$ rbenv install -l # lista versões disponíveis de Ruby
$ rbenv install 2.2.3 # instala a versão escolhida
para listar as versões disponíveis de Ruby e instalar a versão escolhida.
Ta da! Você pode checar sua nova instalação de Ruby:
$ which Ruby # local onde Ruby está instalado
$ Ruby -v # versão do Ruby
que, no meu sistema retorna:
/Users/Helder/.rbenv/shims/ruby
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin15]
Assim, tenho uma cópia funcional de Ruby que me permite desenvolver e não necessitei mexer na instalação padrão do sistema! O próximo passo foi instalar o Jekyll. Como ele é uma gem de Ruby, o ideal é usar o Bundler, um gerenciador de dependências de gems que permite instalações modulares, com configurações personalizadas para cada pasta-alvo.
$ gem install bundler # instala Bundler
instala o Bundler. Depois, é necessário ir para o diretório desejado e criar um arquivo de configuração Gemfile. Como usei o GitHub Pages para hospedar e servir o site, precisei antes criar um repositório do Git e um branch gh-pages (vide instruções).
$ git init /pasta/onde/vc/quer/seu/blog # cria a pasta com o repositório
$ cd /pasta/onde/vc/quer/seu/blog
$ git checkout -b gh-pages # cria o branch gh-pages e muda para ele
$ echo "source 'https://rubygems.org'
$ gem 'github-pages', group: :jekyll_plugins" >> Gemfile # cria o arquivo de configuração
$ bundle install # instala a gem com suas dependências
Note que a única gem que mandei o Bundler instalar foi github-pages, que, ao ser configurada, vai pedir todas as dependências necessárias para manter um ambiente do Jekyll em sincronia com o GitHub Pages. Após a instalação, um arquivo Gemfile.lock
é criado, contendo a configuração local. Na minha pasta /jekyll/ciencia-medica
ficou assim:
GEM
remote: https://rubygems.org/
specs:
colorator (1.1.0)
ffi (1.9.14)
forwardable-extended (2.6.0)
jekyll (3.2.1)
colorator (~> 1.0)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 1.1)
kramdown (~> 1.3)
liquid (~> 3.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (~> 1.7)
safe_yaml (~> 1.0)
jekyll-sass-converter (1.4.0)
sass (~> 3.4)
jekyll-watch (1.5.0)
listen (~> 3.0, < 3.1)
kramdown (1.12.0)
liquid (3.0.6)
listen (3.0.8)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
mercenary (0.3.6)
pathutil (0.14.0)
forwardable-extended (~> 2.6)
rb-fsevent (0.9.7)
rb-inotify (0.9.7)
ffi (>= 0.5.0)
rouge (1.11.1)
safe_yaml (1.0.4)
sass (3.4.22)
PLATFORMS
ruby
DEPENDENCIES
jekyll
rouge
BUNDLED WITH
1.12.5
mostrando que o Bundler instalou o Jekyll e todas as outras gems necessárias. Por fim:
$ bundle exec jekyll new # cria um novo template do Jekyll
E para servir localmente seu site e verificar pendências:
$ bundle exec jekyll serve
Ao fim do processo, fiz um commit e um push para o repositório remoto do GitHub, o que automaticamente publicou a página na internet.
$ git add . # adiciona arquivos à monitoração do Git
$ git commit -am "publica página" # faz o commit dos arquivos adicionados
$ git remote add gh-pages https://github.com/usuario/meu_repo.git # adiciona um remote para fazer o push
$ git push gh-pages gh-pages