create new tag
, view all tags

GnuSkinPluginDev Discussion: Page for developer collaboration, enhancement requests, patches and improved versions on GnuSkinPlugin contributed by the TWikiCommunity.
• Please let us know what you think of this extension.
• For support, check the existing questions, or ask a new support question in the Support web!
• Please report bugs below

Feedback on GnuSkinPlugin

Development Information

This topic provides a public forum for discussions on the GnuSkin and its plugin.

See HurdWiki:TWiki/GnuSkinTodo for progress and HurdWiki:TWiki/GnuSkinReleaseNotes to see what's changed since the last release.

Old Comments: PartI | PartII


Version 1.2 (aka 02 Mar 2003) released. Download GnuSkin-1.2.zip from GnuSkinInstall.
The project is also available from CVS at http://savannah.gnu.org/projects/twiki-skins/ the GNUSKIN-1-2 tag.

-- JoachimNilsson - 02 Mar 2003

The search results of gnusearch don't apply the skin. All are unresolved. I see %LEFTMENU% in the menubar. This only happens when searching contents. Everwhere else the gnuskin works.

I debugged a bit and found out that commontagshandler of the plug isn't called...

-- HansFuchs - 13 Jun 2003

I resolved my problem with the search using following setting: Set INSTALLEDPLUGINS = DefaultPlugin GnuSkinPlugin Somehow GnuSkinPlugin must be first.

-- HansFuchs - 13 Jun 2003

Time to do some updating. InternationalisationEnhancements implicates some minor changes to skins if they want to make use of the latest enhancements to support 8-bit character sets in WikiWords.

I can put some time into this, since I'm a user of this skin and I need the i18n features of the latest TWikiAlphaRelease.

-- StefanLindmark - 09 Dec 2002

The InternationalisationEnhancements skin changes are quite minor, and documented under 'Skin changes' on that page.

The benefit of doing this is that your skin can be used by sites that want to use TWiki topics with national-language names and contents - JapaneseAndChineseSupport and CyrillicSupport are possible, as well as all languages using the ISO-8859-* character sets. In the future, TWiki should be able to support per-web and per-user locale/language settings, but at the moment everything is site-wide.

There is now a new %CHARSET% variable in the TWikiAlphaRelease, which inserts the character set of the site (e.g. KOI8-R for Russian or EUC-JP for Japanese) - this is extracted from a $siteLocale setting in TWiki.cfg. This needs to go into every skin file that currently mentions iso-8859-1 - and any file that has an <html> element which doesn't set the content-type header should add this in any case.

The other changes are that any URLs used to submit forms must use new variables that enable Mozilla to work OK within webs or topics that use I18N characters.

I've put up a generic internationalisation placeholder for skins at InternationalisingYourSkin.

-- RichardDonkin - 11 Dec 2002

Not sure if anyone has done the I18N changes yet for GnuSkin - there have been some changes recently to the syntax required, following some review by PeterThoeny, but the syntax of the required changes is now stabilised. See InternationalisingYourSkin for details.

-- RichardDonkin - 08 Jan 2003

In connection with setting one's preferred skin (as described in HowToChangeSkinConditionedUser) what is a skinhandler needed for? That is: When do I have to set the SKINHANDLER variable in the user settings, too? (There are GnuSkin 1.0.0, TigerSkin and the default skins installed in our TWiki [Version: 01 Dec 2002])

-- JorinaFreyaGerken - 21 Feb 2003

To JorinaFreyaGerken: See the GnuSkinPlugin topic, it lists all preference variables affected.

To the rest of you: I've released the 1.2 version of GnuSkin and done some refactoring of this topic. The next 2.0 release is around the corner and will include a lot of new stuff needed for the BeijingRelease.

I'll just have to upgrade my TWiki development machine ... see HurdWiki:TWiki/GnuSkinTodo for progress.

-- JoachimNilsson - 02 Mar 2003

