4 Perguntas e respostas

4.1 Caso o endereço do site mude, como “comunico” isso ao blogdown?

config.toml -> baseurl

4.2 Como mudar o título do site que aparece na guia do browser?

config.toml -> title

4.3 Como mudar o número de posts que aparecem por vez em uma página na aba Blog?

config.toml -> paginate

4.4 Como mudar a imagem de fundo?

Coloque a imagem nova em static/img e altere o endereço em config.toml -> header_image

4.5 Como mudar a imagem de erro 404?

Coloque a imagem nova em static/img e altere o endereço em config.toml -> image_404

4.6 Como mudar o texto da página de erro 404?

config.toml -> title_404

4.7 Como adicionar um novo menu superior?

1 - Vá em content e crie uma nova pasta, aqui você pode escolher o nome para a pasta que você preferir

2 - Crie um novo arquivo em Rmarkdown no formato abaixo:

No yaml, o argumento title será o texto mostrado na guia do browser quando o usuário estiver acessando o menu. O comando h1 em html é equivalente ao # do Rmarkdown, mas recomendo que usem para o título na página essa estrutura pois class="titulo" é um bloco de código em css que programei para a fonte ficar maior que o normal quando o h1 tiver essa classe (arquivo em themes/hugo-theme-cleanwhite/static/css/hux-blog.min.css). Depois do título, o resto do arquivo pode ser escrito como um Rmarkdown normal.

3 - Salve o arquivo com o nome index.Rmd.

A função serve_site() irá renderizar o Rmd para html automaticamente (senão, salve algum arquivo para a função renderizar o site novamente ou rode o serve_site() de novo).

A página já está na pasta public (ou seja, já está no site), mas agora precisamos informar ao site que queremos que a página seja exibida como menu superior.

Se olharmos a prévia do site, o novo menu não foi adicionado.

Mas se digitarmos manualmente o endereço da pasta na url, temos como acesar a página.

Obviamente, o usuário não vai adivinhar que existe um menu escondido no site, então se quisermos que ele o acesse, precisamos adicionar a página como um menu superior.

4 - Vá em config.toml, no final do arquivo você deve ver um bloco de código parecido com isto:

[[params.addtional_menus]] = Declara que você quer adicionar um novo menu

title = “Título do menu” = Informa o título do menu, note que o site sempre põe o texto em caixa alta.

href = “pasta_do_menu/index.html” = Endereço do arquivo html transformado pelo serve site apartir do Rmd.

Adaptando o exemplo:

Note o título na guia no canto superior esquerdo, o título na página e o nome menu teste na linha de menus.

4.8 Como mudar o conteúdo de um menu superior?

Leia “Como adicionar um novo menu superior?” primeiro.

Vá em content/pasta_do_menu_que_deseja_alterar/index.Rmd

Como o arquivo é um Rmarkdown, a alteração é igual a de um Rmarkdown qualquer.

4.9 Como trocar a ordem dos menus superiores?

Leia “Como adicionar um novo menu superior?” primeiro.

Em config.toml, desça até chegar nos blocos de código referentes aos menus. A ordem dos menus é a ordem dos blocos de código. Se eu quisesse que o menu teste ficasse entre livro e slides, bastaria deixar o bloco de código entre os dois no config.toml. As ordem das abas home e blog são tratadas de maneira diferente.

4.10 Como remover um menu superior?

Leia “Como adicionar um novo menu superior?” primeiro.

1 - Vá em config.toml e exclua o bloco de código correspondente ao menu

2 - Exclua a pasta do menu em content

3 - Exclua todos os arquivos da pasta public para garantir que não haverá resquícios do menu no site

4.11 Como mudar a homepage?

O tema do site, cleanwhite, foi criado para ser um blog pessoal. Por default, a homepage é a lista de todos os posts que a pessoa criou. Para mostrar uma página fixa ao invéz da lista de posts, foi necessário fazer algumas modificações. Assim, os passos para modificar o conteúdo da homepage são os seguintes:

1 - Vá em content/homepage/home.Rmd e faça as alterações desejadas no arquivo (note que o arquivo não tem nome index.Rmd, mas você verá que para este caso isso não importa).

2 - Salve o arquivo e isso irá ativar a função serve_site(), que irá transformar o arquivo Rmd em html. Abra o arquivo content/homepage/home.html e copie tudo menos as três primeiras linhas com o título.

3 - Vá em themes/hugo-theme-cleanwhite/layouts/partials/homepage.html e cole o código que você copiou entre os blocos de comentários “AQUI VAI O CODIGO HTML DO POST” e “AQUI ACABA O POST”.

O arquivo homepage.html é a própria homepage, o que estiver entre os dois blocos de comentário é o conteúdo da página, o resto é responsável pela estrutura da página. Seria possível programar a homepage direto em html, mas como o Blogdown renderiza o Rmd para html, somente é necessário mudar o Rmd.

A título de curiosidade, o arquivo que realmente é responsável pela homepage, na verdade, é o themes/hugo-theme-cleanwhite/layouts/index.html

Esse arquivo mostra a homepage baseado em algum arquivo, aqui não é necessário modificar nada.

4.12 Como escrever os diretórios corretamente nos arquivos?

Ao mostrar um arquivo no site, é necessário informar o endereço dele no código. O endereço dos arquivos é sempre em relação a pasta public, então se você escrever o endereço como C:/pasta1/pasta2/pasta3/site/content/menu1/arquivo.pdf e rodar o comando serve_site() o site não encontrará o arquivo por dois motivos:

1 - O endereço não é referente à pasta public. Esse passo não é difícil de resolver, pois se o arquivo está na pasta content ele irá para o public graças ao serve_site(). Dessa maneira, o certo seria C:/pasta1/pasta2/pasta3/site/public/menu1/arquivo.pdf, mas aí entra o motivo 2:

2 - O diretório pai precisa ser a pasta public. Dessa forma o certo seria /menu1/arquivo.pdf. No caso do site da disciplina de Probabilidade e Estatística, é necessário fazer uma última alteração para /probabilidade-estatistica/menu1/arquivo.pdf.

Essa maneira de escrever os endereços é muito boa para arquivos que aparecem em todas as páginas do site, como a imagem com os logos das instituições no final das páginas, e funciona para qualquer caso.

Se for um arquivo que já está na mesma pasta que o index.html, então é possível cortar uma parte do endereço, veja na imagem abaixo.

Note que no index do menu listas o endereço das listas não usa o endereço completo, que seria /probabilidade-estatistica/listas/listas_1/lista1.6.pdf, por exemplo. Como o arquivo e o index compatilham a mesma pasta, é possível remover as partes probabilidade-estatistica e listas. Percebam que mesmo assim, o endereço não foi escrito como /listas_1/lista1.6.pdf, pois a barra inicial indica que aquele é o diretório pai e na pasta public não há uma pasta chamada listas_1 (e no nosso caso em particular ainda precisaria escrever probabilidade-estatistica antes para escrever corretamente o diretório pai). Uma vez que aquela é uma pasta conjunta e não o diretório pai, escrevemos sem a barra inicial.