quinta-feira, 28 de abril de 2016

Welcome to Jekyll! - como instalei Jekyll no Mac OS X El Capitan

You’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 run jekyll 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 convention YYYY-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:


def print_hi(name)
  puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.

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/[meu usuário]/.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

Obs.: originalmente postado no meu blog Ciência Médica.

Nenhum comentário:

Postar um comentário

Clique aqui!

2015 A.C. Camargo academic journals acesso aberto adverse drug reactions alergia alquilantes alto custo ambiente ambientes virtuais analgésicos anomalias vasculares anti-eméticos anti-helmínticos anti-histamínico antianêmicos antiangiogênico anticâncer anticoagulantes antifúngicos antiprotozoários antivirais artemisinina arXiv asma asthma atopia atualização aula aulas auto-arquivamento avastin avermectina bevacizumab biologicals bioRxiv Blogger brain tumor bundler cancer cancerologia pediátrica Carlos Chagas carne vermelha cauterização Ceará CERN child chronic fatigue syndrome ciência ciência brasileira ciências biológicas e da saúde cientistas influentes cirurgia CLI Command Line Tools conselho internacional crime virtual CT scans Curtis Harris darbopoietina dermatite desenvolvedor diabetes dieta disautonomia dislipidemias doença renal doenças cardíacas doenças parasitárias dor DPOC eczema editoras predatórias efeitos adversos eficácia ensino e pesquisa eritropoietina erlotinib ESA escleroterapia estatinas esteróides estilo de vida exercícios F1000Research farmacogenética farmacologia fatores de crescimento fibromialgia Figshare Fisiologia e Medicina fitness flu FMJ Fortaleza fosfoetanolamina fraude acadêmica fraude eletrônica genetics GitHub glioblastoma gliomas Google Books Google mapas gordos green way Harald zur Hausen hemangiomas hemophagocytic lymphohistiocytosis High Sierra homebrew horário imagem immunology imunossupressores imunoterapia infecção urinária inibidores de ECA inibidores tirosina-quinase iniciação científica insulina irracionalismo ivermectina Jeffrey Beall Jekyll journal hijack Lectures lepra leucemia leukemia linfangiomas Mac OS Mac OS X macrophage activation syndrome magrinhas mal-formações March for Science Marcha pela Ciência medicina personalizada meta-análise Milton Santos modelos monoclonais monoclonal antibody mortalidade morte mudança Mulliken neuro-oncologia neuroblastoma neurology ngram viewer Nobel Nobel em Medicina ou Fisiologia novas drogas novos tratamentos obesidade ômega 3 open access open science OpenAIRE osteoporose Osvaldo Cruz package installer pediatria pediatric cancer pediatric tumors pediatrics peer review PeerJ personalized medicine PET/CT pharmacogenetics pharmacological treatment pharmacology plágio política de C&T posters postprints predatory publishers Preprints pressão arterial prevenção progressista projeto de pesquisa propranolol próstata publicação publicação científica publicações publication pubmed Python python 2 python 3 quimioterapia radiation radioterapia rapamycin rbenv recidiva regressão espontânea Regulação médica repository resposta resultados retrospectiva revisão por pares risco Ruby Satoshi Ömura Scholarly Open Access science ScienceNOW seguimento selênio self-archiving sequestro de periódico científico serotonina SIDA sildenafil slides sobrevida sulfa suplementos survival tacerva targeted therapy temozolamida temozolomide terapia alternativa tireóide tratamento tuberculose tumores cerebrais tumores pediátricos vaccine vacina venv via dourada via verde virtualenv virtualenvwrapper vitamina E vitaminas William C. Campbell Xcode Youyou Tu Zenodo

Postagens populares