If you look to the html inspiration to much of shoes, you'll find para equates to the html <p> tag.

Both of these elements are designed to represent one paragraph of text. If you look to english texts you'll see they are usually formatted in such a way that each paragraph is separated by a gap approximately one line high. This is implemented in html by giving <p> tags a margin that creates the space. When you are creating a para which has a newline inside of it, shoes is still adding an additional blank line's worth of gap afterwards, probably via a default margin of some sort.

When you use the para inside of a flow, I suspect what is happening is that because the flow doesn't care about vertical margins and heights, stacking things up from left to right, the flow simply ignores this aspect and places the para's one after the other. What would likely suit you better is if you have

para *(["test test test\n"] * 5)

thus placing all those pieces of text inside of a single paragraph, so only one gap would happen, after all five bits of text.

On 09/01/2009, at 9:57 AM, Satoshi Asakawa wrote:

Hi _why et al,

I run the following snippet.

Shoes.app do
  flow do
    5.times{para "test test test\n"}
  end
  stack do
    5.times{para "test test test\n"}
  end
end

The fomer para shows one new line, but the latter para shows three new lines.
Umm.... within the stack, para adds two more new lines automatically??

Regards,
ashbb


Reply via email to