Not sure if this is the best place to put it, but I've attached a simple diff for twiki.gnu.tmpl 1.2 that modifies the current location in the header to include the parent topics using the META tag "parent", I find it useful.

-- AlexMoore - 06 Mar 2003

In the new release I've "expelled" the parents back to the bottom of the topic again. Like in the default TWiki skin. See the HurdWiki:TWiki/GnuSkinReleaseNotes for more info. Maybe I'll add an option for it later on: Set GNUSKIN_PARENTS = TOP|BOTTOM|DISABLED

-- JoachimNilsson - 06 Mar 2003

I'm attaching a patch to do the following for 1.2:

Make search a little more like Google:

  • bin/gnusearch
    • strip leading and trailing spaces
    • reduce internal spaces to one space each
    • search using scope=text, regex=on
    • convert remaining spaces to ";" (searches with "and" combinations)

Do not put attachements and forms on the same row:

  • templates/view.gnu.tmpl
  • templates/preview.gnu.tmpl

Allow web form "checkbox+buttons" to work during edit:

  • templates/edit.gnu.tmpl

Do not wrap topbar:

  • templates/twiki.gnu.tmpl

-- DavidEverly - 18 Mar 2003

Good skin! Anyways, i didn't like that the hyperlinks weren't underlined and classic hyperlink-blue colored (which they have since beginning of the www-era, so people are quite used to click on anything underlined and blue) and while patching the style-sheet, i found out that the headlines are all <A>nchor-tags making it possible to jump directly to that part from the TOC. Making the A-tags underlined and blue in the style-sheet also made all the headlines underlined and blue. Being a little annoyed (and probably knowing too less about the whole style-sheet-mess), i patched the lib/TWiki.pm, around line 2291 in the function makeAnchorHeading, adding a class="heading" to the html-output (also the line right after the else-statement):

$text = "<nop><h$theLevel><a name=\"$anchorName\" class=\"heading\"> </a> $text <\/h$theLevel>";

This way it's possible to have different styles for anchors with href:s and anchors with names for jumping to. I figure it's probably not the nicest way, to patch TWiki.pm, is there any better way of doing this just using the style-sheet-file?

-- CarlBingel - 19 Mar 2003

I think there is a way to do what CarlBingel wants by just modifying the pub/TWiki/GnuSkin/twiki*.css files. Currently in these files, there are entries for "A" and "A:hover". Because of that, both "a href" html and "a name" html gets the link colors and underlining. Being more specific by using "A:active", "A:link", "A:visited", or "A:active:hover", "A:link:hover", "A:visited:hover" should apply this only to the "a href" html. I will upload a patch for pub/TWiki/GnuSkin/twiki*.css files to do this.

-- DavidEverly - 02 Apr 2003

I have experienced very slow saves with the GnuSkin; the time seems to be in excess of a minute, although I haven't actually put a stop watch on it (yet). It isn't totally consistent, but it seems to be most common if I bounce between preview and edit before saving. I also saw it this morning while doing an attachment. Examining ps output didn't provide me much in the way of clues. I intend to keep investigating, but I wanted to check if anyone else has experienced this and, if so, could you point me in the right direction to fix it?


-- DavidBright - 04 Apr 2003

I noticed a "bug" in the file view.gnu.tmpl: the encoding is always ISO-8859-1 instead of using the TWiki variable %CHARSET%.

I also noticed that the whole system runs amok when used together with MathModePlugin. No search, no preview, no save: nothing works anymore. Any idea?

-- OlivierVerdier - 06 Apr 2003

Oops. It is even worse than that. GnuSkin does not seem to handle UTF-8 encoding at all when editing... I guess it comes from the gnusave perl script? Is anyone working on an international version of GnuSkin?

Too bad, I really like this skin... I find it much better than the somewhat cluttered original TWiki interface.

-- OlivierVerdier - 06 Apr 2003

