I thought of this as a solution and it is a good one, although I see a few problems:
- It does not address the processing of data done in the template, such as total_price: [% item.quantity * item.unit_price FILTER format ( '%.2f' ) %].
- It does not take into account editing of the template by someone not familiar with templates.
- If the base templates are the responsibility of coder and the production ones the responsibility of the designer it will quickly point out where the problem is when there is one.
- It creates an added complication in the code (albeit a tiny one) of creating the debug option in the template processing.
That said I think that this would be an excellent additional check that I will add to my code - thank you. I too am a big
YAML fan.
I don't think that keeping the two sets of templates current would be that great a problem - although it will be annoying when the designer swaps the order of directives. This test is mainly geared towards preventing the designer from breaking the template, rather than proving the template.
--tidiness is the memory loss of environmental mnemonics