Opened 17 years ago
Last modified 4 years ago
#1728 new defect
macros in included wikis not processed correctly — at Initial Version
Reported by: | Owned by: | Noah Kantrowitz | |
---|---|---|---|
Priority: | normal | Component: | IncludeMacro |
Severity: | major | Keywords: | macro processor renderer nesting |
Cc: | Trac Release: | 0.10 |
Description
if you include a wiki page that itself calls a macro (such as ParentLinkage) then said macro will run with the request information of the containing wiki page (as opposed to the contained wiki page).
This manifests itself when: Parent1\WikiPage1? contains: ParentLinkage(=)?
and, Parent2\WikiPage2? contains: ParentLinkage(=)?
the ouput prints the parentlinkage for Parent2\WikiPage2 twice as opposed to the parentlinkage for Parent2\WikiPage2 followed by Parent1\WikiPage1.
suggest the following workaround: 1) import wiki_to_html from trac.wiki.formatter 2) under the case where source_format =='wiki' instead out setting out to be page.text, call wiki_to_html. You will probably need to pass in a crafted req object based on page.name ... I think the var you need to set is req.hdf.setValue('wiki.page_name',page.name) but I'm not very familiar with Trac ... not sure if that's the best way to go about it or not. 3) at the end, do not call Mimeview.render if the source_format is a wiki .... since it is already called from the wiki_to_html func.
hope this helps!