Opened 17 years ago
Last modified 5 years ago
#1728 new defect
macros in included wikis not processed correctly
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | normal | Component: | IncludeMacro |
Severity: | major | Keywords: | macro processor renderer nesting |
Cc: | Trac Release: | 0.10 |
Description (last modified by )
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(=)]] [[Include(wiki:Parent1\WikiPage1)]]
the ouput prints the parent linkage for Parent2\!WikiPage2 twice as opposed to the parent linkage for Parent2\!WikiPage2 followed by Parent1\!WikiPage1.
suggest the following workaround:
- import wiki_to_html from trac.wiki.formatter
- 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.
- 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!
funny .... I'm trying to suggest some fixes and I can't even remember to use trac properly ... lol... it's late
Attachments (0)
Change History (5)
comment:1 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Keywords: | macro processor renderer nesting added |
Owner: | changed from Noah Kantrowitz to Ryan J Ollos |
comment:2 Changed 12 years ago by
#9035 is related, but is aiming at purging nested macro output from the included resource instead.
comment:3 Changed 11 years ago by
Status: | new → assigned |
---|
comment:4 Changed 10 years ago by
I found this ticket while experiencing what I believe is the opposite issue.
I am using Trac 1.0.1, and I have a page called Include/AllPagesAfterTitle
which is meant to be included on every Wiki page right after the title to give all pages the same general structure. This Include/AllPagesAfterTitle
consists of (besides other things) [[PageOutline(2-9,Page Table Of Contents,inline,unnumbered)]]
.
The problem I am seeing is that this macro renders the table of contents of the Include/AllPagesAfterTitle
page, and not the page that calls [[Include(Include/AllPagesAfterTitle)]]
, which is what I intend.
comment:5 Changed 5 years ago by
Owner: | Ryan J Ollos deleted |
---|---|
Status: | assigned → new |
salvaging correct formatting from former comment:1 (deleted) for readability