Brian M Dube wrote: > Vicent Mas wrote: > > > > I'm trying to add a motd pane only to the main page of my dispatcher > > website. > > Adding the following lines to my pelt-html.content.panel.xml makes the pane > > to > > appear in every index.html page of the website: > > > > <forrest:contract name="content-motd-page"> > > <forrest:property name="content-motd-page"> > > <motd> > > <motd-option pattern="index.html"> > > <motd-title></motd-title> > > <motd-page location="alt">My message here.</motd-page> > > </motd-option> > > </motd> > > </forrest:property> > > </forrest:contract>
In the "skins" method, which is where this MOTD stuff orinigated, there is also the "starts-with" attribute. See docs in main/fresh-site/src/documentation/skinconf.xml i.e. a 'forrest seed-sample' site. We use this for forrest.apache.org site to have a specific message for only the home page index.html See $FORREST_HOME/site-author/skinconf.xml Not sure if that is available with Dispatcher. -David > > I've changed the filename of the main page of my website following the > > answer to question 2.13 of the FAQ: > > > > http://forrest.apache.org/docs_0_100/faq.html#defaultStartPage > > > > but I'd rather prefer to achieve my goal giving a proper path to the > > pattern > > option of the motd contract. The problem is that the index.xml of the main > > page is directly under the xdocs folder and I don't know how to be more > > specific and tell forrest that I don't want the motd to be applied to the > > index > > pages of subdirectories under xdocs. Could someone tell me how to do it, > > please? > > The motd contract uses the XSLT contains() function to determine > whether the motd is displayed for a given path. It does not appear > that the contains() function is intelligent enough to do what you > want. Also, a brief search shows a general lack of support for regular > expressions in XSLT 1.0. > > Perhaps the motd could be injected via the Cocoon pipeline, where > regular expressions are supported. > > -Brian