Ah, my ◊comment's won't evaluate inside a ◊ol[…], so I guess there's that.
On Wednesday, March 13, 2019 at 3:18:03 PM UTC-5, Brendan Stromberger wrote: > > Is there a reason the curly-brace syntax is preferable? I've tried for the > past 2 hours but using filter-split on "\n" seems to have no effect on my > output. It seems more explicit to me to just use the ◊(ul[…]) form and not > have to do any mangling of xexprs. > > I think this is what you were suggesting? > > (define (ul . elements) > (case (current-poly-target) > [(txt) elements] > [else (txexpr 'ul empty > (map (lambda (e) (txexpr 'li empty e)) (filter-split elements (λ (e) ( > equal? e "\n")))))])) > > On Sunday, March 10, 2019 at 8:22:40 PM UTC-5, Matthew Butterick wrote: >> >> The curly-brace syntax is almost always preferable. Keep in mind that the >> linebreaks are separated into their own elements (For more on this behavior >> see [1].) So this markup: >> >> ◊ol{The remaining forty-nine stalks ◊(comment "" ",") two piles. >> another item >> another item >> } >> >> Produces this list of five (not three) elements: >> >> '("The remaining forty-nine stalks " >> (comment "" ",") >> " two piles." >> "\n" >> "another item" >> "\n" >> "another item") >> >> Probably what you want is to preprocess `elements` into bigger chunks >> representing list items before passing each to your 'li tag lambda. For >> instance this: >> >> (require sugar/list) >> (filter-split '("The remaining forty-nine stalks " >> (comment "" ",") >> " two piles." >> "\n" >> "another item" >> "\n" >> "another item") >> (λ (e) (equal? e "\n"))) >> >> >> Produces these sublists: >> >> '(("The remaining forty-nine stalks " (comment "" ",") " two piles.") >> ("another item") >> ("another item")) >> >> For a more elaborate example of list-item detection, see the >> `detect-list-items` function [2] in the pollen-tfl sample project. >> >> [1] >> https://docs.racket-lang.org/pollen/pollen-command-syntax.html#%28part._the-text-body%29 >> >> [2] >> https://docs.racket-lang.org/pollen-tfl/_pollen_rkt_.html#%28def._%28%28lib._pollen-tfl%2Fpollen..rkt%29._detect-list-items%29%29 >> >> On Mar 10, 2019, at 4:08 PM, Brendan Stromberger <brendanst...@gmail.com> >> wrote: >> >> Hey there, still plugging away on my book project. I have a function for >> an ordered list: >> >> (define (ol . elements) >> (case (current-poly-target) >> [(txt) elements] >> [else (txexpr 'ol empty >> (map (lambda (e) (txexpr 'li empty (list e))) elements))])) >> >> And I am using it like so: >> >> ◊ol[ >> "The remaining forty-nine stalks are laid down and, aiming at the middle >> of the pile with the right thumb◊(comment "" ",") two piles are >> separated." >> "another item" >> "another item" >> ] >> >> I want to use it this way because if I use the ◊ol{} syntax, my >> ◊comment{} tag in the first item gets treated as its own <li>, and >> generally the generated markup is a bit weird – at each newline, a blank >> <li> is generated: >> >> >> -- You received this message because you are subscribed to the Google Groups "Pollen" group. To unsubscribe from this group and stop receiving emails from it, send an email to pollenpub+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.