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.