Como nasce um post no Axe: o arquivo de entrada

Os atos de postar e editar conteúdo no Axe exigem um passo prévio: a pré-publicação (ou draft), que converte o arquivo TXT original (que você gerou com o seu texto) em uma forma pronta para ser publicada ou atualizada.

O ciclo de vida de um post é composto pela sequência básica a seguir, incluindo passos opcionais:

  1. Um arquivo-texto de entrada é gravado pelo usuário no diretório axe/staging
  2. Por meio do comando axe.php -d nome-arquivo.txt este arquivo-texto de entrada é pré-publicado (draft) e gravado no diretório axe/drafts
  3. Opcionalmente, por meio do comando axe.php -v nome-arquivo.php, pode ser gerado um preview para verificação pelo autor, sem publicação. Caso haja correções ou alterações, basta editar o arquivo-texto de entrada original e gravá-lo novamente, voltando ao passo 1.
  4. Ao decidir publicar, o usuário emite o comando axe.php -P nome-arquivo.php e o arquivo é publicado em HTML, acompanhado de atualização do index, das tags, do sitemap e do feed.
  5. Caso um dia seja necessário atualizar um arquivo já publicado, o Axe pode gerar uma versão atualizada do arquivo-texto de entrada, que você pode copiar para o seu editor de textos favoritos e repetir os passos 1 a 3 (mas não o passo 4), e posteriormente comandar a atualização pelo comando axe.php -U nome-arquivo.php

Estrutura do arquivo-texto de entrada do Axe

O arquivo-texto de entrada do Axe pode ser criado no seu editor de textos favorito (vale até o Bloco de Notas), desde que ele grave em um formato de texto simples (.TXT). O Axe espera receber arquivos txt com acentuação padrão Unicode, que é a default na maioria dos aplicativos modernos. Verifique a documentação do seu editor, se necessário.

Cada arquivo pode ter o nome que você preferir, mas sem espaços nem caracteres especiais no nome (hífen e sublinhado pode).

O arquivo precisa ter, no mínimo, os seguintes elementos:


Este é o título do meu post
tags: exemplo,axe,manual,arquivo,texto

Aqui é o primeiro parágrafo do meu post. 

Aqui é o segundo parágrafo do meu post, mas ele 
poderia nem existir. 

Vamos descrevê-los:

  1. O título, sem necessidade de qualquer formatação especial, desde que você não insira qualquer quebra de linha nele.
  2. A linha de tags (separadas por vírgulas) é recomendável, mas opcional.
  3. A partir daqui é uma sequência de parágrafos de texto (com uso opcional de HTML), separados por linhas em branco.

Sim, você pode incrementar a estrutura e formatação do seu post com uso de HTML:


Este é o título do meu post
tags: exemplo,axe,manual,arquivo,texto

Aqui é o primeiro parágrafo do meu post. 

Note que até aqui não tem nada de HTML.

Mas <strong>se você quiser</strong>, pode 
inseri-las diretamente no texto. 

O mesmo vale para listas, imagens, 
tabelas, citações, etc.

Este é o quarto parágrafo do texto.

Não há suporte a outras linguagens populares de marcação, como textile, txt2tags ou Markdown, porque eu não as uso. Mas é fácil ativar esse suporte por meio de um plugin para o Axe, e não duvido que algum usuário empreendedor disponibilize logo esse recurso ツ

Mas há um recurso especial, que o HTML em si não suporta diretamente1 mas o Axe incluiu "por fora", com uma sintaxe própria: as notas de rodapé2. As notas de rodapé devem ser inseridas no local em que serão referenciadas, colocadas entre colchetes e precedidas de "@@rod:", conforme o exemplo a seguir:


Este é o título do meu post
tags: exemplo,axe,manual,arquivo,texto

Aqui é o primeiro parágrafo do meu post. 

Aqui é o segundo parágrafo do meu post, mas ele 
poderia[@@rod:E aqui vem o texto da nota de rodapé] nem existir. 

As notas são numeradas sequencialmente, aparecem automaticamente ao final do post (ou seja, no rodapé) e também como um hover no seu número, inline. Junto a cada nota, no rodapé, há um link para retornar ao seu contexto original.

Definindo variáveis do Axe no arquivo do post

É possível definir variáveis do Axe referentes ao seu post (como um ícone para o post, ou o horário em que o post deve ser publicado) no mesmo arquivo TXT em que o texto do post está definido.

As variáveis devem vir, uma por linha, no final do arquivo TXT, ou seja, abaixo do texto em si. Segue um exemplo simples que define um ícone para o post (para ser usado quando ele for mencionado no Facebook, por exemplo, ou da forma como o seu tema definir):


Este é o título do meu post
tags: exemplo,axe,manual,arquivo,texto

Aqui é o primeiro parágrafo do meu post. 

Aqui é o segundo parágrafo do meu post, mas ele 
poderia nem existir. 

@@POSTICON:http://foo.com/icone.jpg

