# stacks-page

A Stacks application for generating static HTML pages. Stacks is an in-development, open-source initiative of WGBH (http://www.wgbh.org/)

## Dependencies

* `django-versatileimagefield` >= 1.0.2
* `django-textplusstuff` >= 0.4

## Release Notes

### 0.3

* Added `published` queryset.
* Made static file publishing code more easily importable.

### 0.2.3

* Added the page section slug to the global `extra_context`.

### 0.2.2

* Finessed how modules/renditions receive their social_share_text from a StacksPageSection. If StacksPageSection.social_share_text is populated that's what will be used. If StacksPageSection.social_share_text is empty, its associated modules/renditions will use the global page share text (PageSection.page.social_share_text.

### 0.2.1

* Added new `STACKSPAGE_TEMPLATES` setting.
* Added "Can edit Stacks Page 'Live URL' values" permission.

### 0.2

* Added 'keywords' field to `StacksPage` model.

### 0.1.1

* Including templates in pypi release.

### 0.1

* Initial open source release

## Required Settings

### `STACKSPAGE_TEMPLATES`

Default:

```
STACKSPAGE_TEMPLATES = (
    ('stacks_page/default_page_template.html', 'Default Page Template'),
)
```

A list of templates you can select for a page.

Example:

```
STACKSPAGE_TEMPLATES = (
    ('path/to/template_file.html', 'Human Readable Template Name'),
    ('path/to/another/template_file.html', 'Human Readable Template Name #2'),
)
```

### `STACKSPAGE_STATIC_PUBLISH_SERVERS`

Used to define servers where pages can be published to.

```
STACKSPAGE_STATIC_PUBLISH_SERVERS = {
    'staging': {
        'server': 'user@staging_server',
        'webroot_folder': '/absolute/path/to/webroot/on/server',
        'base_url': 'http://staging.somesite.com'
    },
    'production': {
        'server': 'user@prod_server',
        'webroot_folder': '/absolute/path/to/webroot/on/server',
        'base_url': 'http://www.somesite.com'
    }
}
```

TODO: Document 'path_processor'!

### `STACKSPAGE_BUILD_DIRECTORY`

A path on local disc where statically generated StacksPage instances
should be saved-to.

```
STACKSPAGE_BUILD_DIRECTORY = '/path/to/folder'
```

For local development, you'll probably want to set this dynamically. The following code will create a directory named `stackspage_build` at the same level as your project's settings file:

```
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__)
STACKSPAGE_BUILD_DIRECTORY = os.path.join(BASE_DIR, 'stackspage_build')
```

### `STACKSPAGE_URL_PREFIX`

The path your Stacks application is running from, defaults to '/'.
