The Natural Skin Plugin

11 March 2025 - 17:48 | Version 1 |
Support plugin for NatSkin

Description

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

Syntax: %CURREV%

returns the current topic revision

see also: NATMAXREV, PREVREV,

MESSAGEBOX

Syntax: %MESSAGEBOX{"<text>" type="..." showicon="on/off" sticky="on/off" translate="on/off"}%

This renders a DIV html element with the appropriate style. See the examples here.

NATFORMBUTTON

Syntax: %NATFORMBUTTON{"<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

The optional %lt;format> string may contain the following variables

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

KNOWNSTYLES

Syntax: %KNOWNSTYLES%

returns a list of all known skin styles.

KNOWNVARIATIONS

Syntax: %KNOWNVARIATIONS%

returns a list of all known styles variations.

NATFORMLIST

Syntax: %NATFORMLIST{...}%

returns a formatted list of forms that can be attached to a topic. typically used in the changeform skin template. paramters:

NATMAXREV

Syntax: %NATMAXREV%

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

PREVREV

Syntax: %PREVREV%

returns the previous topic revision taking NumberOfRevisions into account

USERACTIONS

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

display separate sets of actions for anonymous or authenticated users.

The "guest" and "format" format strings can use the following variables

WEBCOMPONENT

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

Arguments:

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

Dependencies

NameVersionDescription
Foswiki::Contrib::CopyContrib>=2.0Required
Foswiki::Contrib::FamFamFamContrib>=2075Required
Foswiki::Contrib::JQSelect2Contrib>1.01Required
Foswiki::Contrib::JQAjaxFormContrib>=0Required
Foswiki::Contrib::WebFontsContrib>=1Required
Foswiki::Plugins::AutoTemplatePlugin>=2.01Required
Foswiki::Plugins::BreadCrumbsPlugin>=4318Required
Foswiki::Plugins::CaptchaPlugin>=2.0.0Optional
Foswiki::Plugins::DBCachePlugin>=12Required
Foswiki::Plugins::DiffPlugin>=2.0Required.
Foswiki::Plugins::FilterPlugin>=3491Required
Foswiki::Plugins::FlexFormPlugin>=5.3Required
Foswiki::Plugins::FlexWebListPlugin>=3493Required
Foswiki::Plugins::GridLayoutPlugin>=1.00Required
Foswiki::Plugins::ImagePlugin>=2.40Required
Foswiki::Plugins::JQueryPlugin>=7.00Required
Foswiki::Plugins::ListyPlugin>=1Required
Foswiki::Plugins::MetaCommentPlugin>=2.80Optional
Foswiki::Plugins::MimeIconPlugin>=1Required
Foswiki::Plugins::MoreFormfieldsPlugin>=4.00Required
Foswiki::Plugins::MultiLingualPlugin>=2.00Required
Foswiki::Plugins::NatEditPlugin>=8.00Required
Foswiki::Plugins::RedDotPlugin>=1Required
Foswiki::Plugins::RenderPlugin>=6.00Required
Foswiki::Plugins::SecurityHeadersPlugin>=2.00Optional
Foswiki::Plugins::PixabayPlugin>=0Optional
Foswiki::Plugins::TopicInteractionPlugin>=1340Required
Foswiki::Plugins::WebLinkPlugin>=2.1Required
Foswiki::Plugins::WebCreatorPlugin>=1Required
Foswiki::Plugins::ZonePlugin>=3.1Required. required for Foswiki < 1.1
Foswiki::Plugins::TopicTitlePlugin>1.00Required for Foswiki < 2.2

Change History

11 Mar 2025: fixed order of checking for darkmode settings
11 Feb 2025: fixed endRenderingHandler introducing newlines
27 Jan 2025: new major release
11 Aug 2023: added %MESSAGEBOX macro; moved some of the basic HTML optimizations from PageOptimizerPlugin into here; support for darkmode feature; improved topic restore feature
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