You'll need to get access to the final template text and unpreserve that.
That'll take some monkeypatching of Rails to get right.

On Sun, Oct 25, 2009 at 3:48 PM, Twisol <[email protected]> wrote:

>
> Pardon my naiveté, but could you give me an example of how to go about
> doing that? I've tried using my homemade unpreserve helper at many
> points along the chain of partials, with no real success.
>
> On Oct 25, 12:28 pm, Nathan Weizenbaum <[email protected]> wrote:
> > I guess you'd need unpreserve along with some way of not indenting the
> > partial. Or you could simply run #unpreserve on the finished template
> once
> > it's rendered. In any case, I don't want to add new syntax to Haml for
> what
> > amounts to a relatively minor, purely aesthetic issue.
> >
> >
> >
> > On Sat, Oct 24, 2009 at 5:13 PM, Twisol <[email protected]> wrote:
> >
> > > After attempting to write an 'unpreserve' helper (which merely gsub's
> > > HTML-entity newlines into literal newlines), I'm still suffering the
> > > exact same indentation issues. It seems like, currently, there's just
> > > no way to stop indentation -and- preserve literal newlines. :perserve
> > > does the former, and ~ the latter, but I can't for the life of me
> > > produce both effects.
> >
> > > On Oct 24, 2:15 pm, Twisol <[email protected]> wrote:
> > > > That's exactly what I'd like to do: make the entire partial
> > > > unindented. I envision a | mark resetting the indentation level for
> > > > the tag it's used on; if there are nested tags, they would still be
> > > > indented, but relative to the reset level. When used with my ERb
> > > > partials, I'm basically saying that I'm taking indentation into my
> own
> > > > hands, which is precisely what I require for my preformatted text.
> >
> > > > I'll look into writing an unpreserve helper, but I still like the
> > > > (perceived) elegance of my | suggestion. Thanks for your time.
> >
> > > > On Oct 24, 1:59 pm, Nathan Weizenbaum <[email protected]> wrote:
> >
> > > > > Converting the partials to ERB isn't going to help, since (as you
> > > noted) the
> > > > > issue comes from the Haml layout re-indenting the code. I don't see
> how
> > > a
> > > > > syntactic marker could help this, unless you want the entire
> partial to
> > > be
> > > > > un-indented. A better solution would be to make an unpreserve
> helper
> > > that
> > > > > you wrap your partial calls in in the layout that converts newline
> > > entities
> > > > > into actual newlines.
> >
> > > > > On Sat, Oct 24, 2009 at 1:24 PM, Twisol <[email protected]>
> wrote:
> >
> > > > > > I've converted the offending preformatted partials back to ERb,
> since
> > > > > > this seems like a good place for it. Now my only issue is the
> > > > > > indentation, because the layout file is still Haml. If the | mark
> I
> > > > > > suggested was added, to reset indentation, it would make it
> easier to
> > > > > > include ERb partials like this, and my problem would be duly
> solved.
> >
> > > > > > On Oct 24, 1:21 pm, Nathan Weizenbaum <[email protected]> wrote:
> > > > > > > Potentially, yes, but that would dramatically increase the cost
> of
> > > string
> > > > > > > concatenation, which is something we desperately want to avoid,
> > > since
> > > > > > string
> > > > > > > concatenation happens a lot during the rendering of a Haml
> > > template.
> >
> > > > > > > On Sat, Oct 24, 2009 at 1:19 PM, Chris Eppstein <
> > > [email protected]>
> > > > > > wrote:
> > > > > > > > Can't haml have some concept of a pre-formatted bit that gets
> set
> > > and
> > > > > > then
> > > > > > > > is sticky for the rest of the handling of that template? If
> the
> > > bit is
> > > > > > set,
> > > > > > > > haml layouts wouldn't re-indent those strings. This decision
> > > could be
> > > > > > made
> > > > > > > > dynamically and helpers could be made to help manage the
> > > formatting
> > > > > > bit.
> >
> > > > > > > > chris
> >
> > > > > > > > (Implementation suggestion: haml can return an extended
> string
> > > object
> > > > > > for
> > > > > > > > tracking the state of preformatting)
> >
> > > > > > > > On Sat, Oct 24, 2009 at 1:10 PM, Nathan Weizenbaum <
> > > [email protected]
> > > > > > >wrote:
> >
> > > > > > > >> First of all, filters like :preserve aren't meant for
> handling
> > > > > > > >> dynamically-generated text; they're meant for handling
> literal,
> > > > > > in-template
> > > > > > > >> text with maybe some dynamic stuff sprinkled in. If you're
> > > dynamically
> > > > > > > >> generating text, it's better to use the #preserve helper (or
> ~,
> > > which
> > > > > > is a
> > > > > > > >> shortcut for same).
> >
> > > > > > > >> As for the source code aesthetics, as I mentioned on IRC,
> > > there's
> > > > > > really
> > > > > > > >> no good way to tell when it's possible to not use newline
> > > entities.
> > > > > > > >> Declaring it in the template won't work, because it's *not*
> safe
> > > in
> > > > > > that
> > > > > > > >> template - the template still needs to be included in the
> > > layout,
> > > > > > which will
> > > > > > > >> re-indent it and cause the whitespace to go wrong. The only
> > > potential
> > > > > > > >> solution is to have some way of declaring "this template is
> > > never
> > > > > > going to
> > > > > > > >> be included in another template", something that might be
> added
> > > in the
> > > > > > > >> future.
> >
> > > > > > > >> On Sat, Oct 24, 2009 at 12:47 PM, Twisol <
> [email protected]>
> > > wrote:
> >
> > > > > > > >>> Hello,
> >
> > > > > > > >>> So far I really love Haml, but I have an issue with it
> where it
> > > comes
> > > > > > > >>> to preformatted text.I have a fairly large amount of
> > > preformatted
> > > > > > text
> > > > > > > >>> (generated on the fly by a Rails helper) that I'm trying to
> > > include
> > > > > > > >>> into my page. Using the :preserve filter, it /looks/ fine,
> but
> > > in the
> > > > > > > >>> source it's all on one line, word-wrapped to about thirty,
> and
> > > > > > > >>> completely indecipherable.
> >
> > > > > > > >>> I discussed this briefly with Nex3 on IRC, but he had to
> run.
> > > While
> > > > > > > >>> writing this message, though, I did have an idea: would it
> be
> > > > > > possible
> > > > > > > >>> to add another tag prefix, using either a _ (underscore) or
> a |
> > > > > > > >>> (pipe), to tell Haml that the tag's indentation (or at
> least
> > > its
> > > > > > > >>> content) should be reset? Nex3 had mentioned that Haml
> couldn't
> > > > > > > >>> determine when it was safe to perserve the literal newlines
> > > because
> > > > > > it
> > > > > > > >>> automatically indents text, but if you used | to reset
> > > indentation,
> > > > > > it
> > > > > > > >>> seems like it would be safer for Haml to do. If that was
> > > possible, I
> > > > > > > >>> think "%pre|<" would work perfectly for my purposes.
> >
> > > > > > > >>> Otherwise, some advice would be very much appreciated!
> Thanks
> > > in
> > > > > > > >>> advance,
> > > > > > > >>> ~Jonathan Castello
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Haml" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/haml?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to