Oh, I was hoping people wouldn't be using GnuSkin 1.2 with the latest TWiki release. It's not meant to work flawlessly ... The GnuSkin was designed to run on the 2001 release - not until I release the 2.0 version of GnuSkin will it run on the latest TWiki. Terribly sorry about this, but I think I mention that on these pages.

To the rest of you, thanks for the patches! I'll integrate them into CVS and they will be availble in the 2.0 release with the I18N fixes. See HurdWiki:TWiki/GnuSkinTodo for more info.

-- JoachimNilsson - 13 Apr 2003

See InternationalisingYourSkin for how to internationalise any skin, it's not too hard even while waiting for Joachim's 2.0 version. Note that UTF8 is not yet supported by TWiki's InternationalisationEnhancements, since this is quite a complex thing to do properly and without breaking security - currently you have to make a simple browser change and run your whole site in a charset such as ISO-8859-15. Discussion of UTF8 work is at InternationalisationUTF8.

-- RichardDonkin - 14 Apr 2003

I think there is an issue with the edit page and using .htaccess for edit control. The edit page for the Gnu skin has a Save button. When I edit a topic and click Save instead of Preview and then Save the Changed By field for the edit is set to TWikiGuest. If I click on Preview and then Save it works ok. I poked around and found out that the Save on the edit page calls gnusave but the Save on the preview page calls save. Since gnusave is not in the .htaccess file, $cgi->remote_user() does not grab a valid user.

If you add

<files "gnusave">
  require valid-user
to the .htaccess file everything works ok. I was going to add this to GnuSkinInstall but I could not get the entry to look good (sorry, I am new to Wikis).

-- ShawnDevlin - 25 Apr 2003

We're using GnuSkin 1.2 on our TWiki (BeijingRelease, Perl 5.8.0, Apache 2.0.40, RedHat 8.0), but have been experiencing delays when saving as mentioned by DavidBright above (in our case it only seems to happen with longer topics). Given comments on here and on other topics, I was unsure whether to try Apache 1.3, Perl 5.6 or an older version of TWiki first. After noticing that the Apache access log was not written until late in the delay period, I figured Apache 1.3.27 was worth a try. All seems fine now, and overall performance appears to be better even for small topics. Hope this is useful with the GnuSkin 2.0 effort. Thanks for a great skin Joachim!

-- MartinRothbaum - 05 Jun 2003

We ran into problems in our new Web when we discovered that all edits were being owned by TWikiGuest in spite of everyone successfully logging in. It turns out that the GnuSkin docs don't say anything about changes to the /bin/.htaccess file that are required by GnuSkin, as per EditAuthenticationNotWorking -- someone should get that important installation note into the distribution.

-- ChristopherAllen - 04 Jul 2003

When translating the labels of the submit buttons in edit.gnu.tmpl (from "Cancel", "Preview",... to "Abbrechen", "Vorschau",...) you have also to change strings in the gnusave script.

I would prefer to use the name attribute (currently "action" for all buttons) instead of the value which is also displayed as the button label.

-- NorbertGawor - 10 Jul 2003

When you have installed twiki in an unusual way (e.g. hosted sites & non root accounts) and have to split "bin" directory from "lib" directory the script "gnusave" doesn't work any more, because it was not able to find setlib.cfg in the "lib" directory. It works fine, if you add
BEGIN { unshift @INC, '.'; require 'setlib.cfg'; }
at gnusave!

-- MarkusBrosch - 27 Jul 2003

Hi, I like the gnuskin theme very much, but I hate that stupid logo. Is there a way to disable it without any (greater) code changes? It just wastes screen space and is of no other use for me smile Thanks for any answers & greetings ...

-- AxelBock - 31 Jul 2003

In TWikiPreferences, section PlugIns where you set GnuSkin details: Set WEBLOGO =

That's it wink

-- MarkusBrosch - 03 Aug 2003

