On Fri, Oct 26, 2012 at 12:19:06PM -0400, W Randolph Franklin wrote: > Markup('^>>', '<table', > '/^>>(.+?)<<(.*)$/', > '(:div:)%div $1 apply=div%$2 '); > Markup('^>><<', '<^>>', > '/^>><</', > '(:divend:)'); > > My questions: > > 1. Why is > used instead of > in the search pattern? Since the page > being edited contains >, this should always fail.
One of the first markup rules that PmWiki performs is to convert all <'s and >'s to html entities to minimize injection attacks. > 2. Is there a reason that the pattern name is ^>> ? Does the leading ^ > do anything in the pattern name? Pattern names are just identifiers, so it doesn't do anything. But someone reading the rule or seeing the identifier in a list would be informed that it's a markup that only applies at the beginning of lines. > 3. In '/^>>(.+?)<<(.*)$/', what is the final (.*)$ for? > The documentation does not mention trailing text after the <<. I'm not sure why there's a trailing (.*)$ there. There must've been something that failed when it wasn't there, though. > 4. In '(:div:)%div $1 apply=div%$2 '), what do the percents do? This > looks like a nested div, why? This rule is taking markup of the form >>red something<< text and converting it to markup of (:div:)%div red something apply=div% text This then gets processed by the standard (:div:) and WikiStyle markup rules. The percents are just the standard WikiStyle markup, with the first 'div' causing standard div styles to be applied, and the 'apply=div' being thrown in to force application of the style to the entire <div> element that is ultimately generated. > 5. Finally how do I set styles inside list items? >><< and (:div:) > terminate the list because they work only in column 1. Percents appear > to have an implementation error, where using apply causes the style to > be ignored. I need to use apply=p to avoid other formatting problems. You might want %item%, as in: * First item * %item red% This item is red * This item is normal * %item blue% This item is blue > -------------------- > > In a list item, percents work, boxing each line. > < and div do not, if > indented, or terminate the list, if not indented. Technically, percent WikiStyles don't box an entire line -- they box content until either the end of the line or the next WikiStyle. > # In a list item, using any 'apply' inside percents causes the style to > be ignored. > > %blue% blue > > %red apply=p ignored% red apply=p ignored > > %green% green For a variety of reasons, PmWiki doesn't wrap the content of list items as <p> paragraph elements, even when surrounded by blank lines. Thus the 'apply=p' has no effect inside of a list item because there's no <p>...</p> available for it to apply the style to. (One reason PmWiki doesn't put list item contents into <p>...</p> tags is because <p> paragraphs in HTML 4 aren't allowed to have nested block elements, such as nested lists. I decided nested lists were more important and went that direction.) What sort of "other formatting problems" are you needing to avoid by using 'apply=p'? Pm _______________________________________________ pmwiki-devel mailing list pmwiki-devel@pmichaud.com http://www.pmichaud.com/mailman/listinfo/pmwiki-devel