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.