Um detalhe importante: se o seu post for ilustrado por imagens em HTML (tag <img>), o Axe sempre definirá automaticamente como ícone para o post a primeira das imagens. Se você inseriu imagens no post mas desejar definir explicitamente por meio da variável @@POSTICON, como exemplificado acima, deverá usar o parâmetro --nofirstimage

Como ter acesso ao fonte original para atualizar um post

Quando você quiser atualizar um post, a forma mais conveniente de obter o seu texto original para copiar e colar no seu editor de textos preferido é usar o próprio Axe para isso.

Todo post publicado conta com o acesso rápido ao seu próprio texto original, por meio de uma URL terminando com .src.html?txt

Por exemplo, se o seu post estiver publicado como http://www.seusite.com/blog/2013/06/teste-do-axe.html o texto correspondente estará em http://www.seusite.com/blog/2013/06/teste-do-axe.src.html?txt - se desejar, experimente com a URL do post que você está lendo ツ

Esse acesso rápido ao texto original tem um detalhe providencial: já inclui ao seu final as variáveis @@POSTTIME e @@POSTNAME, ambas necessárias para que o post possa ser atualizado – portanto não as remova.

Um detalhe importante: embora ele esteja inserido em um campo editável do arquivo .src.html, você não pode editar o texto no próprio navegador para depois salvá-lo – é necessário copiar e colar para o seu editor de textos preferido, e realizar a edição nele, e depois repetir o seu procedimento normal de transferir o arquivo para o diretório axe/staging do seu servidor de hospedagem.

Como vimos no início deste texto, o parâmetro ('-U') para atualizar um post a partir de um TXT gravado no axe/staging é diferente do usado para publicar sua versão original.

 
  1.  Até onde eu sei, mas posso estar desatualizado.

  2.  Como esta.

As variáveis de exibição para usar no seu tema

O Axe vem com um tema pronto, chamado Panzer, que certamente não faz uso de todos os seus recursos.

Para alterá-lo, ou criar o seu próprio tema, basta criar os arquivos HTML correspondentes à estrutura do blog (veja quais são, ao final deste artigo) inserindo nele as variáveis de exibição suportadas pelo Axe, sempre declaradas em maiúsculas e cercadas por pares de sinais de percentual.

Como exemplo, veja as linhas a seguir, que mostram o trecho inicial de um cabeçalho HTML:

<pre><head>
<title>%%PAGETITLE%%</title>

No exemplo acima, note como a variável de exibição %%PAGETITLE%% está inserida normalmente em meio a tags HTML. No momento em que o Axe gera uma nova página ou reconstroi seus arquivos, ela será substituída pelo título de cada página, automaticamente.

As variáveis de exibição se dividem em 2 grupos: as referentes a um post, e as referentes ao blog como um todo – e ambos os grupos podem ser usados simultaneamente em qualquer arquivo de um tema.

Variáveis de exibição referentes a um post

As variáveis a seguir representam informações sobre o post ativo, ou seja, aquele que está sendo incluído neste momento em um índice, um feed, ou na sua própria página.

O tema default incluído no Axe serve como exemplo do uso da maioria delas.

Segue a lista:

  • %%POSTANOMES%% – data de publicação do post, no formato AAAA/MM
  • %%POSTAUTHOR%% – o autor do post corrente
  • %%POSTAUTHORTWITTER%% – o twitter do autor do post corrente
  • %%POSTAUTHORURL%% – a URL do autor do post corrente
  • %%POSTBIO%% – a biografia resumida do autor do post corrente (se o arquivo correspondente constar no diretório axe/authors)

  • %%POSTBODY%% – o corpo de texto completo do post corrente
  • %%POSTDATE%% – data de publicação do post, no formato AAAA/MM/DD
  • %%POSTICON%% – o ícone definido para o post, ou o ícone do blog, se não houver
  • %%POSTMID%% – a chamada para o post corrente, criada a partir de suas frases iniciais
  • %%POSTNAME%% – o caminho web do post, no formato AAAA/MM/titulo-do-post.html
  • %%POSTNEWSBODY%% – o corpo de texto completo do post corrente, sem separação de parágrafos
  • %%POSTOLDCOMMENTS%% – comentários antigos que tenham sido importados do WordPress, apenas para exibição.
  • %%POSTSHARETHIS%% – URL completa para o leitor compartilhar o post no Facebook usando a API do serviço
  • %%POSTTAGS%% – as tags (assuntos, temas) do post, já com links aplicados.
  • %%POSTTIME%% – data e hora de publicação do post, no formato da RFC 2822. Exemplo: Thu, 21 Dec 2000 16:01:07 +0200
  • %%POSTTITLE%% – o título do post
  • %%POSTTWIT%% – uma frase curta descrevendo o post (ou o título do post, caso não esteja definida), seguida da URL completa do post.
  • %%POSTTWITTHIS%% – URL completa para o leitor compartilhar o post no Twitter usando a API do serviço
  • %%POSTURL%% – o mesmo que %%POSTNAME%%

