Skip to content

designguide theme packaging

Violet edited this page Dec 6, 2010 · 1 revision

MTDG: Theme Packaging

In Melody a theme is a type of plugin that defines one or more sets of templates that a user can later apply to their blog or website quickly and easily. As with plugins, the heart of every theme in Melody is a configuration file, named config.yaml, which defines all of a theme's various characteristics, including a list of all the templates the theme contains and utilizes. In addition, this configuration file is responsible for defining:

  • Any configuration options associated with a theme.
  • Any blog settings and/or preferences that a theme relies upon to operate properly.

In addition to this configuration file, and the templates a theme utilizes, a theme must also contain all of the javascript, CSS, images and other static files needed by your website.

With this in mind, you can therefore think of a theme being broken into two groups of files: program files (which includes your config file, your templates, and any other library or "code" your theme relies on) and static files (files that must be web accessible).

MyTheme-1.0/
    plugins/
        MyTheme/
            config.yaml
            static/
                js/
                    theme.js
                css/
                    reset.css
                    theme.css
            templates/
                theme1/
                    files...
                theme2/
                    files...

The structure mentioned above should be immediately apparent. At the top of the directory tree in the example above is a folder called MyTheme-1.0, which typically bears the theme's name and its version number. This is the one folder that is created after unzipping your newly downloaded theme and it contains all of the files needed by the theme.

Continue Reading

 

Category: Guide

Tags: theme design


Questions, comments, can't find something? Let us know at our community outpost on Get Satisfaction.

Credits

  • Author: Byrne Reese
  • Edited by: Violet Bliss Dietz
Clone this wiki locally