Skin Submission Guidelines

How to submit a new skin?

Submitting a skin is easy! Simply fill out our skin submission form and our skins team will take a look at is as soon as possible.

Remember to follow all the guidelines listed below, or your skin may not be added to the skins site!

Guidelines

These guidelines have been written to ensure any Nucleus user can install, use and modify publicly available Nucleus CMS skins.

Design and credits

  • Skins should be valid html/xhtml (check your html/xhtml with the W3C validator) and valid css (check your css in the CSS validator)
  • Skins should be free. Consider licensing them under a GPL or Creative Commons license. (If you use images from someone other than yourself, they should be obtained under the same license as the skin is released under.)

Technical aspects

  • Linking to rss/atom feeds should be done correctly, so news readers can autodiscover your syndication feeds (see this thread)
  • Because skins and templates on the skins site won't be overwritten, all submitted skins and templates must have unique short names (which means: short names that are not used by any other skin or template).
  • Use a skin correspondent name for the included templates. For example, the Laila skin includes two templates: laila/full and laila/short.

Skins and plugins

  • Skins should not require plugins implicitly in the skin code to work without DISALLOWED errors. Skins may use the following construct to check if a plugin is installed: <%if(hasplugin, PluginName)%> conditional).
  • Adding to the above: no plugins can be included in a downloadable skin. You can reference them in the skin's readme.html file
  • The exception to the above is the inclusion of NP_Text with an internationalised skin (see below).

Skin files and folders

  • Each skin should come with
    • a small preview image of the skin (preview.png, 150x100px);
    • a large image of the skin (preview-large.png, 750x500px); and
    • a readme.html file (right click and save as) explaining the skin options and usage (see below for a readme.html template)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>(insert skin name here) skin</title>
	<link rel="stylesheet" type="text/css" href="../../nucleus/styles/manual.css" />
	<link rel="stylesheet" type="text/css" href="../../nucleus/styles/admin.css" />
</head>
<body>
 
	<h1>(insert skin name here) skin</h1>
 
	<p>The (insert skin name here) skin is an original design by <a href="">(original author)</a> featured at <a href="(insert original author link here)" title="(original author)">(insert site)</a> and ported to <a href="http://nucleuscms.org/" title="NucleusCMS">NucleusCMS</a> by <a href="(insert port author link here)" title="(port author)">(port author)</a>.</p>
 
	<p>(insert brief description of your skin here)</p>
 
	<p>(insert notes about which browsers you have tested your skin on)</p>
 
	<h2>the (insert skin name) templates and their uses</h2>
 
	<table>
	<thead><tr><th>Template:</th><th>Use:</th></tr></thead>
	<tr><td><dt>(template name)</dt></td><td>Used for the following skin parts:
	<ul>
	<li>(insert name of skin part)</li>
	<li>(insert name of skin part)</li>
	<li>(insert name of skin part)</li>
	</ul></td></tr>
	<tr><td><dt>(template name)</dt></td><td>Used for the following skin parts:
	<ul>
	<li>(insert name of skin part)</li>
	<li>(insert name of skin part)</li>
	<li>(insert name of skin part)</li>
	</ul></td></tr>
	</table>
 
	<h2>the (insert skin name) skin files:</h2>
 
	<table>
	<thead><tr><th>File:</th><th>Use:</th></tr></thead>
	<tr><td><dt>skinbackup.xml</dt></td><td>Contains all data in skin parts and templates.  Import this file through the Nucleus admin area when installing the skin.</td></tr>
	<tr><td><dt>preview.png</dt></td><td>Thumbnail preview of skin in the skins admin area.</td></tr>
	<tr><td><dt>preview-large.png</dt></td><td>Large preview of skin.</td></tr>
	<tr><td><dt>readme.html</dt></td><td>This help file.</td></tr>
	<tr><td><dt>(insert file name)</dt></td><td>(insert file information and usage here)</td></tr>
	<tr><td><dt>(insert file name)</dt></td><td>(insert file information and usage here)</td></tr>
	<tr><td><dt>(insert file name)</dt></td><td>(insert file information and usage here)</td></tr>	</table>
 
</body>
</html>

Internationalising skins

Skins can now come with language files, using the NP_Text.php plugin.

Simply bundle a languagename.php file inside a /language/ directory which sets variables as follows:

<?php
 
define("SL_VARIABLE", "value");
// ... etc.
 
?>

then use <%Text(VARIABLE)%> to call the variable inside your skin. For example, if setting a variable for the phrase “add comment” in an english.php file:

<?php
 
define("SL_ADDCOMMENT", "Add comment");
 
?>

call in your skin like this:

<%Text(ADDCOMMENT)%>

For more information, see the FAQ article on internationalising skins:

How can I author or port a skin in multiple languages (a.k.a. "internationalising" skins)?

contributing/skins.txt · Last modified: 2008/02/26 02:37 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki