a 100-line indentation-based preprocessor for HTML
Steve Howell
showell30 at yahoo.com
Tue Dec 1 02:30:06 EST 2009
On Nov 28, 4:46 am, "Colin W." <cjwilliam... at gmail.com> wrote:
> On 27-Nov-09 22:04 PM, Steve Howell wrote:
>
>
>
> > Python has this really neat idea called indentation-based syntax, and
> > there are folks that have caught on to this idea in the HTML
> > community.
>
> > AFAIK the most popular indentation-based solution for generating HTML
> > is a tool called HAML, which actually is written in Ruby.
>
> > I have been poking around with the HAML concepts in Python, with the
> > specific goal of integrating with Django. But before releasing that,
> > I thought it would be useful to post code that distills the basic
> > concept with no assumptions about your target renderer. I hope it
> > also serves as a good example of what you can do in exactly 100 lines
> > of Python code.
>
> > Here is what it does...
>
> > You can use indentation syntax for HTML tags like table.
>
> > From this...
>
> > table
> > tr
> > td
> > Left
> > td
> > Center
> > td
> > Right
>
> > ...you get this:
> > ...
>
> [snip]
>
> This is a neat idea but would a two character indentation not be enough?
>
The code actually preserves whatever indent style you give as input,
as long as you are consistent. I used 4-space indents in my examples
since that seems to be the convention in Python, but when I did my
stint in Ruby, I got pretty comfortable with 2-space indents as well,
and I think it can make sense for HTML, where you do get pretty deep
sometimes with idioms like table/tr/td.
More information about the Python-list
mailing list