# Source code is generated for a mobile theme add-on skeleton
Then follow generic `paster instructions for Plone <http://svn.plone.org/svn/collective/collective.developermanual/trunk/source/tutorials/paste.txt>`_ how to include
the generated source code egg in ``buildout.cfg``.
Writing your first theme
---------------------------
Theme layer is mobile aware
===========================
All mobile views and viewlets are registered against your theme layer, which is a sublass
of mobile layer - this way mobile views do not conflict with web views and cannot
be accidentally exposed to web. When you generate a new theme you will get ``.interfaces.IThemeLayer`` class
for this purpose.
Also there exists an old tyle skins layer folder for mobile specific page template overrides.
five.grok used
==============
gomobiletheme.basic uses five.grok for viewlets and static media.
For more information see `developer manual documentation regarding grok and five.grok <http://collective-docs.plone.org/components/grok.html>`_.
Overring the logo
======================
Change the generated gomobile.yourcompany.viewlets.Logo class.
In the example below we set it to use logo from our web theme.
If you a running a very simple site and you do not wish to override any resources
inherited from base theme package, you can use AdditionalHead viewlet
to mix in <head> resources without overriding existing ones.
No viewlet managers
===================
collective.fastview add-on is used to render viewlets directly and there are no viewlet managers in mobile theme.
All mobile viewlets are registered against viewlet manager gomobiletheme.basic.viewlets.MainViewletManager.
Image transformations
========================
* <img> images should be run through :doc:`mobile image resize </developer-manual/transformations>`
HTML content transformations
==============================
All template code which contains WYSIWYG editable HTML should run through
:doc:`HTML processor </developer-manual/transformations>` to make it mobile compatible.
Theme examples
-----------------------
One maintained public example exists
* plonecommunity.mobi `site <http://plonecommunity.mobi>`_ and the `source code <http://plonegomobile.googlecode.com/svn/trunk/gomobile/plonecommunity.app>`_
Plone 3 compatibility
---------------------------
``gomobiletheme.basic`` has some special arrangemenets