Oi Elias,
2008/12/16 elias junior <eliasdorneles@...>:
> On 12/16/08, Aurélio Jargas <verde@...> wrote:
>> Ainda não sei direito como vai ser, mas promete :)
>
> eu imaginei que quando incluísse um arquivo (de estilo, configuração,
> etc) ele buscasse num ~/.txt2tags se não existisse no diretório atual.
Foi o que imaginei também!
Expandindo o conceito, até mesmo imagens comuns e includes (tipo
codigo-adsense.html) poderiam ficar no diretório mágico, fazendo uma
verdadeira biblioteca de recursos do usuário.
> hoje no código a gente tem dicionários de equivalências, para target
> tal, se casar tal ER, troca por tal texto, né?
> se em vez de um dicionário de texto a substituir, a gente tivesse um
> dicionário de callbacks que retorne esse texto, e permitisse o usuário
> especificar um arquivo externo contendo um dicionário com as
> definições de callbacks para as tags que se deseja alterar e adicionar
> novas, tava aí um esquema paulada de plugin.
>
> a gente poderia criar marcas novas, alterar o funcionamento das
> existentes (decisões do tipo b/i/s/u por strong/em/del ficam
> flexíveis), o diabo a quatro!
> e seria possível criar plugins para testar idéias, antes de incorporar
> no código oficial.
A idéia do callback é muito boa, e serviria para dar bastante
flexibilidade às marcas e ao que fazer com elas. Porém daí se inverte
toda a lógica do programa e a conveniência de ter todas as tags do
formato de saída definidas em um único lugar.
Por exemplo, para tratar o negrito, o callback do usuário precisaria
ter cadastradas as tags de negrito utilizadas por TODOS os formatos
suportados pelo txt2tags. Acaba não sendo muito prático na prática :)
Mas como meio termo para a solução ideal, pode ser uma boa.
Além das tags, seria interessante poder programar os trechos do
programa, como para poder adicionar uma opção nova, um cabeçalho novo,
extensão de arquivo, funcionalidades novas...
Eu considero que a melhor solução mesmo para deixar o txt2tags bem
flexível, seria torná-lo 100% orientado a objeto, que assim o
programador poderia reimplementar as classes/métodos que desejasse,
tendo total controle sobre a execução e comportamento do programa. Mas
isso requer uma reescrita nervosa que levará muuuuito tempo. Um dia,
quem sabe :)
--
Aurélio Marinho Jargas
www.aurelio.net