Pergunta

O código nos modelos Bugzilla é geralmente delimitado por [ % e %]. Mas às vezes eu vejo [%+ e [%-. Alguém pode explicar a diferença ou me apontar para a documentação adequada? O Google me falhou nesta ocasião.

Por exemplo:

[%- event.value.subject FILTER html %]

ou

[%+ END %]
Foi útil?

Solução

[%- (ou -%]) remove o espaço em branco (à direita); [%+ (ou +%]) mantém isso. Ver Pre_chomp, post_chomp No manual do kit de ferramentas de modelo (os modelos de bugzilla usam o kit de ferramentas de modelo) para os detalhes sangrentos (incluindo [= e [~ :)).

Outras dicas

Aqui está algo que escrevi para a nossa equipe no ano passado:

Fiquei menos informado sobre o comportamento da TT do que deveria, e outro membro de nossa equipe me confessou que ele estava ainda menos informado do que eu!

Esta é uma breve explicação de como a mastigação funciona.

Suponha que eu tenha o seguinte modelo, com a variável x = 'foo'

<td>
  [% x %]
</td>

se tornará

<td>
  foo
</td>

Observe os espaços no início da segunda linha.

O TT possui definições de configuração para pre_chomp e post_chomp.

Se Pre_Chomp for 1, todo o espaço em branco na frente de uma diretiva, incluindo uma nova linha, será removido. O exemplo se torna

<td>foo
</td>

Se Post_Chomp for 1, o oposto ocorre do outro lado:

<td>
foo</td>

Se Pre/Post_Chomp for 2, todo o espaço em branco precedente/seguinte será colapso em um único espaço:

<td> foo </td>

Se Pre/Post_Chomp for 3, todo o espaço em branco precedente/seguinte será eliminado:

<td>foo</td>

== importante ==

O Bugzilla está configurado com pre_chomp = 1. Post_Chomp não está definido.

Você pode denotar explicitamente o comportamento de atirar com um dos caracteres -, =, ~ e + após o '[%' ou antes do '%]'. '-' denota o nível 1 de Chomp, = denota o nível 2 de Chomp, ~ denota o nível 3 de Chomp, + denota não mastigação, independentemente de estar definido na configuração geral.

Então, para repetir o exemplo:

<td>
  [% x %]
</td>

Porque nós temos pre_chomp = 1, então isso se tornará

<td>foo
</td>

<td>
[%- x -%]
<td>

torna-se

<td>foo</td>

<td>
[%= x =%]
</td>

torna-se <td> foo </td>

<td>

[%~ x ~%]

</td>

torna-se <td>foo</td>

Finalmente,

<td>
  [%+ x %]
</td>

torna-se

<td>
  foo
</td>

Para uma explicação ainda mais detalhada, faça 'PerlDoc modelo :: manual :: config' e pesquise Chomp.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top