Primeira
15 set., 2017
Baldolino Calvino

Esta é a postagem inicial nesta página, que ainda não tenho certeza se será um blog, um sítio, um portal, um serviço, ou coisa que o valha. Como é de praxe, um pouco sobre como a página foi criada. O pessoal anglófono agora entraria com um awesome ou outstanding ou outros desses adjetivos exagerados que eles gostam. Se toda página estática minimalista for fantástica, então o mundo inteiro é uma sopa homogênea de coisas extraordinárias que acaba por ser incrivelmente monótona.

A página é estática, ou seja, sem trabalho no lado do servidor. Os arquivos são armazenados no servidor, mas é o lado cliente que interpreta. A tendência recente a este modelo vem da velocidade de carregamento dos ativos e de uma estética do mínimo que prefere a ênfase na tipografia bem cuidada, na organização econômica e em cores equilibradas. Não que não haja espaço para o vibrante. Eu fiz uma outra página, com outra ferramenta para páginas estáticas, que parece um chiclete.

A ferramenta que usei aqui é composta pelo Hugo, uma estrutura de construção de páginas web, como se autodefine este gerador de páginas estáticas escrito em Go, e Cocoa EH, o tema ultraminimalista com tipografia limpa e legal para Hugo. Uso um macbook pro early 2011 com 16 Gb de RAM. Sem excessivas minúncias:

  • Instalei o Hugo com Homebrew, um dos gerenciadores de pacotes para MacOs:
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install hugo

Escolhi o tema entre as centenas disponíveis e o instalei, baixando o conteúdo do repositório na pasta themes\cocoa-eh dentro do local que escolhi para a abrigar o código da página. Como uso o controlador de versões Git, iniciei um repositório git na pasta onde mantenho os arquivos da página e, depois, clonei o tema como um submódulo:

$ cd pasta
$ git init
$ git submodule add https://github.com/fuegowolf/cocoa-eh-hugo-theme.git themes/cocoa-eh

Adicionei esta linha no arquivo config.toml:

$ echo 'theme = cocoa-eh' >> config.toml

Este arquivo armazena os parâmetros de configuração em formato toml. O tema vem com um exemplo que pode ser personalizado:

baseurl = "https://example.com/"
theme = "cocoa-eh"
builddrafts = true
canonifyurls = true
contentdir = "content"
languageCode = "en-US"
layoutdir = "layouts"
publishdir = "public"
author = "Alexis Tacnet"
title = "Cocoa Enhanced"
disqusshortname = ""
pluralizelisttitles = false

[permalinks]
blog = "blog/:slug/"

[params]
dateform = "Jan 2, 2006"
dateformfull = "Mon Jan 2 2006 15:04:05 MST"
description = "Example blog"
copyright = "Copyright © 2015 Nishanth Shanmugham"
# copyrightUrl = "https://creativecommons.org/licenses/by-sa/4.0/"
logofile = "img/logo.png"
faviconfile = "img/logo.png"
highlightjs = true
progressively = true
share = true
latestpostcount = 5
github = "example"
email = "you@example.com"
linkedin = "john-example-aa80ue8è"
twitter = "example"
facebook = "facebook_id"
social_banner = "img/banner.png"
usesmallsummarycard = true
posts_navigation = true
# issoHost = "comments.domain.tld:1234"
# githubRepo = "githubUsername/repositoryName"
small_banner_logo = false

[params.colors]
identifier = "#527fc1f"
identifier_dark = "#1a3152"
trivial = "#6a7a8b"
foreground = "#181d2a"
background = "#f9f9f9"
background_dark = "#282a36"
code = "#87a5d2"
type = "#97d28b"
special = "#ffcb8d"
value = "#96c2d7"
statement = "#ff8e91"

Após instalar Hugo e baixar o tema, bastou rodar o código:

$ hugo
$ hugo server

Após iniciar o servidor, apontei o navegador para http://localhost:1313 e a página pôde ser visualizada.

Porém, ainda faltava a implementação da página em algum servidor. Especificamente, eu queria usar o Bitbucket, e o portal de armazenamento de código da Atlassian serve conteúdo estático em endereços tipo <usuário>.bitbucket.io. Para proceder a isso, criei um repositório em minha conta do Bitbucket, nomeando-o de acordo com a convenção acima (o nome da página). Em seguida, sincronizei a origem com o ramo master do repositório local da página:

$ git remote add origin https://<usuário>@bitbucket.org/<usuário>/<usuário>.bitbucket.io.git
$ git push -u origin master

Como apenas o conteúdo da pasta public deve ser servido, criei um novo ramo do repositório, filtrando a pasta em questão:

$ git subtree split --branch deploy --prefix public/
$ git checkout deploy
$ git push -u origin deploy

Dessa forma, o novo ramo deploy já fora sincronizado com a nuvem. O último detalhe foi configurar o repositório no Bitbucket para que o ramo principal fosse deploy e não master. Em seguida, naveguei para https://<usuário>.bitbucket.io e verifiquei o resultado final, que é este.