About TGApp-Smallpress
-------------------------

SmallPress is a Pluggable Minimalistic Blog for TurboGears2.
It implements articles with Attachments and Tags support.
Uses CKEditor for content editing.

Installing
-------------------------------

tgapp-smallpress can be installed both from pypi or from bitbucket::

    easy_install tgapp-smallpress

should just work for most of the users

Plugging Smallpress
----------------------------

In your application *config/app_cfg.py* import **plug**::

    from tgext.pluggable import plug

Then at the *end of the file* call plug with smallpress::

    plug(base_config, 'smallpress')

Run **paster setup-app development.ini** again to create
the tables related to smallpress and start the application.
You will be able to access the blog section at
*http://localhost:8080/smallpress*. Management gui
will be available when logged with an user inside
the *smallpress* Group.

Enabling Whoosh Indexing
----------------------------

SmallPress has bult in posts indexing whoosh based.
If you have Whoosh installed it will be used to perform indexing of
the articles for better lookup in search functions.

When enabled Whoosh will store its index into */tmp/smallpress_whoosh*
you can change this path by changing the `smallpress_whoosh_index`
variable in your configuration file.

Multiple Blogs Support
---------------------------

By default smallpress will work with only one blog, but it supports
a preliminary multiple blogs implementation. Search and TagCloud will
be shared by all the blogs, but it is possible to filter the articles
of only one blog and manage only its articles.

To create a blog access */smallpress/blogs* and create a new one,
you will then be able to access the subblog and manage it by accessing
*/smallpress/blogname*

Exposed Partials
----------------------

Smallpress exposed a bunch of partials which can be used
to render pieces of the blogging system anywhere in your
application:

    * **smallpress.partials:articles** -> Renders the list of articles

    * **smallpress.partials:article_preview** -> Renders the preview of an article

    * **smallpress.partials:tagcloud** -> Renders the blog tagcloud section

    * **smallpress.partials:search** -> Renders the blog search section

    * **smallpress.partials.excerpts** -> Renders excerpts of a list of articles

    * **smallpress.partials.excerpt** -> Renders the excerpt of an article

Available Hooks
----------------------

Smallpress exposes some hooks and options to configure its
aspects.

Options that can be passed to the **plug** call:

    * **form** -> Full python path of the form class to use for the Article form. By default *smallpress.lib.forms.ArticleForm* is used.

The hooks that can be used with TurboGears2 *register_hook* are:

    * **smallpress.before_create_article(article, values)** -> Runs before the creation of an article

    * **smallpress.after_create_article(article, values)** -> Runs after the creation of an article, makes possible to set additional data for newly created articles

    * **smallpress.before_edit_article(article, values)** -> Runs before displaying the edit article form, makes possible to load additional form values

    * **smallpress.before_save_article(article, values)** -> Runs before saving the article after it got edited, makes possible to update additional data for the article.