<commit_before>Flask Editable Site
===================

A template for building a small marketing web site in `Flask
<http://flask.pocoo.org/>`_ where all content is live editable.

This app includes front- and back-end utilites for live / in-place editing of several different field types:

- **Short text:** a regular text field with (AJAX-based) auto-save
- **Rich text:** a ``textarea`` converted to WYSIWYG (powered by `Dante <http://michelson.github.io/Dante/>`_) with auto-save
- **Image:** a file field converted to a drag-and-drop live image upload widget (powered by `Dropzone.js <http://www.dropzonejs.com/>`_)
- **Date/time:** a regular text field converted to a date/time picker with auto-save

It also includes utilities for adding to, re-ordering, and deleting from lists of content items (all via in-place editing).

Here's a `demo of the app in action
<https://flask-editablesite.herokuapp.com/>`_.

This project is still **under active development**. I hope to have it mainly finished within the next week or so (as of 14 Oct 2015).

The aim of this app is to demonstrate that, with the help of modern JS libraries, and with some well-thought-out server-side snippets, it's now perfectly possible to "bake in" live in-place editing for virtually every content element in a typical brochureware site.

This app is not a CMS. On the contrary, think of it as a proof-of-concept alternative to a CMS. An alternative where there's no "admin area", there's no "editing mode", and there's no "preview button". There's only direct manipulation.

"Template" means that this is a sample app. It comes with a bunch of models that work out-of-the-box (e.g. text content block, image content block, gallery item, event). However, these are just a starting point: you can and should define your own models when building a real site. Same with the front-end templates: the home page layout and the CSS styles are just examples.


Quickstart
----------

First, set your app's secret key as an environment variable. For example, add the following to ``.bashrc`` or ``.bash_profile`` ::

    export FLASK_EDITABLESITE_SECRET='something-really-secret'

Then run the following commands to bootstrap your environment ::

    git clone https://github.com/Jaza/flask-editablesite
    cd flask-editablesite
    pip install -r requirements/dev.txt

Before running the app, you'll need to either specify DB config, or enable session store mode. See instructions further down for details on either of these. Then you can run the app with this command ::

    python manage.py server

You will see a pretty welcome screen.

<commit_msg>remove 'under development' message from readme<commit_after>Flask Editable Site
===================

A template for building a small marketing web site in `Flask
<http://flask.pocoo.org/>`_ where all content is live editable.

This app includes front- and back-end utilites for live / in-place editing of several different field types:

- **Short text:** a regular text field with (AJAX-based) auto-save
- **Rich text:** a ``textarea`` converted to WYSIWYG (powered by `Dante <http://michelson.github.io/Dante/>`_) with auto-save
- **Image:** a file field converted to a drag-and-drop live image upload widget (powered by `Dropzone.js <http://www.dropzonejs.com/>`_)
- **Date/time:** a regular text field converted to a date/time picker with auto-save

It also includes utilities for adding to, re-ordering, and deleting from lists of content items (all via in-place editing).

Here's a `demo of the app in action
<https://flask-editablesite.herokuapp.com/>`_.

The aim of this app is to demonstrate that, with the help of modern JS libraries, and with some well-thought-out server-side snippets, it's now perfectly possible to "bake in" live in-place editing for virtually every content element in a typical brochureware site.

This app is not a CMS. On the contrary, think of it as a proof-of-concept alternative to a CMS. An alternative where there's no "admin area", there's no "editing mode", and there's no "preview button". There's only direct manipulation.

"Template" means that this is a sample app. It comes with a bunch of models that work out-of-the-box (e.g. text content block, image content block, gallery item, event). However, these are just a starting point: you can and should define your own models when building a real site. Same with the front-end templates: the home page layout and the CSS styles are just examples.


Quickstart
----------

First, set your app's secret key as an environment variable. For example, add the following to ``.bashrc`` or ``.bash_profile`` ::

    export FLASK_EDITABLESITE_SECRET='something-really-secret'

Then run the following commands to bootstrap your environment ::

    git clone https://github.com/Jaza/flask-editablesite
    cd flask-editablesite
    pip install -r requirements/dev.txt

Before running the app, you'll need to either specify DB config, or enable session store mode. See instructions further down for details on either of these. Then you can run the app with this command ::

    python manage.py server

You will see a pretty welcome screen.


{'fraction_non_alphanumeric': 0.08932038834951456, 'fraction_numerical': 0.0011650485436893205, 'mean_word_length': 4.1101190476190474, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2032631', 'n_tokens_mistral': 1416, 'n_tokens_neox': 1348, 'n_words': 720}