<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SkyBlueCanvas &#187; Fragmentor Plugin for SkyBlueCanvas &#8211; SkyBlueCanvas</title>
	<atom:link href="http://blog.skybluecanvas.com/tag/templates/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.skybluecanvas.com</link>
	<description>The Lightweight Blog</description>
	<lastBuildDate>Mon, 26 Mar 2012 00:45:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Fragmentor Plugin for SkyBlueCanvas</title>
		<link>http://blog.skybluecanvas.com/skybluecanvas-lightweight-cms/plugins/fragmentor-plugin-skybluecanvas/</link>
		<comments>http://blog.skybluecanvas.com/skybluecanvas-lightweight-cms/plugins/fragmentor-plugin-skybluecanvas/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 01:19:46 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Fragments]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[fragment]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[s]]></category>
		<category><![CDATA[skin]]></category>
		<category><![CDATA[skins]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[variable]]></category>
		<category><![CDATA[views]]></category>
<category>extensions</category><category>fragments</category><category>plugins</category><category>skins</category><category>templates</category><category>themes</category>
		<guid isPermaLink="false">http://blog.skybluecanvas.com/?p=59</guid>
		<description><![CDATA[Fragmentor is a plugin to be used instead of or alongside the default Fragment Plugin in SkyBlueCanvas. Fragmentor provides template and fragment developers an alternative and much more flexible syntax for loading dynamic content views (fragments) into SkyBlueCanvas web pages. Since the plugin uses a different syntax from the default fragment plugin, it will not conflict with it. With Fragmentor, you can pass an arbitrary number of key=&#60; value pairs of data from your article text or template file.]]></description>
			<content:encoded><![CDATA[<p>For a really cool Fragmentor usage example, check out my blog post on the <a href="http://blog.skybluecanvas.com/skybluecanvas-lightweight-cms/editable-sidebar-content-hack/" title="Editable Sidebar Hack">Editable Sidebar Content Hack</a></p>
<h2>System Requirements</h2>
<ul>
<li>SkyBlueCanvas v1.1</li>
<li>PHP 5 (Not tested with PHP 4)</li>
<li>Apache Web Server</li>
</ul>
<div class="msg-info">
<h2>Important</h2>
<p>Unlike most SkyBlueCanvas Plugins, the Fragmentor Plugin <strong><em>must</em></strong> be installed manually via FTP. If you install this Plugin through the admin console, it will not function properly.</p>
</div>
<h2>Installation Instructions</h2>
<ol>
<li>Connect to your SkyBlueCanvas web site using the FTP Client of your choice.</li>
<li>Locate the Fragmentor Plugin file in <span style="text-decoration: underline;">source/plugin_fragmentor/plugin.fragmentor.php</span> in this download.</li>
<li>Upload the Fragmentor Plugin file to <span style="text-decoration: underline;">/skyblue_root/data/plugins/</span>.</li>
</ol>
<h2>Usage</h2>
<p>The Fragmentor Plugin allows you to pass a standard query string, similar to a URL query string, to your custom SkyBlueCanvas fragments. A query string is simply a string of key=&gt;value pairs in the format:</p>
<pre class="html">key1=value1&amp;key2=value2</pre>
<h2>Reserved Keywords</h2>
<p>The Fragmentor Plugin has 2 reserved keywords:</p>
<ol>
<li> name<em> &#8211; name</em> tells Fragmentor which Fragment to laod.</li>
<li> view<em> &#8211; view</em> tells Fragmentor which Fragment View to load.</li>
</ol>
<h2>Syntax</h2>
<p>You can use one of or a mix of two call syntaxes to call the Fragmentor Plugin:</p>
<h3>HTML Comment Syntax:</h3>
<pre class="html">&lt;!--fragment(name=fragment_name&amp;view=view_name&amp;key1=value1)--&gt;</pre>
<p>Use this syntax to add Fragmentor calls to your HTML skin templates.</p>
<h3>In-line Text Syntax:</h3>
<pre class="html">{fragment(name=fragment_name&amp;view=view_name&amp;key1=value1)}</pre>
<p>Use this syntax to add Fragmentor calls in-line in your page article text.</p>
<p>If you are familiar with SkyBlueCanvas Fragments, you know that the default Fragment Plugin attempts to load any data objects associated with the fragment automatically. The plugin determines the data to load based on the name of the fragment. For instance, if you have the Links Manager installed on your SkyBlueCanvas site, and you create a fragment named <em>links</em>, the Fragment Plugin will automatically load the <em>links</em> data objects. The data objects are passed to your fragment in a variable named $data;</p>
<p>Fragmentor maintains this automatic data loading and your data is still passed in the $data variable. Fragmentor, however, adds a new variabled named $params which is a keyed (associative) array corresponding to the key=&gt;value pairs of your query string.</p>
<p>Your query string can contain as many key=&gt;value pairs as you like and your key names can be anything you like. The only limitations are:</p>
<ol>
<li>The <em>name</em> and <em>view</em> keywords are reserved by the plugin</li>
<li>Your query string must be a well-formed query string meaning it must follow the rules or a standard URL query string (no spaces, no special characters, etc.)</li>
</ol>
<div class="msg-info">
<h2>Important</h2>
<p>Existing SkyBlueCanvas fragments are not currently configured to work with the Fragmentor Plugin. Fragmentor is intended to give you more flexibility in creating<strong><em> your custom plugins</em></strong>. We may eventually merge Fragmentor with the core SkyBlueCanvas code but at the present time it should be considered and treated like any other third-party add-on.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.skybluecanvas.com/skybluecanvas-lightweight-cms/plugins/fragmentor-plugin-skybluecanvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting Themes for SkyBlueCanvas</title>
		<link>http://blog.skybluecanvas.com/skybluecanvas-lightweight-cms/converting-themes-skybluecanvas/</link>
		<comments>http://blog.skybluecanvas.com/skybluecanvas-lightweight-cms/converting-themes-skybluecanvas/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 20:14:19 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[Skins and Templates]]></category>
		<category><![CDATA[SkyBlueCanvas CMS]]></category>
		<category><![CDATA[fragment]]></category>
		<category><![CDATA[fragments]]></category>
		<category><![CDATA[skin]]></category>
		<category><![CDATA[skins]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tutorials]]></category>
<category>conversion</category><category>fragments</category><category>html</category><category>skins</category><category>templates</category><category>themes</category>
		<guid isPermaLink="false">http://blog.skybluecanvas.com/?p=55</guid>
		<description><![CDATA[One of the most common questions we are asked is how to convert existing or stock HTML templates to work with 
SkyBlueCanvas. In this article I will guide you, step-by-step, through the process of adapting 
any existing skin to work with SkyBlueCanvas. This process, once you understand the fundamentals, 
usually takes about an hour - sometimes even less. In fact, the skin we will use in this tutorial 
took only 30 minutes.]]></description>
			<content:encoded><![CDATA[<p>One of the most common questions we are asked is how to convert existing or stock HTML templates to work with SkyBlueCanvas. In this article I will guide you, step-by-step, through the process of adapting any existing skin to work with SkyBlueCanvas. This process, once you understand the fundamentals, usually takes about an hour &#8211; sometimes even less. In fact, the skin we will use in this tutorial took only 30 minutes.</p>
<p>For this demonstration I will be using the Eco Theme from ThemeForest.net. Since this is a copyrighted theme, I won&#8217;t be able to give you the code for download, but you can purchase the template for only $12 from <a rel="nofollow" href="http://themeforest.net/item/eco-theme/22099?ref=skybluecanvas">ThemeForest.net</a>. I selected this theme because it&#8217;s beautiful, and it has all of the elements we need to learn how to adapt just about any skin for SkyBlueCanvas.</p>
<p><img style="padding: 1px; border: 1px solid #CCC; margin-bottom: 8px;" src="http://blog.skybluecanvas.com/images/eco.jpg" alt="Eco theme screen shot" width="200" height="150" /></p>
<p>The Eco Theme from <a rel="nofollow" href="http://themeforest.net/item/eco-theme/22099?ref=skybluecanvas">ThemeForest.net</a></p>
<h2>The Basics</h2>
<p>Since all of the HTML, CSS and JavaScript code has already been written by the theme author, our task will involve:</p>
<ul>
<li>Replacing content blocks with SkyBlueCanvas fragments</li>
<li>Replacing hard-coded page links with SkyBlueCanvas links</li>
<li>Updating CSS and JavaScript links for SkyBlueCanvas</li>
</ul>
<div class="msg-info">
<h2>Tip</h2>
<p>If you have not read our articles on <a href="http://blog.skybluecanvas.com/skybluecanvas-lightweight-cms/skybluecanvas-v11-rc1-skins-explained/">SkyBlueCanvas Skins</a> and <a href="http://blog.skybluecanvas.com/skybluecanvas-lightweight-cms/skybluecanvas-fragments-explained/">SkyBlueCanvas Fragments</a>, you may want to do so to get a full understanding of how SkyBlueCanvas creates a page.</p>
</div>
<p>Before we start, we need to create our skin directory structure. Create a new directory named eco with the following sub-folders:</p>
<p><img class="diagram" src="http://blog.skybluecanvas.com/images/diagram.skin.structure.jpg" alt="SkyBlueCanvas Skin directory structure" width="464" height="199" /></p>
<p>Next, copy the <span class="file-name">index.html</span> file from the Eco Theme to your new eco directory and rename it to <span class="file-name">skin.default.html</span>. Now copy the new eco directory to <span class="file-path">/skyblue/data/skins/</span>. Be sure to change the file permissions as needed for your hosting environment.</p>
<p>First, we need to add our links to the CSS and JavaScript files. Let&#8217;s take a look at the HTML HEAD element:</p>
<pre class="html">&lt;head&gt;
&lt;meta http-equiv="Content-Type"
  content="text/html; charset=UTF-8" /&gt;
&lt;title&gt;The Eco Company Site Template&lt;/title&gt;
&lt;link rel="stylesheet"
  href="css/style.css"
  type="text/css"
  media="screen" /&gt;
&lt;script src="js/jquery-1.2.6.js"
  type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="js/jquery.scrollTo-1.3.3.js"
  type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="js/jquery.localscroll-1.2.5.js"
  type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="js/jquery.serialScroll-1.2.1.js"
  type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="js/coda-slider.js"
type="text/javascript"&gt;&lt;/script&gt;
&lt;/head&gt;
</pre>
<p>You will notice that the paths for the CSS and JavaScript files all point to the relative paths within the skin directory. These won&#8217;t work from the front-end of your site but they are easily updated. I will just show you how to update one JavaScript and one CSS link. The others will be done the same way.</p>
<p>You will need one simple bit of PHP code to get the path to the currently active skin in SkyBlueCanvas:</p>
<pre class="php">&lt;?php echo $this-&gt;get_path(); ?&gt;
</pre>
<p>So we just need to add this code before the existing paths in the Eco Theme code:</p>
<pre class="html">&lt;head&gt;
&lt;link rel="stylesheet"
  href="&lt;?php echo $this-&gt;get_path(); ?&gt;css/style.css"
  type="text/css" media="screen" /&gt;
&lt;script src="&lt;?php echo $this-&gt;get_path(); ?&gt;js/jquery-1.2.6.js"
  type="text/javascript"&gt;&lt;/script&gt;
&lt;/head&gt;
</pre>
<p>Next, let&#8217;s tackle the header. This will be very easy. I will give you the code, then explain it.</p>
<pre class="html">&lt;div id="logo"&gt;
  &lt;h1&gt;&lt;a href="[[site.url]]"&gt;
    &lt;img src="images/logo.gif" alt="[[site.name]] logo" /&gt;
  &lt;/a&gt;&lt;/h1&gt;
&lt;/div&gt;
</pre>
<p>That&#8217;s it. All we have done is replaced the hard-coded URL of the home page and the site name with two SiteVars. Now, when our page is rendered, SkyBlueCanvas will replace these with the values you set in the SkyBlueCanvas admin.</p>
<div class="msg-info">
<h2>Tip</h2>
<p>You can find a full list of SiteVars in our article about the<br />
<a href="http://blog.skybluecanvas.com/skybluecanvas-lightweight-cms/skybluecanvas-sitevars-plugin/">SkyBlueCanvas SiteVars Plugin</a>.</p>
</div>
<p>Now we will do the same for the Contacts region of the header:</p>
<pre class="html">&lt;div id="contacts"&gt;
  &lt;!-- Contact informations here --&gt;
  &lt;p&gt;
    Call us at [[site.contact_phone]] &lt;br /&gt;
    &lt;a href="mailto:[[site.contact_email]]"&gt;
      [[site.contact_email]]
    &lt;/a&gt;
  &lt;/p&gt;
  &lt;!-- End of Contact informations --&gt;
&lt;/div&gt;
</pre>
<p>Next, let&#8217;s replace the hard-coded dynamic content blocks. Converting content blocks involves two SkyBlueCanvas concepts: Fragments and SiteVars (which we already mentioned). Fragments are scriptlets that render a particular kind of content &#8211; like a Links List &#8211; created by SkyBlueCanvas. SiteVars are tokens that refer to settings or values that you set in the SkyBlueCanvas admin. They allow you to change values related to your site, without having to change your HTML every time you update your site settings.</p>
<p>In the Eco Theme <span class="file-name">index.html</span> file, we find the following code for the header and navigation:</p>
<pre class="html">&lt;div id="header"&gt;
  &lt;div id="logo"&gt;
    &lt;h1&gt;&lt;a href="index.html"&gt;
      &lt;img src="images/logo.gif"
        alt="The Eco Company Site Template logo" /&gt;
      &lt;/a&gt;&lt;/h1&gt;
  &lt;/div&gt;
  &lt;div id="contacts"&gt;
    &lt;!-- Contact informations here --&gt;
    &lt;p&gt;
      Call us on 001123456 &lt;br /&gt;
      &lt;a href="mailto:info@ecocompany-theme.com"&gt;
        info@ecocompany-theme.com
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;!-- End of Contact informations --&gt;
  &lt;/div&gt;
  &lt;div class="clear"&gt;&lt;/div&gt;
  &lt;ul id="mainmenu"&gt;
   &lt;!-- Put your menu links here --&gt;
   &lt;li&gt;&lt;a href="index.html"&gt;Home&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href="about-us.html"&gt;About Us&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href="#"&gt;Services&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href="#"&gt;Partners&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href="contact.html"&gt;Contact&lt;/a&gt;&lt;/li&gt;
   &lt;!-- End of menu links --&gt;
  &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>You can update the contact info using SiteVars like I explained earlier. We will replace the navigation with a fragment to be dynamically updated as we add and delete pages from our site. But you don&#8217;t need to write a fragment. You can simply download this fragment set: <a href="http://www.skybluecanvas.com/exts/55">Fragments</a> and copy the entire directory to <span class="file-path">/skyblue/data/skins/eco/</span>.</p>
<p>After you have downloaded the fragment, we need to make one small change to the menu fragment. So open <span class="file-path">/fragments/menu/view.php</span> and Find the line that reads &lt;ul&gt; and change it to:</p>
<pre class="html">&lt;ul id="mainmenu"&gt;
</pre>
<p>We have simply added an ID to the UL element to match the Eco Theme style rules. I could have done this for you, but I wanted you to learn how to modify a fragment to match the template you are converting.</p>
<p>Now we can finish the header by adding the code to load the fragment when the page is created. We do that like this:</p>
<pre class="html">&lt;div id="header"&gt;
  &lt;div id="logo"&gt;
    &lt;h1&gt;&lt;a href="[[site.url]]"&gt;
      &lt;img src="images/logo.gif" alt="[[site.name]] logo" /&gt;
    &lt;/a&gt;&lt;/h1&gt;
  &lt;/div&gt;
  &lt;div id="contacts"&gt;
      &lt;!-- Contact informations here --&gt;
    &lt;p&gt;
      Call us at [[site.contact_phone]] &lt;br /&gt;
      &lt;a href="mailto:[[site.contact_email]]"&gt;
        [[site.contact_email]]
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;!-- End of Contact informations --&gt;
  &lt;/div&gt;
  &lt;div class="clear"&gt;&lt;/div&gt;
  &lt;!--#plugin:fragment(menu,view)--&gt;
&lt;/div&gt;
</pre>
<p>Now our header is finished. If you are starting to suspect that this is pretty easy &#8211; you are right &#8211; it is.</p>
<p>I want to focus on helping you learn the concepts not convert a specific theme so we are going to skip the Scrolling Banner section for now. I have included the fragment required for that section in the file you just downloaded.</p>
<h2>The Main Content</h2>
<p>The main content, or body of a standard text page is created and edited in the <acronym title="What You See is What You Get">WYSIWYG</acronym> text editor in the Page Manager. We only need to tell SkyBlueCanvas where to place the content. This is accomplished using the Page Fragment that is included in the fragments download from earlier in this article.</p>
<p>The Page Fragment is just like any other fragment and is loaded the same way. So find the region of the Eco theme that the designer has designated as the maincontent area.</p>
<pre class="html">&lt;div id="main"&gt;
  &lt;div id="sidebar"&gt;
    &lt;!-- We will come back to the side bar shortly --&gt;
  &lt;/div&gt;

  &lt;div id="text"&gt;
    &lt;!-- Put your text here --&gt;

    &lt;!-- End of Text --&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>The designer, Darinka, has conveniently labeled the content area with a comment indicating that to &#8220;Put your text here&#8221;, so that is what we will do. So delete the sample content she has placed between the comments, with our Page Fragment call like this:</p>
<pre class="html">&lt;div id="main"&gt;
  &lt;div id="sidebar"&gt;
    &lt;!-- We will come back to this --&gt;
  &lt;/div&gt;

  &lt;div id="text"&gt;
    &lt;!-- Put your text here --&gt;
    &lt;!--#plugin:fragment(page,view)--&gt;
    &lt;!-- End of Text --&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>Now, when SkyBlueCanvas builds the page, it will replace the fragment call with the text we created for this page in the Page Manager.</p>
<h2>The Side Bar</h2>
<p>The side bar provides us with a good opportunity to talk a little about the usefulness of fragments and how to plan your pages when building or converting a skin for SkyBlueCanvas. We want updating our site to be as little work as possible. This means avoiding repeating or duplicating tasks and code. In fact, there is a concept in programming called <acronym title="Don't Repeat Yourself">DRY</acronym>.</p>
<p>Fragments allow us to write a single piece of code for regions of a page that will be the same for every page and every type of page. Typically our header, footer and often the side bar will be the same for every page, so we don&#8217;t want to duplicate the same code for every layout type we have. We can simply create a fragment and load the fragment in each layout style.</p>
<p>There is also even better news &#8211; fragments can be nested, so your fragments can also load fragments. For instance, if our side bar will include a Links List, we can have a side bar fragment which includes a fragment call to load the Links fragment. And this is exactly what we are going to create now.</p>
<p>I purposefully did not include the Sidebar Fragment in the download I gave you. I want you to experience writing a fragment of your own &#8211; and this is a very simple one.</p>
<p>Inside the <span class="file-path">/skyblue/data/skins/eco/fragments/</span> folder, create a new folder named <span class="file-name">sidebar</span>. Inside of this folder we need to create a sinlge PHP file named <span class="file-name">view.php</span>. View is the name of the default HTML output agent in a fragment. You can have an unlimited number of agents and you can name them anything you like, but we will use view for this example.</p>
<p>We want to inlude our Links List in the side bar, so our Sidebar Fragment View File needs to inlude the call to the Links Fragment. You are probably catching on by now and already know that we do this with the following code:</p>
<pre class="html">&lt;!--#plugin:fragment(links,view)--&gt;
</pre>
<p>Now you simply save the file. But wait, we have not actually called the Sidebar Fragment from within our page yet. We need to go back a bit and re-visit the code we modified to load the page text, and &#8211; as you probably guessed &#8211; add a fragment call to our Sidebar Fragment like this:</p>
<pre class="html">&lt;div id="main"&gt;
  &lt;div id="sidebar"&gt;
    &lt;!--#plugin:fragment(sidebar,view)--&gt;
  &lt;/div&gt;

  &lt;div id="text"&gt;
    &lt;!-- Put your text here --&gt;
    &lt;!--#plugin:fragment(page,view)--&gt;
    &lt;!-- End of Text --&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>If you recall, I said that <span class="file-name">view.php</span> is the default view of a fragment. So in our code above, the second parameter &#8216;view&#8217;, is not really necessary. We can load the default fragment view by simply calling:</p>
<pre class="html">&lt;!--#plugin:fragment(sidebar)--&gt;
</pre>
<p>The rest of this page, and the other page layouts can be converted in the same way that we have converted the elements above. I will leave the remaining elements and pages to you. You now have all of the tools you need to convert just about any HTML theme to work with SkyBlueCanvas.</p>
<p>Since I know this is your first theme conversion, I&#8217;m sure you will have questions. Please feel free to post questions in the <a href="http:forum.skybluecanvas.com">SkyBlueCanvas Forum</a>. I try to respond within 24 hours and usually much sooner than that.</p>
<h2>A Few Caveats</h2>
<p>In this article we covered converting a basic text page template for SkyBlueCanvas. What we did not cover, however, is how to create a layout for a contact form, photo gallery or other content page that includes non-text content in the body of the page.</p>
<p>This is actually quite easy to do, and there are two ways to do it. Whether your non-text page is a contact form, photo gallery or perhaps a Flash animation, they are all fragments and therefor loaded in the same way as every other fragment.</p>
<p>You have a choice with these fragments. You can create a new page layout that is specific to the content &#8211; <span class="file-name">skin.contact.html</span> &#8211; for instance, or you can just load the fragment in a standard text page, thus using only a single layout file.</p>
<h3>Required Skin Structure</h3>
<p>As you may be aware, in v1.1 we changed the way SkyBlueCanvas skins and content publishing works. The new format gives the site designer much greater flexibility and makes content publishing simpler for the site owner. We did not want to break compatibility with the old skin format so SkyBlueCanvas can still deal with both. In order to determine which skin format is being used, SkyBlueCanvas looks for the HTML closing tag &lt;/html&gt; in the skin for whichever page is being rendered. If the closing tag is not present, SkyBlueCanvas assumes the skin is a legacy skin.</p>
<p>What this means to you when building a skin is that if you are building a skin following the new format (which you most likely will be), you must include the &lt;/html&gt; tag in the skin.{skin_name}.html file (as opposed to in a fragment).</p>
<h3>Standard Page Approach</h3>
<p>If you want to use a single page layout for all of your pages, you can create non-text or text and fragment pages, by using the in-text fragment call to load your fragment. It is very simple to do. Create a new page, for instance Contact, then in the text editor in the Page Manager,include the following token:</p>
<pre class="html">{plugin:fragment(contacts,view)}
</pre>
<h3>Content-specific Layout Approach</h3>
<p>If you prefer to use a content-specific layout (or page type), you can simply duplicate your standard page, but rather than include the page fragment call in the main content area:</p>
<pre class="html">&lt;!--#plugin:fragment(page,view)--&gt;
</pre>
<p>Replace it with the call to the fragment for that page:</p>
<pre class="html">&lt;!--#plugin:fragment(contacts,view)--&gt;
</pre>
<p>And that&#8217;s it. You now know how to convert just about any HTML theme, with an unlimited number of layouts, to work with SkyBlueCanvas.</p>
<h2>A Final Note</h2>
<p>In <span class="admin-path">Admin &gt; Pages &gt; Editor</span>, you will find a Page Type selector on the Meta Data tab. The options in this selector correspond to your HTML layout files. So if you have two layouts, <span class="file-name">skin.default.html</span> and <span class="file-name">skin.contact.html</span>, the Page Type selector will have the options default and contact. You will need to be sure to select the Page Type you wish SkyBlueCanvas to use to build each page.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skybluecanvas.com/skybluecanvas-lightweight-cms/converting-themes-skybluecanvas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

