Para o cliente é facil! Creio que a maior parte dos desenvolvedores diria “usar um CMS”.
Seja com Wordpress com um CMS já existente, ou um criado especificamente para o projeto, os Sistemas de Gerenciamento de Conteúdo são a escolha óbvia para grande parte dos clientes, em sites e blogs diversos.
Mas e quando é a sua vez?
Estou criando este blog por culpa influência do @fdaciuk, que começou o #1postperday, que tá sendo um sucesso - e com muito conteúdo de primeira!
Eu não me aguentei quis ficar de fora, e estou criando - finalmente - este que estás lendo. Para isso, levei em conta:
Necessidade: Gerenciar postagens, conteúdo e visual de um Blog
Requisitos: Fácil e rápido de prototipar e lançar, porém flexível o suficiente para receber funcionalidades e alterações de qualquer nível
E o mais importante: não precisa ser à nível de usuário final
Após a dica do @fdaciuk considerar diversas opções: de Blogger à Ghost, passando por WordPress, a escolha lógica acabou sendo usar gerador estático
Geradores Estáticos: Praticidade, leveza e difículdade na medida certa
Pois é. Além da mão de obra para customizar e infra para usar um CMS (DB, interpretador e servidor), usar um gerador estático tem algumas vantagens:
Super Light: Os arquivos são processados apenas uma vez, e não renderizados no servidor em cada acesso
Sem Bancos de Dados: Sem DBs, a segurança é mais tranquila, e a economia em processamento e infra, novamente, é total.
Escrever com MarkDown: ‘Dificuldade na medida certa’, inclui escrever em .md. Após pegar as manhas, fica tudo tão prático, e você pode utilizar HTML no meio à qualquer momento ^^y
Somente o necessário: Sem aquele monte de funcionalidades que você nem vai precisar.
Build Fácil, Depoy mais ainda: Você pode integrar seu gerador para fazer
deploy
diretamente no seu servidor, ou no Github (como estou fazendo ), diretamente do seu terminal :)Divertido para devs: Pra gente, pode ser bemm mais legal que qualquer painel de controle
Use o que quiser: Você gosta de Jade? beleza. Curte EJS? Problema seu, fique à vontade. Que tal usar Stylus? Ou Prefere Sass? Não entendeu nada? fica tranquilo que dá pra usar css e html simples também.
Fácil de customizar - na medida certa: Cada post fica em um arquivo, apenas com seu conteúdo. O Tema é sempre modular, de pouco markup e rápido de editar.
Alguns Geradores Estáticos
Temos diversas opções disponíveis, vou citar algumas e suas principais características:
Hexo.io - Este em que vos escrevo ;) Roda em NodeJs. Simples de usar, suporta plugins e oferece facílima customização
Hammer - Exclusivo para Mac - e pago - o Hammer tem algumas funções interessantes como includes e tags especiais
Jerkyll - Roda em Ruby, suporte à diversas funções como filtros e processadores. É o gerador ‘Oficial’ do GitHub
A minha opção: Hexo.io
####Instalação
Por dica do Daciuk rodar em NodeJs e ja ter usado antes, optei pelo Hexo.io. É bem tranquilo de instalar. Tendo o Node, basta:
1 | npm install -g hexo |
E toda estrutura básica é gerada.
Após editar as informações (Nome, autor, URL do site, etc) no arquivo _config.yml
, podemos criar novo conteúdo, por exemplo:
####Criando conteúdo:
1 | hexo new <tipo> "Criando conteúdo com Hexo.io" |
O parâmetro <tipo>
é qualquer um dos disponíveis (e você pode criar novos facilmente!) na pasta /scaffolds
. O padrão é post
.
O hexo new post "Titulo do post"
irá criar um arquivo .md na pasta /source/_posts
, onde o texto é inserido.
####Gerenciando temas
Arquivos de tema ficam na pasta /themes
e sua lógica é bem simples e modular. Analisando com calma o código do tema padrão fica fácil entender. E existem vários temas prontos - em sua maioria, chineses - para Hexo, que podem ser instalados via git clone
e manterem-se atualizados, também, por controle de versão.
####Gerando prévias e arquivos estáticos
O comando hexo server
deixará o blog disponível no localhost:4000
Para gerar os arquivos estáticos, pode-se usar o hexo generate
, para limpar o cache, hexo clean
.
####Deploy automático
No próprio arquivo _config.yml
podemos configurar como fazer o deploy. Para o github, por exemplo fica assim:
1 | deploy: |
Lembrando que o repositório deve seguir os padrões necessários para gh-pages.
E tem muitas outras opções já prontinhas para deploy, como Heroku, OpenShift, Rsync…
Conclusão
Geradores estáticos não estão nem perto de serem uma opção indicável à leigos, porém podem trazer imensa economia de tempo e facilitar a vida do Desenvolvedor que busca ter um Blog, ou um site rápido de divulgação para alguma Lib ou plugin. Isso tudo sem perder a capacidade d gerenciar o conteúdo, personalizar e até escrever offline.
Sinto uma elegância e fluidez, proporcionada pelo carregamento puro de arquivos html. A experiência do usuário é clara, fica bem mais rápido.
Bom, é isso. E por aqui inauguro o RcDevLabs, gerado comHexo.io e hospedado no Github Pages.
Um grande abraço, e até a próxima!
Segue aí, curte que curto de volta. troco like. #sqn hehe
Comments