{% verbatim %}
Django CMS Themes
=================

Django CMS Themes at django-cms-themes.com, Copyright (c) 2017 Nuwa Information
Co., Ltd, All Rights Reserved.

This file is also a valid Markdown format.

Getting Started
---------------

To use this theme, you can simply use setup.py to do it all for you.

```
# Activate your virtualenv if needed.

# Please change my_cms_project_path to your django CMS project path.
python setup.py my_cms_project_path
```

Our setup.py will copy all required files to your project and load required 
database records (cms pages, plugins..etc.).

See 
```
python setup.py -h
```
for more details and options.

### Prerequisites

Django CMS 3.4+ is required. You can install this theme to existed project, 
a new Django CMS 3.4+ project or let setup.py create project for you.

Preferred method: Let setup.py do it all for you. Our setup.py will try to 
install all required libraries and create Django CMS project for you.

If you want to create a new Django CMS project manually, you can follow the 
Django CMS tutorial: 
http://docs.django-cms.org/en/release-3.4.x/introduction/index.html#tutorials

Or you can create a environment then install all required libraries:
```
cmsplugin-filer>=1.1
dj-database-url==0.4.1
Django==1.8.18
django-appconf==1.0.2
django-classy-tags==0.7.2
django-cms==3.4.2
django-filer==1.2.4
django-formtools==1.0
django-mptt==0.8.5
django-polymorphic==0.8.1
django-reversion==1.8.7
django-sekizai>=0.9
django-select2<5.0six
django-treebeard>=4.0,<5.0
djangocms-admin-style>=1.2,<1.3
djangocms-attributes-field==0.1.1
djangocms-video>=2.0
djangocms-column>=1.6
djangocms-flash==0.3.0
djangocms-googlemap>=0.5
djangocms-inherit==0.2.1
djangocms-installer==0.8.11
djangocms-link>=1.8
djangocms-style>=1.7
djangocms-text-ckeditor>=3.2.1
djangocms-snippet>=1.9
easy_thumbnails
html5lib>=0.999999,<0.99999999
Pillow>=3.0
pytz==2016.6.1
six==1.10.0
tzlocal==1.2.2
Unidecode==0.4.19
```

Instructions:

* Save the requirements below to requirements.txt.
* Create virtualenv and activate it.

```
pip install -r requirements.txt
django-admin startproject mysite
```
* Follow the instructions at http://docs.django-cms.org/en/stable/how_to/install.html

* Finally, install theme.
```
cd theme_path 
python setup.py mysite_path
```
Please change [mysite], [theme_path] and [mysite_path].

Programmer and User mode
---------------

There is an interesting option -m (mode), default is programmer mode.
In programmer mode, all placeholders have a pre-built plugin which makes user
can modify its content from pages. But if user removes the plugin, the default
content still shows because {% placeholder 'id' or %}. Sometimes this is not an 
expected behavior. 

You can use user mode to change this:
```
python setup.py -m user my_cms_project_path 
```
This will install templates which only use {% placeholder %}. All the default 
contents will be placed inside plugins, user can remove plugins to remove the 
block of content. This will be very convenient mode to ship pages to user.
The side effect is the HTML templates will be simplifed to only have required 
blocks.

Notes:
---------------

The main purpose of theme is to save a lot of your time/efforts as much as 
possible. The final goal is to deliver a theme which can be provided to your 
user/client without any modification. But it is not prefect now, you might need 
to modify HTML templates for your need. Don't worry it is easy, you can modify 
it as normal Django template. So you can change background images, JavaScript 
behaviors and anything you want. We just done all tedious jobs for you, no any 
restriction or magic. :)

There are a lot of useful plugins for Django CMS. We just use default plugins 
to minimize dependencies. It is good idea to integrate blog, picture and 
history plugins ...etc. It's up to you.

Known Issues:
---------------

* Under Django CMS edit mode, there might be some differences. This is caused by Django CMS, it's normal.
* Some templates attach events on HTML elements, this may cause you unable to edit it directly on frontend, you can edit the plugin content under structure mode.
* Menu detection is not supported yet, but you can simply edit the menu list on frontend and change link/anchor.
* If template designer use images within css style, it may not be editable at frontend. This depends on templates. You can easily change image directly or change css for your need.

{% endverbatim %}