I definitely want to see a resolution to this issue. Django templates when white space matters (e.g. plain text emails) are painful. But, I don't think adding {# to the end of lines is easy to understand at a glance, it doesn't even convey a hint of meaning like "dnl" does, but either option is pretty ugly to my eyes.
I'd personally like to see a new template tag that will switch on the new behaviour, and a deprecation path for this to become the default. Cheers. Tai. On Feb 25, 1:10 am, Tobia <tobia.confo...@gruppo4.eu> wrote: > Hi all, > regarding issue #2594 "Template system should handle whitespace > better" explaining the need for some kind of (optional) whitespace > stripping from the output of templates, I've been looking at the > proposed solutions and compared them to other template and macro > engines. > > In particular, a historical but still widely used and general-purpose > macro engine is m4. Its own feature for controlled newline stripping > is the "dnl" reserved word, "Discard to Next Line." It works by > "chomping" all input until and including the next newline. > > For example, to call a macro foo() without copying over the newline > that appears after the macro call in the template, a m4 programmer > would write: > > foo('bar`, `whatever')dnl > > An equivalent feature in Django templates would enable template > developers to strip newlines from specific lines, while keeping > backwards compatibility with existing templates. > > So if the general idea is well-accepted, I propose the "{#" token. The > example from the issue would become: > > <ul> > {% for item in items %}{# > <li>{{ item }}</li> > {% endfor %}{# > </ul> > > It is already a reserved token in the template system, so it's not > going to break anything. The existing comment syntax {# ... #} is > already restricted to single-line comments, so there are no multi-line > comments that would break. Plus, I'd wager it could be implemented > quite efficiently. > > What do you think? > > Tobia -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.