Criação do projeto por meio do blogdown
O blogdown
é um pacote criado por Yuhui Xie que amplia as já existentes funcionalidades de construção de sites que o R e o RStudio disponibilizam. O pacote internaliza toda a criação de sites com o framework Hugo, um gerador de sites estáticos em código aberto bastante popular e eficiente.
A criação do site em si é bastante simples. Se for um site com layout básico, sem personalizações, realmente pode ser realizado em cerca de 10 minutos. Basta proceder com as etapas descritas a seguir.
Instalar o blogdown e o Hugo
O blogdown
está disponível no CRAN, então pode ser instalado normalmente.
install.packages("blogdown")
E depois é preciso instalar o Hugo, o que pode ser feito diretamente pelo blogdown
.
blogdown::install_hugo()
A função install_hugo()
instala o Hugo automaticamente em Linux, Windows e OSX.
Criar o site
A criação do site é muito simples. Pode ser feita diretamente por meio do menu File > New Project
, escolhendo a opção “Website project with Hugo”. Também pode ser feito manualmente, mas fiz diretamente pelo menu.
Após criar o projeto o RStudio iniciará uma sessão no diretório onde o projeto foi criado e haverá uma série de arquivos.
Configurações básicas
As configurações básicas são feitas no arquivo config.toml
, que está localizado no diretório raiz do projeto.
baseurl = ""
languageCode = ""
title = ""
[[menu.main]]
name = "Sobre"
url = "/sobre/"
[[menu.main]]
name = "GitHub"
url = "https://github.com/user/project"
[[menu.main]]
name = "Twitter"
url = "https://twitter.com/user"
[params]
description = ""
Além disso, para facilitar é recomendado incluir algumas configurações globais, que eliminam a necessidade de preencher informações que serão usadas na maioria das vezes. Isto pode ser feito tanto no nível das configurações globais do RStudio como das configurações apenas do projeto. Isto é feito com a inclusão de algumas definições no arquivo .Rprofile
# file.edit("~/.Rprofile") ## para configuração global
file.edit('.Rprofile') ## para configuração local
Inicialmente vou configurar apenas a extensão padrão dos arquivos e o nome do autor, que se faz da seguinte forma:
options(blogdown.ext = ".Rmd",
blogdown.author = "Bruno Pinheiro")
Com isto toda vez que eu utilizar o addin New Post estas informações já estarão automaticamente preenchidas nos seus devidos campos.
Deploy
Renderizar o site é extremamente simples.
blogdown::serve_site()
Esta função realiza todo o trabalho duro de geração do HTML, conforme é possível ver. Todo o conteúdo será gerado a partir de arquivos de texto plano em rmarkdown e guardado no diretório \content
. E será automaticamente renderizado e incluído no site.
Configuração do git
Para publicar o site os arquivos precisam estar disponibilizados na nuvem. O GitHub é uma solução extremamente robusta para o versionamento de arquivos, especialmente códigos. Neste caso o projeto é sincronizado com um repositório do GitHub.
Criação do repositório no GitHub
Deve ser criado com o mesmo nome do projeto
Iniciar o repositório local do git
Já estando no terminal e no diretório do projeto:
$ git init
$ git clone https://github.com/bruno-pinheiro/dadospp.git
$ git commit -A
$ git push -u origin master
Estas quatro linhas farão todo o trabalho de conectar o repositório local com a nuvem e subir os arquivos para o GitHub. O git também pode ser inicializado pelo RStudio, mas assim é mais fácil.
Publicar na web
que também pode ser utilizado para servir o site. Mas seguindo a recomendação do próprio criador do pacote blogdown
, para isso utilizaremos o serviço Netlify.
- Servir o site no Netlify
- Conectar repositório
- Servir site