I'm afraid I don't get it - in TWikiPreferences I entered "Set Weblogo =", just as you said of course with the 3spaces*spaceSet-notation smile ), but nothing happens. I cretaed a "GnuSkin Settings" headline, just in case, but this didn't help either. frown Could you become a little more precise? Thanks very much in advance!

-- AxelBock - 05 Aug 2003

Try "Set WEBLOGO =" not "Set Weblogo = ". I'm quite sure the the variables are case sensitive.

-- DavidBright - 05 Aug 2003

Oh, I did write it in all uppercase, I misspelled here :-). Doesn't work, either ... frown

-- AxelBock - 09 Aug 2003

at the bottom of the screen the following line is inserted:

<script language="JavaScript"></script>
and so on, except that with IE 6.0 we getting
<script language="JavaScript">
so the bottom part of the display isn't appearing - its all "eaten up" into the script. Works fine with Mozilla. We've had a couple of hitches like this so I tried with all plugins disabled (including therefore GnuSkinPligin), but it still happened.

-- ChrisHogan - 12 Aug 2003

We had the same problem. It seems that Mozilla simply "makes it conform" but in fact it was broken. Just enter the missing script closing tag in your edit.tmpl and it will work.

-- AndreUlrich - 16 Oct 2003

Has any work been done on a checkpoint save for this skin? It would be very useful.

-- KeithEdmunds - 22 Aug 2003

I noticed that GnuSkinPlugin (along with TigerSkinPlugin) has a section in its code which conditionally displays a login when it detects the presence of SessionPlugin.

SmartSessionPlugin (which can be called SessionPlugin 2.0, and also is known as "SessionPlugin" within a TWiki web) now provides conditionals which could potentially move most of this logic down to the template level, allowing for more flexibility.

The directives:


are what allow this sort of conditional logic to move from the plugins to the templates.

This isn't necessarily very helpful to you since you aren't dependent upon SessionPlugin, and now finding "SessionPlugin" isn't enough to know if it's SessionPlugin 1.0 or 2.0. So this mechanism may only be useful to end TWiki users who know that SmartSessionPlugin is installed and less to template developers who do not, but I just wanted to let you know that this behavior existed just incase it might be helpful.

-- TedPavlic - 24 Aug 2003

I am trying to use variables for home attributes in my web menu and finding that the web names acquire carriage returns after they expand. Tried setting the INSTALLEDPLUGINS variable as suggested by HansFuchs, but didn't get anywhere. Any thoughts?

-- SaraYurman - 19 Sep 2003

I have two questions:

1) After installing the GnuSkin, the first time the Main page is hit (the initial site page), the Content-Type text string appears in the upper-left corner (e.g., Content-Type: text/html; charset=ISO-8859-1), and fonts are all larger than usual. Hitting refresh takes away these issues, and all page views from that point on are fine. What could be causing this, and can it be fixed?

2) After installing a separate skin (Koala, I believe), then reinstalling the GnuSkin, something happened where I can't create links with TWiki words. If I use the bracket notation (e.g., link) it works fine, but if I edit a page and add the word 'TestThisLink', and save the page, it appears in text, rather than as a "pre-link". (Note: the reinstall is not the cause of problem #1 above; this was occurring prior to installing the Koala Skin). Any suggestions on what could be causing this / how to fix it?

-- EricBlosch - 06 Oct 2003

Please note, that you have to integrate the timestamp variable when you call edit within the diff-view. Otherwise you will probably get old content. Test it by editing something, then save end view the diff. Then click on edit within the diff-view.

-- AndreUlrich - 15 Oct 2003

I believe there is a typo on line 138 of templates/twiki.gnu.tmpl. "witdh" should be "width".

-- SteveCooper - 02 Dec 2003

Thanks so much to Alex for his patch to display the parents in the titlebar. But I am still having problems with it as I see this when there the parent tree grows :

TWiki . Spectrum . ToolTopics > SPBuildTopic . SPBuildExamples