Incluindo variáveis no arquivo-texto de entrada

O arquivo-texto de entrada, que você cria no seu editor de textos favorito para depois gravar no diretório axe/staging e dar início ao processo de publicação, também pode (opcionalmente) definir explicitamente variáveis de exibição referentes ao post, uma por linha, após o final do texto do corpo do post.

Neste caso, ao invés de cercar o nome da variável com 2 pares de sinais de percentual, ele deve ser precedido de um par de arrobas, e seguido de um sinal de dois pontos, como no exemplo a seguir:

Este é o penúltimo parágrafo do texto.

Este é o último parágrafo do texto.

@@POSTAUTHOR:Miguel de Cervantes
@@POSTAUTHORTWITTER:@cervantes

Variáveis de exibição referentes ao blog como um todo

A configuração e estrutura do blog constam em uma série adicional de variáveis de exibição.

Várias delas vêm diretamente das definições do arquivo axe/axe_config.php (e os detalhes sobre elas encontram-se explicados junto ao modelo deste que acompanha o Axe), enquanto outras são computadas a partir do ambiente do blog.

Segue a lista das variáveis gerais:

  • %%AXEVERSION%% – a versão do Axe em execução
  • %%BLOGICON%% – a URL do ícone geral do blog
  • %%BLOGLOCALE%% – o idioma do blog. Default: pt_BR
  • %%BLOGMOTTO%% – o lema ou subtítulo do blog
  • %%BLOGOWNER%% – o nome do criador do blog
  • %%BLOGOWNERTWITTER%% – o twitter do criador do blog
  • %%BLOGOWNERURL%% – a url do criador do blog
  • %%BLOGROOT%% – o diretório em que o blog foi instalado, no qual podem ser encontrados os subdiretórios axe e axethemes
  • %%BLOGTITLE%% – o nome do blog
  • %%BLOGTWITTER%% – o twitter do blog
  • %%FEEDURL%% – a URL pública do feed do blog (que sempre será gerado automaticamente em %%POSTSDIR%%feed.xml)
  • %%LASTBUILDDATE%% – a data em que a página corrente está sendo gerada
  • %%NAVLINKS%% – os links para avançar e retroceder uma página, para uso em temas de índices
  • %%NUMFEATSCOVER%% – o número de posts em destaque na capa
  • %%NUMPOSTSCOVER%% – o número total de posts na capa
  • %%NUMPOSTSFEED%% – o número total de posts no feed
  • %%PAGEDESC%% – a descrição curta da página corrente
  • %%PAGEICON%% – o ícone da página atual
  • %%PAGEURL%% – a URL completa da página corrente
  • %%YEAR%% – o ano corrente

Segue a lista das variáveis referentes a diretórios do servidor (não deixe de ler a documentação de Estrutura de diretórios e arquivos do Axe):

  • %%DRAFTSDIR%% – o diretório de drafts, onde ficam os posts pré-publicados
  • %%INPUTDIR%% – o diretório onde ficam os arquivos de dados referentes aos posts já publicados (descriptors, na configuração default)
  • %%PLUGINSDIR%% – o diretório onde podem ser instalados plugins. A interface de plugins ainda não foi documentada.
  • %%POSTSDIR%% – o diretório onde são gravados os índices, tags, feed, sitemap e os subdiretórios de posts publicados em HTML.
  • %%PREVIEWDIR%% – o diretório onde são gravados os previews.
  • %%STAGINGDIR%% – o diretório staging, onde são gravados os arquivos-texto para publicação
  • %%THEMESDIR%% - o diretório em que estão os temas instalados
  • %%THEME%% - o diretório do tema ativo, em relação ao %%THEMESDIR%%. Default: panzer/

Segue a lista das variáveis referentes a URLs:

  • %%BLOGURL%% – A URL da raiz do blog
  • %%PAGEURL%% – A URL da página sendo gerada
  • %%POSTSURLPREFIX%% – o prefixo da URL dos posts (normalmente em branco)
  • %%PREVIEWSBASEURL%% – a URL completa do diretório de previews
  • %%THEMESPATH%% – o caminho web do diretório axethemes

Segue a lista das variáveis para inserção do conteúdo de arquivos opcionais inseridos no diretório do tema:

  • %%BODYAD%% – bodyad.php
  • %%MENU%% – menu.php
  • %%MIDAD%% – midad.php
  • %%RIGHTAD%% – rightad.php
  • %%SEARCH%% – search.php
  • %%SIDEBAR%% – sidebar.php
  • %%TOPAD%% – topad.php

É possível combinar uma sequência de variáveis: por exemplo, para um link completo para um post ancorado no seu título, uma alternativa seria definir o seguinte trecho em um tema:

<a href="%%BLOGURL%%%%POSTSURLPREFIX%%%%POSTURL%%">%%POSTTITLE%%</a>