I'm glad you've found a solution that works for you. Hopefully, in the future, we can implement namespace-wide stylesheets through the _ContentBaseDefinition or some other suitable method.
Derek. -------------------------------------------------- From: <[EMAIL PROTECTED]> Sent: Thursday, January 24, 2008 12:05 PM To: "John Davidson" <[EMAIL PROTECTED]> Cc: "FlexWiki Users Mailing List" <flexwiki-users@lists.sourceforge.net> Subject: Re: [Flexwiki-users] Separate stylesheets for admin and content? > Thinking more about it, the lines 72 to 74 are necessary to avoid > stylesheet-flickering. If you load the stylesheet specified in the cookie > as late as window.onload is called, the wiki.css or OverrideStylesheet > gets displayed first before it is replaced by window.onload. So why do we > need the duplicate stylesheet loading in window.onload? > > Well, for my needs it serves as a workaround to use this cookie mechanism. > I now call SetActiveStylesheet() in my javascript (inserted by means of > FleXhtml into the TopBorder) directly (not window.onload) and adding my > stylesheet as an alternate stylesheet in flexwiki.config. > > The only drawback is: If the wiki contains other namespaces without these > additions, there will be issues when the visitor is going from one > namespace to another because the cookie isn't namespace specific. But I'll > presumably use only one namespace so this is fine for me. > > Benno. > >> That part of WikiDefault.js is Derek's code (I think). >> I see the duplication you are talking about and can only surmise it is >> there >> for some browser support where onload did not behave as expected. If that >> is >> not the case then perhaps it could be removed? >> >> John Davidson >> >> On 1/23/08, Benno Dielmann <[EMAIL PROTECTED]> wrote: >>> >>> I already tried defining my own window.onload function calling >>> SetActiveStylesheet(), but unfortunately, WikiDefault.js reads the >>> cookie >>> and >>> calls SetActiveStylesheet() twice: once directly in WikiDefault.js (not >>> wrapped in a function, l. 72-74) and the second time in a window.onload >>> anonymous function (l. 61-65). So even if I reassign window.onload to my >>> on >>> function the wrong stylesheet still gets loaded before the right one >>> resulting in visibly changing styles. Perhaps this code duplication is a >>> bug >>> in WikiDefault.js, perhaps it is wanted. Who knows more? >>> >>> If it isn't needed for some reason, the easiest solution would be to >>> just >>> remove lines 72 to 74 from WikiDefault.js. >>> >>> As I'm at home now where I don't have the possibility to run IIS, >>> further >>> exploration on my side has to wait until tomorrow. >>> >>> Benno. >>> >>> On Wednesday 23 January 2008 John Davidson wrote: >>> | The cookie is how Derek persists the preferred stylesheet across >>> pages. >>> It >>> | works well for all standard implementations, and by adding some >>> javascript >>> | of your own, you can probably make that javascript do exactly what you >>> | want. In your javascript you need to make a call to >>> | 'SetActiveStylesheet(var)' where you have set 'var' to the stylesheet >>> link >>> | name. >>> | Did you check out the topic [1] where I have styles directly in the >>> html >>> | being emitted by the xhtml plugin? >>> | >>> | If none of these work for you I can probably code an optional >>> alternate >>> | stylesheet for the admin section. this would work as there is no call >>> to >>> | WikiDefault.js in the admin pages. >>> | >>> | [1] >>> http://ods.dyndns.org/FlexWiki/default.aspx/OdsWiki/FleXhtmlDemo.html >>> | >>> | John Davidson >>> | >>> | On 1/23/08, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: >>> | > In short, I need to apply a stylesheet to all topics in a namespace >>> but >>> | > not to the admin and topic edit pages (etc.). Being able to put the >>> | > Stylesheet property in a custom border (defined in _NormalBorders) >>> and >>> to >>> | > disable stylesheet loading from WikiDefault.js would be it, but >>> | > properties in borders don't work. <OverrideStylesheet> doesn't work >>> | > either, because it doesn't exclude admin and edit pages. >>> | > >>> | > > Sorry I got out of sync on the last input. >>> | > > Benno, I assume you are using the xhtml plugin, correct? >>> | > >>> | > Yes I do :-). And it serves me well, even as a workaround for my >>> | > stylesheet problem: At the moment I just insert a <link /> >>> referencing >>> my >>> | > stylesheet into the TopBorder via FleXhtml. But specifying >>> stylesheets >>> in >>> | > the document body is not nice at all and I don't know about >>> potential >>> | > side effects. And sometimes, when a browser (especially IE) hangs >>> while >>> | > loading the page, you see the default (wiki.css) design shortly >>> before >>> it >>> | > becomes replaced by my css. >>> | > >>> | > > I need to find a way to see what you are trying to do. Are any of >>> your >>> | > > pages >>> | > > available on a public web site, or are they limited to a local >>> | > > intranet? >>> | > > >>> | > > If they are on a public site please send me the URL's to replicate >>> the >>> | > > issue. Otherwise can you create copies of the topics on my wiki at >>> | > > ods.dyndns.org? You would have to send me the js and css files >>> (which I >>> | > > would delete later), so that it can be setup. I have a namespace >>> | > > 'TestWiki' >>> | > > that can be used. >>> | > >>> | > Unfortunately, this would require me to break things down to a demo >>> test >>> | > case because until now, it's not even on the intranet ;-)... >>> | > >>> | > The failure of the Stylesheet property is easy to replicate, though. >>> This >>> | > problem should exist on all FlexWiki versions which include the >>> cookie >>> | > mechanism of WikiDefault.js. >>> | > >>> | > Thanks a lot for your responses, >>> | > >>> | > Benno. >>> | > >>> | > > On Jan 23, 2008 1:19 PM, Derek Lakin <[EMAIL PROTECTED]> >>> wrote: >>> | > >> OK, this sounds like a bug related to the JavaScript required for >>> | > >> handling >>> | > >> alternate stylesheets. It would be great if you could raise a bug >>> on >>> | > >>> | > the >>> | > >>> | > >> tracker for this. I think the implementation was one of the many >>> | > >> contributions from John? >>> | > >> >>> | > >> Thanks, >>> | > >> >>> | > >> Derek. >>> | > >> >>> | > >> -------------------------------------------------- >>> | > >> From: <[EMAIL PROTECTED]> >>> | > >> Sent: Wednesday, January 23, 2008 6:15 PM >>> | > >> To: <flexwiki-users@lists.sourceforge.net> >>> | > >> Subject: Re: [Flexwiki-users] Separate stylesheets for admin and >>> | > >> content? >>> | > >> >>> | > >> > Well... I found the cause but not the cure... >>> | > >> > >>> | > >> > The <link /> is generated, but WikiDefault.js loads a >>> stylesheet >>> | > >> >>> | > >> specified >>> | > >> >>> | > >> > in a cookie that gets set on page unload. So, when I surf to a >>> topic >>> | > >>> | > A >>> | > >>> | > >> > with Stylesheet property from a topic B without, WikiDefault.js >>> | > >> > loads >>> | > >> >>> | > >> the >>> | > >> >>> | > >> > stylesheet used by topic B when entering page A. >>> | > >> > >>> | > >> > Benno. >>> | > >> > >>> | > >> >> Looking at the generated HTML, there's no reason why putting >>> the >>> | > >> >> topic-specific CSS in the same location as the rest of your >>> CSS >>> | > >>> | > files >>> | > >>> | > >> >> (the >>> | > >> >> root folder) shouldn't work. What have you put in the >>> | > >> >> topic-specific >>> | > >> >>> | > >> CSS? >>> | > >> >>> | > >> >> Have you checked the generated HTML to ensure that the >>> additional >>> | > >> >>> | > >> <link >>> | > >> >>> | > >> >> /> >>> | > >> >> tag has been generated? >>> | > >> >> >>> | > >> >> Derek. >>> | > >> >> >>> | > >> >> -------------------------------------------------- >>> | > >> >> From: <[EMAIL PROTECTED]> >>> | > >> >> Sent: Wednesday, January 23, 2008 5:52 PM >>> | > >> >> To: <flexwiki-users@lists.sourceforge.net> >>> | > >> >> Subject: Re: [Flexwiki-users] Separate stylesheets for admin >>> and >>> | > >> >>> | > >> content? >>> | > >> >>> | > >> >>> Stylesheet: MyStylesheet.css >>> | > >> >>> >>> | > >> >>> with MyStylesheet.css in the FlexWiki root folder (where all >>> other >>> | > >> >>> | > >> such >>> | > >> >>> | > >> >>> as >>> | > >> >>> wiki.css reside) doesn't work. Do I have to specify a path? >>> Which >>> | > >> >>> | > >> path? >>> | > >> >>> | > >> >>> /FlexWiki/MyStylesheet.css doesn't work either. By the way, >>> I'm >>> | > >> >>> | > >> using >>> | > >> >>> | > >> >>> FlexWiki 2.0.0.179... >>> | > >> >>> >>> | > >> >>> Benno. >>> | > >> >>> >>> | > >> >>>> If you want the content from the left on the right and vice >>> | > >> >>>> versa, can't >>> | > >> >>>> you >>> | > >> >>>> just switch the definitions in _NormalBorders, rather than >>> doing >>> | > >> >>> | > >> the >>> | > >> >>> | > >> >>>> switch >>> | > >> >>>> in CSS? >>> | > >> >>>> >>> | > >> >>>> The Stylesheet page property defines an additional CSS file >>> for >>> | > >> >>> | > >> that >>> | > >> >>> | > >> >>>> topic. >>> | > >> >>>> E.g. >>> | > >> >>>> >>> | > >> >>>> Stylsheet: myNewStyleSheet.css >>> | > >> >>>> >>> | > >> >>>> Derek. >>> | > >> >>>> >>> | > >> >>>> -------------------------------------------------- >>> | > >> >>>> From: <[EMAIL PROTECTED]> >>> | > >> >>>> Sent: Wednesday, January 23, 2008 4:34 PM >>> | > >> >>>> To: <flexwiki-users@lists.sourceforge.net> >>> | > >> >>>> Subject: Re: [Flexwiki-users] Separate stylesheets for admin >>> and >>> | > >> >>>> content? >>> | > >> >>>> >>> | > >> >>>>> Hi Derek, >>> | > >> >>>>> >>> | > >> >>>>> thanks a lot for your answer. >>> | > >> >>>>> >>> | > >> >>>>>> Admin.css is a hangover from before we updated the >>> stylesheet. >>> | > >>> | > As >>> | > >>> | > >> you >>> | > >> >>> | > >> >>>>>> point >>> | > >> >>>>>> out, I don't think it actually gets used by anything. At >>> this >>> | > >> >>> | > >> stage, >>> | > >> >>> | > >> >>>>>> I >>> | > >> >>>>>> don't >>> | > >> >>>>>> think it's possible to explicitly specify a different >>> | > >> >>>>>> stylesheet >>> | > >> >>> | > >> for >>> | > >> >>> | > >> >>>>>> the >>> | > >> >>>>>> admin pages without making some code changes. That said, >>> the >>> | > >> >>> | > >> admin >>> | > >> >>> | > >> >>>>>> pages >>> | > >> >>>>>> are >>> | > >> >>>>>> quite simple from a CSS point of view, so it shouldn't be >>> too >>> | > >> >>>>>> difficult >>> | > >> >>>>>> to >>> | > >> >>>>>> handle them in your override CSS file. >>> | > >> >>>>> >>> | > >> >>>>> Unfortunately, it is... For example, I exchange LeftBorder >>> and >>> | > >> >>>>> RightBorder >>> | > >> >>>>> so that LeftBorder is on the right side and RightBorder on >>> the >>> | > >> >>> | > >> left. >>> | > >> >>> | > >> >>>>> Sounds weird, but I do lots of javascript manipulations to >>> | > >> >>>>> nested lists >>> | > >> >>>>> in >>> | > >> >>>>> the left >>> | > >> >>>>> sidebar (building up a tree control). This takes some time >>> | > >> >>>>> during which >>> | > >> >>>>> IE >>> | > >> >>>>> stops rendering the rest of the page (regardless wether I >>> start >>> | > >> >>> | > >> this >>> | > >> >>> | > >> >>>>> window.onload or earlier). To enable the user to look at >>> the >>> | > >>> | > topic >>> | > >>> | > >> >>>>> content >>> | > >> >>>>> while the tree is generated, I placed the lists in the >>> | > >>> | > RightBorder >>> | > >>> | > >> >>>>> which >>> | > >> >>>>> comes after TopicBody in the pages' html. Long story, but >>> in >>> | > >>> | > short >>> | > >>> | > >> it >>> | > >> >>> | > >> >>>>> messes up my admin pages. >>> | > >> >>>>> >>> | > >> >>>>>> You can apply a specific stylesheet (in addition to any >>> | > >>> | > overrides >>> | > >>> | > >> or >>> | > >> >>> | > >> >>>>>> alternates) to a topic by using the Stylesheet page >>> property. >>> | > >> >>>>>> However, >>> | > >> >>>>>> there >>> | > >> >>>>>> doesn't seem to be a way to apply a stylesheet across a >>> | > >> >>> | > >> namespace, >>> | > >> >>> | > >> >>>>>> although >>> | > >> >>>>>> it shouldn't be too onerous to use the Stylesheet page >>> property >>> | > >> >>> | > >> from >>> | > >> >>> | > >> >>>>>> the >>> | > >> >>>>>> _ContentBaseDefinition topic for the namespace if you want >>> to >>> | > >> >>> | > >> raise >>> | > >> a >>> | > >> >>> | > >> >>>>>> feature request on the bug tracker [1] >>> | > >> >>>>> >>> | > >> >>>>> How do I use this Stylesheet page property? I wrote >>> | > >> >>>>> >>> | > >> >>>>> Stylesheet: MyStylesheet >>> | > >> >>>>> >>> | > >> >>>>> to a page, but it doesn't have any effect. >>> | > >> >>>>> >>> | > >> >>>>>> -------------------------------------------------- >>> | > >> >>>>>> From: <[EMAIL PROTECTED]> >>> | > >> >>>>>> Sent: Wednesday, January 23, 2008 2:16 PM >>> | > >> >>>>>> To: <flexwiki-users@lists.sourceforge.net> >>> | > >> >>>>>> Subject: [Flexwiki-users] Separate stylesheets for admin >>> and >>> | > >> >>> | > >> content? >>> | > >> >>> | > >> >>>>>>> Hi all, >>> | > >> >>>>>>> >>> | > >> >>>>>>> for my project, I've highly customised stylesheets for a >>> | > >> >>> | > >> namespace. >>> | > >> >>> | > >> >>>>>>> If >>> | > >> >>>>>>> I >>> | > >> >>>>>>> include it using OverrideStylesheet in flexwiki.config, >>> it >>> | > >> >>>>>>> gets applied >>> | > >> >>>>>>> to >>> | > >> >>>>>>> all pages, including the admin section. Unfortunately, my >>> | > >> >>>>>>> customisations >>> | > >> >>>>>>> mess up the latter considerably so I'm looking for a >>> | > >>> | > possibility >>> | > >>> | > >> to >>> | > >> >>> | > >> >>>>>>> specify separate stylesheets for single namespaces and >>> for >>> the >>> | > >> >>> | > >> admin >>> | > >> >>> | > >> >>>>>>> pages. >>> | > >> >>>>>>> >>> | > >> >>>>>>> I can define my stylesheet as an alternate stylesheet in >>> | > >> >>>>>>> flexwiki.config, >>> | > >> >>>>>>> but this way the user would have to select my stylesheet >>> in >>> | > >> >>>>>>> the >>> | > >> >>> | > >> drop >>> | > >> >>> | > >> >>>>>>> down >>> | > >> >>>>>>> box, which is not an option for me. >>> | > >> >>>>>>> >>> | > >> >>>>>>> How can I specify a default stylesheet for a namespace >>> and >>> a >>> | > >> >>>>>>> separate >>> | > >> >>>>>>> on >>> | > >> >>>>>>> for the admin section? >>> | > >> >>>>>>> >>> | > >> >>>>>>> There is a admin.css in the admin directory, but it >>> doesn't >>> | > >>> | > seem >>> | > >>> | > >> to >>> | > >> >>> | > >> >>>>>>> be >>> | > >> >>>>>>> used anywhere... The admin pages just include wiki.css... >>> | > >>> | > What's >>> | > >>> | > >> the >>> | > >> >>> | > >> >>>>>>> purpose of this admin.css? >>> | > >> >>>>>>> >>> | > >> >>>>>>> Additional question: Is it possible to specify >>> stylesheets >>> per >>> | > >> >>>>>>> namespace? >>> | > >> >>>>>>> Different namespace, different stylesheet? >>> | > >> >>>>>>> >>> | > >> >>>>>>> Cheers, >>> | > >> >>>>>>> >>> | > >> >>>>>>> Benno. >>> | > >>> | > >>> ------------------------------------------------------------------------- >>> | > >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by: Microsoft >>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>> _______________________________________________ >>> Flexwiki-users mailing list >>> Flexwiki-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/flexwiki-users >>> >> > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Flexwiki-users mailing list > Flexwiki-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/flexwiki-users ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Flexwiki-users mailing list Flexwiki-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flexwiki-users