O WordPress é uma plataforma fantástica. O projecto continua a crescer e todos os dias novos (e brilhantes) plug-ins surgem para facilitar a vida dos milhões de bloggers que utilizam este CMS (Content Management System).
O WordPress é uma escolha tão popular que estima-se que 1 em cada 5 sites utiliza esta plataforma – dada a sua flexibilidade e suporte, é geralmente a solução top-of-mind.
No entanto, para este blog, decidi experimentar algo diferente. Talvez por procurar algo minimalista, talvez por estar “farto” de utilizar a mesma ferramenta ou simplesmente por curiosidade, optei por outro caminho. Quando decidi arrancar com este projecto, não tive grandes dúvidas: ia dar uma hipótese ao Ghost.
Apresentando o Ghost
O Ghost é fruto de uma campanha Kickstarter, uma plataforma de crowd-funding que se tem relevado uma das melhores formas de projectos promissores obterem financiamentos.
Ghost fez barulho logo ao início: a missão e o interface apelativo valeram-lhe o destaque em sites de referência, como o Mashable ou a Forbes. O hype não tardou e, sem surpresa, o projecto foi financiado com sucesso em Maio de 2013, recebendo cerca de 8x o investimento pretendido.
O fundador, John O’Nolan, que é na realidade um ex-colaborador WordPress, pretende com esta plataforma trazer de novo o foque ao blogging e à criação de conteúdos – algo cada vez menos possível no WordPress, no meio de tantos plug-ins e customizações de código para que tudo simplesmente funcione.
Os primeiros passos
O Ghost ainda tem pouco tempo – lançado em Outubro de 2013, está actualmente na versão 0.4.1. Ainda assim, a adesão tem sido impressionante e esperam-se grandes novidades para os próximos meses, como as apps (o equivalente dos plug-ins WordPress) na versão 0.5 e o multi-user na 0.6.
Por agora, podemos simplesmente contar com algumas dezenas de themes (gratuitos ou premium), um editor minimalista (que coloca o nosso texto em markdown à esquerda e o preview à direita) e um pequeno ecrã de Settings onde definimos o nosso avatar, o nosso logo e o theme que pretendemos utilizar. Pode parecer pouco, mas na verdade é o suficiente para a maior parte dos blogs.
O objectivo do Ghost dificilmente será competir com o WordPress, actualmente na versão 3.8.1 e com uma enorme comunidade sempre disponível a esclarecer qualquer questão, criar plug-ins ou disponibilizar themes. Mas se considerarmos o sucesso recente de outras plataformas, como o Medium ou o Svbtle, existe de facto um interesse crescente em plataformas que se foquem mais na apresentação de conteúdos e na escrita e menos na quantidade de plug-ins e opções que disponibilizam.
A questão do hosting
Uma possível desvantagem do Ghost? Nem todos os planos de hosting o vão suportar.
O Ghost é baseado no Node.js, que apesar de ter várias vantagens, não é suportado no plano mais barato de uma empresa como a Dreamhost. A melhor alternativa é recorrer ao próprio hosting proporcionado pelo Ghost que, a cerca de $5 por mês para um pequeno projecto, tem um custo bastante razoável. Alternativamente, outras empresas como a Ghostify disponibilizam este serviço por um valor semelhante, com alguns extras como FTP (a razão pela qual escolhi este último foi precisamente essa).
Sem FTP?
É verdade. O hosting oficial não suporta FTP e após contactá-los, referiram que não está nos planos visto que todas as tarefas são alcançáveis via back-office.
Isso significa que se pretenderes fazer alterações ao theme, terás de descomprimir o ficheiro zip, editar algum ficheiro com extensão hbs, voltar a comprimi-lo e fazer o upload. Não concordo muito com tantos passos para uma tarefa simples, pelo que optei pelo Ghostify e, até agora, sem arrependimentos!
Experimentando o Ghost
O hosting pode ser pago, mas não é preciso gastar dinheiro para experimentar o Ghost. Na verdade, este corre na nossa máquina sem qualquer custo – o processo de instalação manual não é difícil, mas o melhor será recorrer ao pacote da Bitnami para este efeito. 50 MB e um par de cliques depois, o Ghost estará pronto a ser testado.
Se quisermos experimentar a plataforma na Web, tanto o hosting oficial como o Ghostify oferecem um período de trial de 2 semanas sem compromisso.
Personalizando o Ghost
Se as apps só vão estar disponíveis na versão 0.5, o que é que pode ser feito entretanto? Bem, como disse em cima, o Ghost já apresenta todas as condições para um pequeno projecto, mas será necessário mexer em algum código para instalar pequenas ferramentas indispensáveis, como o Google Analytics ou o Disqus. Quanto a themes, ainda são poucos, mas vão crescendo a bom ritmo todas as semanas – basta dar uma olhadela aqui ou no popular site ThemeForest.
Se gostaste do que viste, escolheste um theme e pretendes agora personalizar um pouco mais o teu blog, provavelmente vais querer fazer uma destas coisas:
- alterar o favicon
- instalar o Google Analytics
- instalar o Disqus
- editar as propriedades de OpenGraph (Facebook)
- publicar uma feed RSS
Para te poupar algum tempo nos fóruns, vamos ver cada uma delas em detalhe aqui.
Nota #1: todas estas alterações são efectuadas acedendo à pasta dentro do teu theme, que está geralmente em algo como /content/themes/xyz
Nota #2: sempre que alterares qualquer ficheiro e fizeres upload, terás depois de clicar em “Restart Blog”.
Nota #3: sempre que mudares de theme terás de repetir este processo.
Alterar o favicon
O favicon do Ghost é bonito, mas provavelmente pretenderás trocá-lo por algo alusivo ao teu blog.
Assumindo que já tens o favicon criado e o upload feito algures, terás simplesmente de abrir o ficheiro default.hbs e localizar a zona entre <head>
e </head>
, para depois inserires o código em baixo (substituindo o endereço do favicon pelo do respectivo upload):
<link rel="icon" type="image/png" href="/favicon.png" />
Instalar o Google Analytics
Depois de criares uma nova conta (ou adicionares um novo site) no Google Analytics, terás de adicionar o código no ficheiro default.hbs, imediatamente antes do final do </head>
.
O código deve ficar algo do tipo:
{{ghost_head}}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXX-XX', 'omeusite.com');
ga('send', 'pageview');
</script>
</head>
Instalar o Disqus
Um blog é bem mais divertido (e útil) quando tem comentários de outros utilizadores, portanto será natural que queiras utilizar o popular Disqus para esse efeito.
Depois de efectuares o registo, terás desta vez que ir até ao ficheiro post.hbs e localizar a zona entre {{/post}}
e </article>
.
Aí, deves colocar este código, substituindo exemplo
pelo teu próprio shortname:
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = 'exemplo'; // required: replace example with your forum shortname
var disqus_identifier = '{{post.id}}'; // make sure to use the post.id as an identifier, otherwise disqus will use the pages url per default, which might be problematic...
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
Editar as propriedades de OpenGraph
Alguns themes não estão devidamente personalizados como deviam no que diz respeito ao OpenGraph, o popular API do Facebook.
Ao partilhares um artigo teu, dependendo do theme poderás verificar que o título ou o conteúdo não surgem conforme pretendes. Alguns vão dar o título do teu blog, outros do teu artigo, outros darão somente a data de publicação. Poderás ver como o Facebook interpreta a tua página usando este debugger.
A solução para tal não é imediata (e supostamente será uma prioridade na próxima release), mas a melhor forma de contornar este problema por agora é a seguinte:
- No ficheiro default.hbs, adicionar:
{{{block "meta"}}}
- No ficheiro post.hbs, acrescentar:
{{#post}} {{#contentFor "meta"}} <meta property="og:title" content="{{title}}" /> {{/contentFor}} ... {{/post}}
seguindo as propriedades meta que podemos encontrar no debugger, como og:url, og:image ou og:description. Quanto mais informação dermos, maior controlo teremos sobre o que surge na altura de partilhar um artigo.
Para este blog, foi assim que ficou:
Publicar uma feed RSS
Por muito que o Google Reader já não exista, ainda faz sentido publicar uma feed RSS para eventuais leitores que pretendam subscrever o nosso blog. Criar uma feed RSS no Ghost não será difícil para ti se realizaste os passos anteriores com sucesso.
O primeiro passo será publicar o nosso site no Feedburner. Para tal, basta fazer login com a nossa conta Google e adicionar o endereço do nosso site. Depois de clicar em “Next” um par de vezes, teremos acesso à nossa feed personalizada com algo do género
http://feeds.feedburner.com/nomedosite
O próximo passo será abrir o (já familiar) default.hbs e localizar a seguinte linha (poderá não ser exactamente igual, mas seguramente similar):
<a class="subscribe icon-feed" href="{{blog.url}}/rss/"><span class="tooltip">Subscribe!</span></a>
Aqui, bastará substituir {{blog.url}}/rss/
pelo nosso endereço do Feedburner e está feito!
Conclusão
O Ghost terá muito a oferecer no futuro e para qualquer questão mais específica o melhor será sempre visitares a secção da documentação oficial. Se experimentaste o Ghost e sentiste que algo está a faltar, não desanimes – o mais provável é que esteja previsto para uma release futura.
Veremos o que esta plataforma tão promissora nos reserva nos próximos tempos!