And then during the 'more' option on a given topic, this shows up:

TWiki . Spectrum . SPBuildExamples

(I manage the site for a bunch of engineers and although it is just an aesthetics issue for me, they think there is a special meaning to the '>', lol)

Also, is there a way to make this web specific? or is there a way to turn this off for certain topics? Like setting another piece of meta data that says: 'do not show tree'? I am working on a newsgroup like discussion board (using pieces from the discussion board and some from treeplugin) and would like to be able to turn this feature off for certain topics. I don't mind making the necessary coding changes, but I wouldn't even know where to begin with this. THanks!

-- AndrewJMirsky - 12 Dec 2003

We've added the following condition into our site's "gnusearch", to redirect to the WebSearch page if the search field is blank. This seemed to make more sense to the users. Are there any issues we should be concerned with here?

} elsif ($search =~ /^\s*$/) {  ## If search field is blank go to the "WebSearch" page.
        $newurl = "$TWiki::urlHost$TWiki::scriptUrlPath/view$TWiki::scriptSuffix/$webName/WebSearch";
       TWiki::redirect( $query, $newurl );

-- JohnMcLaughlin - 23 Dec 2003

MarvinGreenberg has posted a suggested change to some of GnuSkin's CSS files in GnuSkinStyleSheetFix; you may want to take a look. It looks like it's in the same spirit as the author-css-patch.diff below, but much simpler.

-- WalterMundt - 18 Feb 2004

I have attached a patch against 1.2 to add an optional target=_blank to WebMenu.

-- VirgiL - 21 Apr 2004

I have installed the gnu skin and am using Authentication, which all works fine, except that it always says that you are logged in as TwikiGuest in the webmenu and I have added the entry to the .htaccess file

<files "gnusave">
  require valid-user

Any Ideas??

-- ChrisMalatesta - 06 May 2004

You say on GnuSkin Per web configurable logotypes, background colors and style sheets (CSS). - but I can see no instructions for this. Can you advise? Thanks.

-- MartinCleaver - 08 May 2004

I just downloaded and installed GnuSkin and WebMenu following the installation instructions. I use basic authentication on my web, and have one web that is view restricted as well as several that are public (all on an intranet). When I use the default skin my edits preview and save quickly. However, when I cange the SKIN and SKINHANDLER variables in TwikiPreferences to gnu and Gnu respectively, my previews and saves can take 30 seconds or more. Any ideas? (Server = TWiki: Linux, Perl: 5.8.0 - Client = OS: WinXp Browser: IE 6.0)

-- JoshuaTharp - 20 May 2004

Hi, I just installed the current beta release for TWiki, and whenever I try to save or preview, i get this in the error logs: gnusave: Undefined subroutine &TWiki::getRenderedVersion called at /usr/lib/cgi-bin/twiki/gnusave line 264.

(for the preview)

and this for save: gnusave: Undefined subroutine &TWiki::decodeSpecialChars called at /usr/lib/cgi-bin/twiki/gnusave line 137.

relevant lines:

$text = &TWiki::decodeSpecialChars( $text ); # 136-137
$ptext = &TWiki::handleCommonTags( $ptext, $topic );
$ptext = &TWiki::getRenderedVersion( $ptext ); # 264-265

-- EricCote - 22 May 2004

duh, with my limited perl experience, I figured out I just needed to add Render:: to those TWiki subs, encodeSpecialChars also needs one. Like: TWiki::decodeSpecialChars to TWiki::Render::decodeSpecialChars -- EC

I get the following error whilst using GnuSkin:

Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@enzymePLEASENOSPAM.org.nz and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

This pops up when trying to either save (gnusave) or search (gnusearch)... I have added the validation line for gnusave but it doesn't do anything. -- SimonOosterman - 03 Jun 2004

Notice how the heading color changes when more than 2 capital letters are in a heading: http://twiki.ntp.org/bin/view/Sandbox/TestTopic1

-- HarlanStenn - 25 Jun 2004

Gnu search migrated to Cairo release / Pattern skin

I fancy the new pattern skin introduced (to me) in the Cairo release.

One thing I greatly miss in pattern skin, is the overloaded search/go field in the Gnu skin.

So i hacked around in gnusearch etc. as described below, and now it works for me:

Fixing gnusearch in Cairo release and
Making PatternSkin jump field behave like GnuSkin Go/Search field
  1. Made the gnusearch script work under Cairo.
    See: gnusearch-cairo
    You will have to put it in your bin folder and remove the -cairo postfix.
  2. Changed the %TMPL:DEF{"topbar"}% in twiki.pattern.tmpl as described below:
    • Exchanged: action="/cgi-bin/view%SCRIPTSUFFIX%/%WEB%/%TOPIC%"
  3. Added global variables in TWiki.TWikiPreferences:
    • Set JUMPLABEL = Search:
      • User who wish normal pattern skin behaviour sets this to Jump: on homepage
    • Set JUMPNAME = search
      • User who wish normal pattern skin behaviour sets this to topic on homepage
    • Set JUMPSCRIPT = gnusearch
      • User who wish normal pattern skin behaviour sets this to view on homepage
    • Set JUMPHELP = Search like /this or like ?this or simply ...
      • User who wish normal pattern skin behaviour sets this to Enter topic-name or web.topic-name on homepage
  4. Updated TWiki.WebTopBar
    • Changed Jump: to %JUMPLABEL%
    • Changed name="topic" to name="%JUMPNAME%"
    • Added title="%JUMPHELP%" inside <input...> tag
-- NielsKoldso - 19 Oct 2004

It would be nice if the GnuSkin package gets updated to the latest format so that it supports the TWikiSkinBrowser.

-- PeterThoeny - 27 Oct 2004

I upgraded to the 20040901 release of TWiki and had a couple of problems with the GNUSkin gnusave script. I am attaching a diff below to show my fix. One part is the Render:: that is mentioned earlier in the discussion. The other problem is that getViewUrl subroutine no longer guesses at the webName if not specified. I had to change gnusave to pass the webName to the subroutine. The symptoms of this was that a direct save (no preview) would save, but then redirect you to //webHome instead of /web/webHome which results in an oops because "" is not a valid web.

-- KevinStephens - 18 Nov 2004

Where is the zip package? It is not attached to the GnuSkinPlugin topic.

-- PeterThoeny - 10 Feb 2007

  • gnusave.diff: This is my patch for fixing 1.2 gnusave to work with 20040901 TWiki release
Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatdiff DavidEverly-patch-1.2.diff r1 manage 2.0 K 2003-03-18 - 18:55 DavidEverly Patch to 1.2: search, form/attach, buttons, topbar
Unknown file formatdiff anchor-css-patch.diff r1 manage 1.3 K 2003-04-02 - 15:24 DavidEverly Patch to 1.2: don't render Headings as links
Unknown file formatdiff gnusave.diff r1 manage 1.5 K 2004-11-18 - 19:12 KevinStephens This is my patch for fixing 1.2 gnusave to work with 20040901 TWiki release
Unknown file formatEXT gnusearch-cairo r1 manage 8.7 K 2004-10-19 - 20:59 NielsKoldso Hacked to work under Cairo release
Unknown file formatdiff parent-display-patch-twiki.gnu.tmpl-1.2.diff r1 manage 0.5 K 2003-03-06 - 11:15 AlexMoore Patch to 1.2 to display parent topic in page heade
Unknown file formatdiff webmenu-target.diff r1 manage 3.5 K 2004-04-21 - 02:16 VirgiL Patch to 1.2: add an optional target=_blank to WebMenu
Edit | Attach | Watch | Print version | History: r123 < r122 < r121 < r120 < r119 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r123 - 2007-02-10 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.