<commit_before>#############
Configuration
#############

django-cms doesn't come with a lot of features out-of-the-box. But with 
a few settings you can extend it to an enterprise ready solution. All settings
described here should be found in cms/settings.py or in any installed plugin's 
folder (if it has a settings.py file)

Required Settings
=================

CMS_TEMPLATES
--------------

A list of the templates you can select for a page.

Example::

	CMS_TEMPLATES = (
		('base.html', gettext('default')),
		('2col.html', gettext('2 Column')),
		('3col.html', gettext('3 Column')),
		('extra.html', gettext('Some extra fancy template')),
	)
	

Basic Customization
===================

CMS_TEMPLATE_INHERITANCE
------------------------

``Optional``

Example::

    CMS_TEMPLATE_INHERITANCE = True

If this is enabled, pages have the additional template option to inherit their
template from the nearest ancestor. Adding new pages defaults to this if the
new page is not a root page.

CMS_PLACEHOLDER_CONF
----------------------

Is used to configure the placeholders.

``Optional``

Example::

	CMS_PLACEHOLDER_CONF = {
		'content': {
			'plugins': ('TextPlugin', 'PicturePlugin'),
			'text_only_plugins': ('LinkPlugin',)
			'extra_context': {"width":640},
			'name':gettext("Content"),
		},
		'right-column': {
			"plugins": ('TeaserPlugin', 'LinkPlugin'),
			"extra_context": {"width":280},
			'name':gettext("Right Column"),
			'limits': {
				'global': 2,
				'TeaserPlugin': 1,
				'LinkPlugin': 1,
			},
		},
		'base.html content': {
			"plugins": {'TextPlugin', 'PicturePlugin', 'TeaserPlugin'}
		},
	}

You can combine template names and placeholder names to granually define the<commit_msg>- Changed double backticks to emphasis :)<commit_after>#############
Configuration
#############

django-cms doesn't come with a lot of features out-of-the-box. But with 
a few settings you can extend it to an enterprise ready solution. All settings
described here should be found in cms/settings.py or in any installed plugin's 
folder (if it has a settings.py file)

Required Settings
=================

CMS_TEMPLATES
--------------

A list of the templates you can select for a page.

Example::

	CMS_TEMPLATES = (
		('base.html', gettext('default')),
		('2col.html', gettext('2 Column')),
		('3col.html', gettext('3 Column')),
		('extra.html', gettext('Some extra fancy template')),
	)
	

Basic Customization
===================

CMS_TEMPLATE_INHERITANCE
------------------------

*Optional*

Example::

    CMS_TEMPLATE_INHERITANCE = True

If this is enabled, pages have the additional template option to inherit their
template from the nearest ancestor. Adding new pages defaults to this if the
new page is not a root page.

CMS_PLACEHOLDER_CONF
----------------------

Is used to configure the placeholders.

*Optional*

Example::

	CMS_PLACEHOLDER_CONF = {
		'content': {
			'plugins': ('TextPlugin', 'PicturePlugin'),
			'text_only_plugins': ('LinkPlugin',)
			'extra_context': {"width":640},
			'name':gettext("Content"),
		},
		'right-column': {
			"plugins": ('TeaserPlugin', 'LinkPlugin'),
			"extra_context": {"width":280},
			'name':gettext("Right Column"),
			'limits': {
				'global': 2,
				'TeaserPlugin': 1,
				'LinkPlugin': 1,
			},
		},
		'base.html content': {
			"plugins": {'TextPlugin', 'PicturePlugin', 'TeaserPlugin'}
		},
	}

You can combine template names and placeholder names to granually define the
{'fraction_non_alphanumeric': 0.1875, 'fraction_numerical': 0.007558139534883721, 'mean_word_length': 3.7527624309392267, 'pattern_counts': {'":': 10, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, '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': '773746', 'n_tokens_mistral': 1164, 'n_tokens_neox': 1022, 'n_words': 339}