Hexo+Aws=Blog! - Hexo para leigos (parte 1)
No primeiro artigo expliquei as motivações por trás da criação desse blog e porque optei por criar um site estático e armazená-lo utilizando os serviços do Amazon Web Services. Nesta primeira parte da série vamos abordar o básico: Hexo!
O Hexo é um framework para desenvolvimento de blogs estáticos com diversos plugins que o tornam ainda mais poderoso. Ele é desenvolvido utilizando o Node.js, um interpretador javascript desenvolvido com base no motor javascript Chrome V8.
Se você já conhece e utiliza o Node.js, basta instalar o Hexo. Eu precisei instalar o Node.js em meu Ubuntu, e a maneira mais prática que encontrei para fazê-lo foi através do nvm; a forma também descrita na documentação do Hexo. No terminal do Ubuntu, como usuário normal (não root) fiz:
$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
E em seguida usei o nvm
para instalar o Node.js.
$ nvm install 4.4.3
Muitos tutoriais na internet utilizam a versão 0.12 do Node.js com o Hexo, mas alguns plugins e módulos do próprio Node.js requerem a versão mais nova. Então preferi instalar a versão LTS, v4.4.3 enquanto escrevo esse artigo. Também poderia baixar o instalador no site do Node.js. Caso tenha usado o nvm
, em novas sessões do terminal é importante ativar o Node.js rodando nvm use 4.4.3
.
Instalando o Hexo e iniciando o blog
Depois foi só instalar o Hexo. No momento em que esse artigo é escrito a versão mais recente é a 3.2.0.
$ npm install hexo-cli -g
Para iniciar o blog
1 | hexo init meuBlog |
O último comando é responsável por instalar os pacotes Node.js dos quais o hexo depende para gerar o blog. Para quem já trabalha com Node.js não é novidade, mas é importante saber que o diretório do blog é como uma espécie de sistema desenvolvido em Node.js. O Hexo e todas os pacotes dos quais eles dependente são instalados dentro do diretório do blog.
Para ver o blog rodando, o Hexo possui um mini servidor:
$ hexo server
Acesse o conteúdo apontando seu navegador para http://localhost:4000.
Controlando seu blog com Git
Esse passo é opcional mas muito recomendado. Como alterações nas configurações, testes, novos artigos são operações freqüentes no blog, o versionamento do conteúdo é uma excelente maneira de manter registro dessas modificações e, de quebra, adicionar um pouco de proteção a desastres (sem dispensar o backup). Após inicializar o blog com Hexo, inicializei um repositório Git:
$ git init
Coloquei um arquivo .gitignore
no repositório para instruir o git a ignorar arquivos que não devem ser rastreados.
1 | .DS_Store |
E adicionei os arquivos ao repositório:
1 | $ git add * |
A cada alteração importante eu gravo um snapshot no repositório com um novo commit. Dessa forma posso retroceder a qualquer momento no tempo e restaurar um estado funcional do site.
Arquivos do site
Um site recém gerado com Hexo contém:
_config.yml | Configuração do blog e plugins do Hexo |
package.json | Lista de npm packages necessários para o blog |
scaffolds | Modelo dos layouts disponíveis (draft , post , page ) |
source | Arquivos dos posts, páginas e conteúdo do site |
themes | Temas instalados, por padrão o Hexo traz o tema Landscape, esse site usa o Tranquilpeak |
Veja a listagem deste blog.
1 | drwxrwxr-x 6 jrbenito jrbenito 4096 Mai 19 00:43 . |
Os arquivos .git
e .gitignore
são específicos dos repositório git; o .travis·yml
também não pertence ao Hexo e sua função é assunto para outro post.
Feito!
Pronto, agora é só personalizar o blog através das configurações e temas.
Dentre os geradores de sites que conheci, escolhi o hexo por sua simplicidade e por rodar em diversas plataformas sem problemas de compatibilidade possibilitando que eu edite esse blog em casa no Linux ou em uma máquina windows on the go. Continuando minha saga escreverei ainda sobre como hospedar o blog no AWS S3 e configurar uma CDN para acelerar o acesso ao site.