TIP NatSkinPlugin is not installed on Foswiki.org.

The Natural Skin Plugin

Support plugin for NatSkin


This is the supplemental plugin for the NatSkin. Its main purpose is to supply "skin states" to control different styles and variations to be switched dynamically while you are online.

The documentation of the NatSkinPlugin only covers the additional tags that have been implemented. Have a look at the NatSkin topic for more information.



Syntax: %CURREV%

returns the current topic revision



Syntax: %NATFORMBUTTON{";lt;format>"}%

returns a link to add or change the form attached to a topic. This will be shown on the edit screen depending on WEBFORMs being defined or not. More precisely NATFORMBUTTON returns
  • an empty string if there are no WEBFORMS defined
  • or an "Add form" link if there are but no form is attached yet
  • or a "Change form" link to change the current form

The optional %lt;format> string may contain the following variables
  • $url: the url of the link
  • $action: the link text
  • $1: the complete anchor including the link and the text

For example %NATFORMBUTTON{"| $1"}% will generate a pipe and the formbutton if possible.



returns a list of all known skin styles.



returns a list of all known styles variations.


Syntax: %NATFORMLIST{...}%

returns a formatted list of forms that can be attached to a topic. typically used in the changeform skin template. paramters:
  • header
  • format
  • footer
  • separator
  • selected
  • web
  • topic



substitute for %MAXREV% which differes all too much on Beijing, Cairo and Dakar. This version grants to behave the same.

Syntax: %NATWEBLOGO{format="..."}%

returns either a textual or a graphical a logo to be used in the header bar depending on a set of preference variables.

NATWEBLOGO will check for a couple of preference variables in the following order:
  1. return %NATSKIN_LOGO% if defined
  2. return %WIKILOGOIMG% if defined
  3. return %WEBLOGOIMG% if defined
  4. return %WIKITOOLNAME% if defined
  5. or return the string 'Foswiki' otherwise

If you want to have a different logo using NatSkin than using another skin on the same site then add the following to the SitePreferences:

  * Set NATSKIN_LOGO = /path/to/your/natskinlogo.gif
  * Set WIKILOGOIMG = /path/to/your/defaultlogo.gif


Syntax: %PREVREV%

returns the previous topic revision taking NumberOfRevisions into account


Syntax: %USERACTIONS{"<format>" ...}%

display separate sets of actions for anonymous or authenticated users.
  • sep="<span> class="natSep">|</span>": separator between actions
  • guest="$login$sep$register$sep$print": format string of actions for guests
  • format="$user$sep$logout$sep$print<br />$edit$sep$attach$sep$move$sep$raw$sep$diff$sep$more": format string of actions for authenticated users
  • restrictedactions="...": list of user actions that are disabled if the user has got no write access to the current topic
  • help="...": help topic used for $help, defaults to UsersGuide (see below)

The "guest" and "format" format strings can use the following variables
  • $attach: link to "attach" topic action
  • $diff: link to diff
  • $edit: link to edit
  • $help: link to a help page
  • $login: link to log in
  • $logout: link to log out
  • $more: link to more dialog
  • $move: link to move dialog
  • $pdf: link to export pdf using the one of GenPDF...Plugins (weasyprint, prince-xml or wkhtmltopdf)
  • $print: link to print action
  • $raw: link to display topic in raw format
  • $register: link to registration
  • $sep: separator string
  • $user: name of current authenticated user


Syntax: %WEBCOMPONENT{"name" web="<name>" lineprefix="<prefix>" multiple=""}%

  • name: The name of the WebComponent topic.
  • web="<name>": The web to fetch the component from. Default to the current web.
  • lineprefix="<prefix>": A prefix to be added to each line of the web component topic before inclusion. Typically three space characters.
  • multiple : If defined WEBCOMPONENT will allow for multiple inclusions of the same web component topic.

display a web component. A web component "MyComponent" is searched looking for
  1. WebMyComponent in the current web,
  2. SiteMyComponent in the Main web,
  3. SiteMyComponent in the System web and
  4. WebMyComponent in the System web.

The WEBCOMPONENT tag will retrieve the component where it was found first. Thereby the component can be customize for each web separately if required. If it is not defined locally a predefined component will be returned. Components can be predefined in the Main and the System where the name of the component is prefix with "Site" to distinguish them from the local web components that may already be present in the Main and the System. As a last resort the local components of the System are used.

By default the NatSkin comes with predefined components

see also: MYSIDEBAR

Installation Instructions

See NatSkin#Installation_Instructions


Foswiki::Plugins::ZonePlugin>=3.1Required. required for Foswiki < 1.1
Foswiki::Plugins::TopicTitlePlugin>1.00Required for Foswiki < 2.2

Change History

12 Feb 2019: major release for NatSkin 6.0
23 Jan 2017: better handing of revision infos being attached to a h1; removed detection of old Internet Explorers as well as warning for unsupported browsers; better support for Foswiki:Extensions/DiffPlugin; hide "New" button based on web, not on topic access rights
25 Feb 2016: improved support for pdf printouts; removed secure headers as that's a plugin of its own now
17 Jul 2015: better integration with Foswiki:Extensions/AutoTemplatePlugin; better detection of Internet Explorer versions; added edit_raw action; added support for Foswiki-2.0; properly searching for WebComponents in the web holding the local SitePreferences ... which not necessarily is the user web
27 Feb 2015: finally 4.00
29 Aug 2014: third beta
28 Mar 2013: second beta
14 Mar 2013: first beta of new release
16 Mar 2005: Initial version
Topic attachments
I Attachment Action Size Date Who Comment
NatSkinPlugin.md5md5 NatSkinPlugin.md5 manage 162 bytes 14 Feb 2019 - 11:57 MichaelDaum  
NatSkinPlugin.sha1sha1 NatSkinPlugin.sha1 manage 186 bytes 14 Feb 2019 - 11:57 MichaelDaum  
NatSkinPlugin.tgztgz NatSkinPlugin.tgz manage 22 K 14 Feb 2019 - 11:57 MichaelDaum  
NatSkinPlugin.zipzip NatSkinPlugin.zip manage 32 K 14 Feb 2019 - 11:56 MichaelDaum  
NatSkinPlugin_installerEXT NatSkinPlugin_installer manage 6 K 14 Feb 2019 - 11:57 MichaelDaum  
Topic revision: r36 - 14 Feb 2019, MichaelDaum - This page was cached on 14 Jan 2020 - 15:11.

The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy