Wow! I suspected there was a more elegant/functional/concise approach that 
what I’d come up with, but yowsers. I have a lot to learn. (Don’t get me 
wrong, this is helpful and much appreciated.) 

> I was drawn to your comment in the article:
> 
*> "The output for footnotes (given my requirements) can’t very well be 
handled within individual tag functions; it demands a top-down approach."*
> 
> I was curious why this was necessarily so. 

Well, since you ask, I’ve had to think about it. In hindsight, this was a 
notion I started with and never fully examined. 

I started with it for two (similarly unexamined) reasons. The main one was, 
it was never clear to me that Pollen gave me any guarantees about the order 
in which tag functions would be called. Normally, when every tag function 
is its own cocoon growing its own butterfly, it doesn’t matter, but in a 
case like this when I needed to things to happen in a certain order I 
assumed top-down was the natural approach. By the way, I also had the same 
basic question about decode, i.e., in what order it would apply 
#:txexpr-proc. Was it innermost-out, left-to-right, etc? So I did some 
tests to be sure. I found that, conveniently, the #:txexpr-proc will match 
the ◊fn tags in the same order a left-to-right reader would encounter them 
in the text, regardless of nesting. If I had given it more thought, I might 
have figured out that Pollen does the same with the entire doc.

The second reason was, I assumed my requirement to apply some 
deterministic+unique prefix (the MD5 hash) to the relative URLs dictated 
that footnote processing needed to start from some place with enough 
visibility over the doc to determine that prefix from the outset. But now I 
see that I could just as well have let the tag functions do most of the 
work and just put the prefixes in afterwards.

-- 
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.

Reply via email to