Making your own Theme: Difference between revisions


mNo edit summary
No edit summary
 
(25 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__NOTOC__
This article is intended to help you understand what you can do when creating a theme for website builder . At the minimum, a website builder theme consists of a default layout (called default.html) and a directory named assets which contains all the images, css, javascript, flash, etc. [[Making_your_own_Theme_using_Multiple_Layouts|Multiple layouts]] can be created simply by making new html files.
 
This article is intended to help you understand what you can do when creating a theme for Viviti.
 


==Content Replacement Rules==
==Content Replacement Rules==


Content replacement is done by using some simple CSS selectors. (http://www.w3.org/TR/REC-CSS2/selector.html)
Content replacement is done by using some simple CSS selectors. (http://www.w3.org/TR/REC-CSS2/selector.html)




'''Required elements are:'''
'''The only required element is:'''


{| class="wikitable sortable" border=1 cellspacing=0 cellpadding=3
|-
! style="background:#C0C0C0" | Selector
! style="background:#C0C0C0" | Description
! style="background:#C0C0C0" | Example
! style="background:#C0C0C0" | More Information
|-
| <source lang="html4strict">#location_0.location</source>
| Content replaced with page components
| <source lang="html4strict"><div id="location_0" class="location"></div></source>
| [[Content Locations | Details]]
|}


<source lang="html4strict">
<br>
#site_heading          Content replaced with the site heading        example: <h1 id="site_heading"></h1>
'''Recommended elements are:'''
     
#site_subheading        Content replaced with site subheading        example: <h2 id="site_subheading"></h2>
     
#location_0.location    Content replaced with page components        example: <div id="location_0" class="location"></div>
     
#primary_navigation    Content replaced with navigation (UL>LI>A)    example: <div id="primary_navigation></div>
     
#copyright              Content replaced with copyright text          example: <div id="copyright"></div>
</source>   


{| class="wikitable sortable" border=1 cellspacing=0 cellpadding=3
|-
! style="background:#C0C0C0" | Selector
! style="background:#C0C0C0" | Description
! style="background:#C0C0C0" | Example
! style="background:#C0C0C0" | More Information
|-
| <source lang="html4strict">#site_heading</source>
| Content replaced with the site heading
| <source lang="html4strict"><h1 id="site_heading"></h1></source>
| [[Site Heading | Details]]
|-
| <source lang="html4strict">#site_subheading</source>
| Content replaced with the site subheading
| <source lang="html4strict"><h2 id="site_subheading"></h2></source>
| [[Site Sub-Heading | Details]]
|-
| <source lang="html4strict">#primary_navigation</source>
| Content replaced with navigation (UL>LI>A)
| <source lang="html4strict"><div id="primary_navigation"></div></source>
| [[Primary Navigation | Details]]
|-
| <source lang="html4strict">#copyright</source>
| Content replaced with copyright text
| <source lang="html4strict"><div id="copyright"></div></source>
| [[Copyright | Details]]
|}


<br>
'''Optional elements are:'''
'''Optional elements are:'''
<source lang="html4strict">
 
#page_name             Content replaced with active page name       example: <div id="page_name"></div>
{| class="wikitable sortable" border=1 cellspacing=0 cellpadding=3
     
|-
#location_N.location   Content replaced with components             example: <div id="location_1" class="location"></div>
! style="background:#C0C0C0" | Selector
</source>
! style="background:#C0C0C0" | Description
! style="background:#C0C0C0" | Example
! style="background:#C0C0C0" | More Information
|-
| <source lang="html4strict">#page_name</source>
| Content replaced with active page name
| <source lang="html4strict"><div id="page_name"></div></source>
| [[Page Name | Details]]
|-
| <source lang="html4strict">#location_N.location</source>
| Content replaced with components
| <source lang="html4strict"><div id="location_1" class="location"></div></source>
| [[Content Locations | Details]]
|}




* All content areas should be a #location_N.location which will allow content to be added and drag and dropped to/from the area.   


* All content areas should be a #location_N.location which will allow content to be added and drag and dropped to/from the area.
   
* You can create as many of these as you want, just make sure you give them a unique location id (#location_1, #location_2, etc.)
* You can create as many of these as you want, just make sure you give them a unique location id (#location_1, #location_2, etc.)


* Any content inside any of these elements will be replaced, so feel free to put placeholder content in to assist you in designing your theme!
* Any content inside any of these elements will be replaced, so feel free to put placeholder content in to assist you in designing your theme!


==Other Notes==
 
      
      
====Assets - Images, CSS, Flash, Javascript, etc.====
==Assets==
        
        
You can use whatever you want to make your website how you want it - the only rule is that these files have to reside inside the 'assets' folder. that's it!  
You can use whatever you want to make your website how you want it - the only rule is that these files have to reside inside the 'assets' folder. that's it!  
        
        
The assets folder will be uploaded as-is to the document root of your website (http://yoursite.viviti.com/assets)  
The assets folder will be uploaded as-is to the document root of your website <nowiki>(http://yoursite.com/assets)</nowiki>
        
        
Link to them relatively (src='assets/file.jpg') to make it easier for you to work on locally, and we will fix them to be absolute when the theme is uploaded to ensure everything works with nested pages.
Link to them relatively (src='assets/file.jpg') to make it easier for you to work on locally, and we will fix them to be absolute when the theme is uploaded to ensure everything works with nested pages.


====Base Stylesheet====
==Base Stylesheet==
        
        
A 'base' stylesheet will be always be included which contains some basic CSS declarations for some very basic styling of various elements (form elements with errors, various component-specific stuff, etc.).  
A 'base' stylesheet will be always be included which contains some basic CSS declarations for some very basic styling of various elements (form elements with errors, various component-specific stuff, etc).  
   


This will always be inserted before your stylesheets to ensure you can override anything you need.  
This will always be inserted before your stylesheets to ensure you can override anything you need.  


You can view it at: http://blog.viviti.com/stylesheets/base.css
You can view it at: http://builderexample.com/stylesheets/base.css


==Titles and Headings==


====Powered By Viviti====
When titles and headings are inserted they will be wrapped in a span. The span will not appear if there is not title set, which allows you to style things differently if text has been omitted - but still giving you an element that always appears in that location regardless of the text being empty or not. (Useful for rounded corners, graphical boxes around components, etc.)
     
The following div will be injected right after your copyright (#copyright):


<source lang="html4strict">
==Installing==
<div id="powered_by"><a href=""><img src="/images/viviti_badge.png"/></a></div>
</source>
 
 
We would love it if you leave it there and use the id to style it so it fits into your site nicely, but if you really don't want it you can always add the following to your stylesheet to make it go away: #powered_by { display: none }
 
Also, if you create a #powered_by element we will simply leave it there and not add the default. This allows you to make a more appropriate #powered_by (text only, different image, whatever you want!) for your site.
   
====Titles and Headings====


When titles and headings are inserted they will be wrapped in a span. The span will not appear if there is not title set, which allows you to style things differently if text has been omitted - but still giving you an element that always appears in that location regardless of the text being empty or not. (Useful for rounded corners, graphical boxes around components, etc.)
When you are ready to upload your custom theme, please see the [[Installing Your Theme]] article.


==Further Reading==


More information is available on the [[Creating Website Builder Themes]] page.


[[Category:Creating Viviti Themes]]
[[Category:Creating Website Builder Themes]]

Latest revision as of 15:11, 16 November 2010

This article is intended to help you understand what you can do when creating a theme for website builder . At the minimum, a website builder theme consists of a default layout (called default.html) and a directory named assets which contains all the images, css, javascript, flash, etc. Multiple layouts can be created simply by making new html files.

Content Replacement Rules

Content replacement is done by using some simple CSS selectors. (http://www.w3.org/TR/REC-CSS2/selector.html)


The only required element is:

Selector Description Example More Information
#location_0.location
Content replaced with page components
<div id="location_0" class="location"></div>
Details


Recommended elements are:

Selector Description Example More Information
#site_heading
Content replaced with the site heading
<h1 id="site_heading"></h1>
Details
#site_subheading
Content replaced with the site subheading
<h2 id="site_subheading"></h2>
Details
#primary_navigation
Content replaced with navigation (UL>LI>A)
<div id="primary_navigation"></div>
Details
#copyright
Content replaced with copyright text
<div id="copyright"></div>
Details


Optional elements are:

Selector Description Example More Information
#page_name
Content replaced with active page name
<div id="page_name"></div>
Details
#location_N.location
Content replaced with components
<div id="location_1" class="location"></div>
Details


  • All content areas should be a #location_N.location which will allow content to be added and drag and dropped to/from the area.
  • You can create as many of these as you want, just make sure you give them a unique location id (#location_1, #location_2, etc.)
  • Any content inside any of these elements will be replaced, so feel free to put placeholder content in to assist you in designing your theme!


Assets

You can use whatever you want to make your website how you want it - the only rule is that these files have to reside inside the 'assets' folder. that's it!

The assets folder will be uploaded as-is to the document root of your website (http://yoursite.com/assets)

Link to them relatively (src='assets/file.jpg') to make it easier for you to work on locally, and we will fix them to be absolute when the theme is uploaded to ensure everything works with nested pages.

Base Stylesheet

A 'base' stylesheet will be always be included which contains some basic CSS declarations for some very basic styling of various elements (form elements with errors, various component-specific stuff, etc).

This will always be inserted before your stylesheets to ensure you can override anything you need.

You can view it at: http://builderexample.com/stylesheets/base.css

Titles and Headings

When titles and headings are inserted they will be wrapped in a span. The span will not appear if there is not title set, which allows you to style things differently if text has been omitted - but still giving you an element that always appears in that location regardless of the text being empty or not. (Useful for rounded corners, graphical boxes around components, etc.)

Installing

When you are ready to upload your custom theme, please see the Installing Your Theme article.

Further Reading

More information is available on the Creating Website Builder Themes page.