Este site

Este é um site pessoal que não tem objetivo claro nem propostas mirabolantes. Nele compartilho experiências, pensamentos, aprendizados e gosto de me esforçar durante a escrita para me comunicar de forma clara.

Nesta página de entrada gostaria de deixar algumas palavras sobre o que acontece por baixo dos panos enquanto você lê isso.

Funcionamento do site

O funcionamento é quase o mesmo do de um sistema de arquivos: uma árvore de diretórios em que arquivos e pastas aninhadas são armazenadas. A cada requisição de página, o conteúdo da pasta atual é mostrado e pode ser acionado. Somente.

Talvez alguma funcionalidade de blog (sensibilidade ao tempo) seja implementada no futuro, mas por enquanto isso não faz parte dos planos imediatos.

Implementação do sistema

Muitas escolhas foram feitas durante implementação desse sistema. A seguir, escreverei um pouco de forma mais técnica, mas ressalto que é importante manter em mente que este é um site pessoal e nele não pretendo fazer uso de recursos exremamente elaborados ou buscar grande quantidade de acessos.

Gerente de conteúdo

A base do sistema é feita utilizando Flask, um microframework escrito em Python. Este tipo de ferramenta não é necessariamente pequena e sem recursos como pode ser inferido de supetão. Na verdade, a expressão vem de ser baseado naquilo que é essencial. Ao invés de se desabilitar aquilo que não se precisa, instala-se apenas aquilo que é nessário. Uma abordagem conhecida como bottom-up.

Construção de artigos

Todos os artigos estão contidos em arquivos de texto plano e são escritos sob as regras do reStructuredText. Isto significa que imagens e outros arquivos não podem simplesmente ser anexados como num documento de texto tradicional. Mas, marcações permitem que esses itens possam ser referenciados e posteriormente montados pelo servidor quando da requisição da página.

Organização

Dessa forma, fiz com que cada artigo corrende-se a uma pasta e os arquivos correlatos (textos, imagens, compactados, etc) estivessem dentro dela. Isso mesmo, cada pasta é um artigo por definição (e até por isso você se deparará com um monte de erros quasi-404 ¬¬). Caso tenha curiosidade, estes arquivos internos podem ser acessados diretamente (sem processamento) por estarem incluídos na listagem (.text, .jpg, .zip, etc).

Assim, este site ainda pode ser usado como um lugar para se aprender sobre reStructuredText, da mesma forma como eu mesmo o estou utilizando para o aprendizado e a prática.

Palavras finais

Fique atento, a forma como o computador interpreta cada letra no arquivo de texto pode mudar de sistema para sistema. E, se o seu for diferente do meu, alguns caracteres podem ser mostrados como símbolos diferentes (muitas vezes realmente estranhos). Isso é chamado de codificação. O navegador normalmente tem capacidade para resolver essa situação de forma transparente quando se trata de páginas de internet. Porém, os arquivos planos não tem indicações sobre que tipo de codificação carregam e, caso os mostrinhos apareçam, não se assuste ou desespere. Apenas configure a codificação manualmente (normalmente no menu "view" ou "tools"). Ah! quase esqueci, aqui eu uso UTF-8.

Outro ponto: a extensão convencional para documentos escritos com reStructuredText é .rst, porém, o navegador não costuma reconhecer esse tipo de formato e acaba por sugerir download do arquivo ao invés de abri-lo diretamente. Já para arquivos texto com extensões mais padrão como .txt ou .text (a que uso), o navegador mostra o arquivo como se fosse uma página extremamente simples, o que torna muito mais fácil o acesso ao conteúdo dele.