Furei completamente meu cronograma porque precisei suspender o desenvolvimento do Axe devido a prioridades externas.
Mas retomei há 2 semanas. Pretendo lançar o beta daqui a 2 semanas.
CHANGELOG PROVISORIO
A definição do arquivo-texto de entrada mudou: agora só as 2 primeiras linhas têm significado especial nato. A primeira sempre é o título do post, e a segunda (opcionalmente, apenas quando iniciar com "tags:") é a lista de tags. Na versão anterior, a segunda linha indicava um ícone para o post, para ser usado (por exemplo) por temas e por redes sociais, na forma da variável %%POSTICON%%.
O ícone de cada post passou a ser definido automaticamente como a URL da primeira imagem referenciada no post. Se você desejar definir manualmente qual a imagem que servirá de ícone para o post, inclua a URL dela na definição @@POSTICON (uma linha como esta ao final do post: @@POSTICON:
http://foo.net/icone.jpg) e chame o axe com a opção '--nofirstimage' (ou '-1' – é um número um, e não um L minúsculo).
O Axe agora tem suporte a notas de rodapé, que devem ser definidas entre colchetes e precedidas de "@@rod:", conforme o exemplo a seguir: "Este é um texto comum[@@rod:E aqui vem o texto da nota de rodapé dele] para exemplo.". As notas são numeradas sequencialmente, aparecem 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.
O Axe agora tem suporte a cron e a priorização. Preciso documentar, mas ele permite agendar posts para entrar em determinado dia e hora (como faço no BR-Mac), ou para entrar em determinada sequência, com intervalos fixos entre eles (como faço no BR-Linux). Ambos os casos funcionam por polling, com a crontab chamando o Axe periodicamente, e o Axe se encarrega de verificar se tem algo a publicar naquele momento.
O Axe agora tem suporte a notificador externo, ou seja, ao publicar um post pode agendar twits, para que um programa externo se encarregue de twitar. Preciso documentar.
Por sugestão do Aurélio Jargas, criador do txt2tags, foi criada a opção de chamada --strict (ou -r), que desabilita qualquer significado especial para as 2 primeiras linhas do arquivo txt de entrada, que passam a ser meras linhas do corpo de texto. Ao usá-la, o título e as tags do post passam a ter de ser definidos com as linhas @@POSTTITLE: e @@POSTTAGS: ao final do arquivo txt de entrada.
Passou a ser possível definir o "nome" do post para uso na URL (por exemplo, "homem-morde-cachorro", que geraria uma URL como "
http://url.do.blog/homem-morde-cachorro.html") explicitamente, e não apenas de forma automática a partir do título do post. Basta apresentar a definição em uma linha @@POSTNAME: ao final do arquivo txt de entrada.
Incluída a chamada para plugins também ao final de um rebuild.
Agora o Axe também tem índices cronológicos, por ano e mês. O arquivo archive.html é um índice geral dos meses, e os demais arquivos têm nome no formato archive-YYYY-MM.html.
Substituí o recurso de long options (exemplo: "--full") da função getopts() por uma função que a imita, de forma bem básica e limitada, mas suficiente. Infelizmente vários dos provedores em que testei o Axe não instalam o PHP com suporte nativo a long options, só short options (tipo "-f").
Criei a opção de chamada -h (ou --hereconf) para permitir chamar um Axe instalado em outro diretório, e fazê-lo ler o axe_config do diretório corrente, e não do diretório em que ele reside. Casos de uso: múltiplas instalações do Axe no mesmo ambiente, ou Axe instalado fora da árvore de diretórios do servidor web.
Criei a opção -i (ou --indexonly) para ser usada junto com a -R (--rebuild). Ao chamar 'axe.php -Ri', será feito um rebuild completo de todos os índices (index*.html, tag-*.html, archive*.html, sitemap-axe.xml e o feed rss), mas não dos arquivos de posts individuais (que também seriam reconstruídos no caso de um 'axe.php -Rf').
Corrigido o bug que gerava feed RSS inválido quando um título de post recente incluía o caracter '&'.
Corrigido o bug que gerava HTML inválido nos cabeçalhos quando o título de post incluía o caracter '"'.