forked from ungleich-public/dynamicweb
635 lines
12 KiB
Python
635 lines
12 KiB
Python
"""
|
|
List of settings that can be set in project django settings.
|
|
"""
|
|
|
|
from django.utils.translation import gettext_lazy as _
|
|
from meta import settings as meta_settings
|
|
|
|
MENU_TYPE_COMPLETE = "complete"
|
|
MENU_TYPE_CATEGORIES = "categories"
|
|
MENU_TYPE_POSTS = "posts"
|
|
MENU_TYPE_NONE = "none"
|
|
DATE_FORMAT = "%a %d %b %Y %H:%M"
|
|
|
|
PERMALINK_TYPE_FULL_DATE = "full_date"
|
|
PERMALINK_TYPE_SHORT_DATE = "short_date"
|
|
PERMALINK_TYPE_CATEGORY = "category"
|
|
PERMALINK_TYPE_SLUG = "slug"
|
|
|
|
BLOG_DEFAULT_PUBLISHED = False
|
|
"""
|
|
.. _DEFAULT_PUBLISHED:
|
|
|
|
Default post published status.
|
|
"""
|
|
|
|
PERMALINKS = ( # noqa
|
|
(PERMALINK_TYPE_FULL_DATE, _("Full date")),
|
|
(PERMALINK_TYPE_SHORT_DATE, _("Year / Month")),
|
|
(PERMALINK_TYPE_CATEGORY, _("Category")),
|
|
(PERMALINK_TYPE_SLUG, _("Just slug")),
|
|
)
|
|
"""
|
|
.. _PERMALINKS:
|
|
|
|
Permalinks styles.
|
|
"""
|
|
|
|
BLOG_UNICODE_SLUGS = True
|
|
"""
|
|
.. _UNICODE_SLUGS:
|
|
|
|
Allow unicode chars in auto-generated slugs.
|
|
"""
|
|
|
|
|
|
PERMALINKS_URLS = { # noqa
|
|
PERMALINK_TYPE_FULL_DATE: "<int:year>/<int:month>/<int:day>/<str:slug>/",
|
|
PERMALINK_TYPE_SHORT_DATE: "<int:year>/<int:month>/<str:slug>/",
|
|
PERMALINK_TYPE_CATEGORY: "<str:category>/<str:slug>/",
|
|
PERMALINK_TYPE_SLUG: "<str:slug>/",
|
|
}
|
|
|
|
"""
|
|
.. _PERMALINKS_URLS:
|
|
|
|
Permalinks urlconfs.
|
|
"""
|
|
|
|
MENU_TYPES = ( # noqa
|
|
(MENU_TYPE_COMPLETE, _("Categories and posts")),
|
|
(MENU_TYPE_CATEGORIES, _("Categories only")),
|
|
(MENU_TYPE_POSTS, _("Posts only")),
|
|
(MENU_TYPE_NONE, _("None")),
|
|
)
|
|
"""
|
|
.. _DEFAULT_MENU_TYPES:
|
|
|
|
Types of menu structure.
|
|
"""
|
|
|
|
SITEMAP_CHANGEFREQ_LIST = ( # noqa
|
|
("always", _("always")),
|
|
("hourly", _("hourly")),
|
|
("daily", _("daily")),
|
|
("weekly", _("weekly")),
|
|
("monthly", _("monthly")),
|
|
("yearly", _("yearly")),
|
|
("never", _("never")),
|
|
)
|
|
"""
|
|
.. _SITEMAP_CHANGEFREQ_LIST:
|
|
|
|
List of changefreqs defined in sitemaps.
|
|
"""
|
|
|
|
BLOG_IMAGE_THUMBNAIL_SIZE = {"size": "120x120", "crop": True, "upscale": False}
|
|
"""
|
|
.. _IMAGE_THUMBNAIL_SIZE:
|
|
|
|
Easy-thumbnail alias configuration for the post main image when shown on the post lists;
|
|
it's a dictionary with ``size``, ``crop`` and ``upscale`` keys.
|
|
"""
|
|
|
|
BLOG_IMAGE_FULL_SIZE = {"size": "640", "crop": True, "upscale": False}
|
|
"""
|
|
.. _IMAGE_FULL_SIZE:
|
|
|
|
Easy-thumbnail alias configuration for the post main image when shown on the post detail;
|
|
it's a dictionary with ``size``, ``crop`` and ``upscale`` keys.
|
|
"""
|
|
|
|
BLOG_META_IMAGE_SIZE = None
|
|
"""
|
|
.. _META_IMAGE_SIZE:
|
|
|
|
Easy-thumbnail alias configuration for the post meta image;
|
|
it's a dictionary with ``size``, ``crop`` and ``upscale`` keys.
|
|
Recommended values are {"size": (1200, 630), "crop": True, "upscale": False}
|
|
"""
|
|
|
|
BLOG_URLCONF = "djangocms_blog.urls"
|
|
"""
|
|
.. _URLCONF:
|
|
|
|
Standard Apphook URLConf.
|
|
"""
|
|
|
|
BLOG_PAGINATION = 10
|
|
"""
|
|
.. _PAGINATION:
|
|
|
|
Number of post per page.
|
|
"""
|
|
|
|
BLOG_LATEST_POSTS = 5
|
|
"""
|
|
.. _LATEST_POSTS:
|
|
|
|
Default number of post in the **Latest post** plugin.
|
|
"""
|
|
|
|
BLOG_POSTS_LIST_TRUNCWORDS_COUNT = 100
|
|
"""
|
|
.. _POSTS_LIST_TRUNCWORDS_COUNT:
|
|
|
|
Default number of words shown for abstract in the post list.
|
|
"""
|
|
|
|
BLOG_META_DESCRIPTION_LENGTH = 320
|
|
"""
|
|
.. _META_DESCRIPTION_LENGTH:
|
|
|
|
Maximum length for the Meta description field.
|
|
"""
|
|
|
|
BLOG_META_TITLE_LENGTH = 70
|
|
"""
|
|
.. _META_TITLE_LENGTH:
|
|
|
|
Maximum length for the Meta title field.
|
|
"""
|
|
|
|
BLOG_MENU_TYPES = MENU_TYPES
|
|
"""
|
|
.. _MENU_TYPES:
|
|
|
|
List of available menu types.
|
|
"""
|
|
|
|
BLOG_MENU_EMPTY_CATEGORIES = True
|
|
"""
|
|
.. _MENU_EMPTY_CATEGORIES:
|
|
|
|
Flag to show / hide categories without posts attached from the menu.
|
|
"""
|
|
|
|
BLOG_TYPE = "Article"
|
|
"""
|
|
.. _TYPE:
|
|
|
|
Generic type for the post object.
|
|
"""
|
|
|
|
BLOG_TYPES = meta_settings.OBJECT_TYPES
|
|
"""
|
|
.. _TYPES:
|
|
|
|
Choices of available blog types.
|
|
|
|
Available values are defined in to ``META_OBJECT_TYPES`` defined in `django-meta settings`_.
|
|
"""
|
|
|
|
BLOG_FB_TYPE = "Article"
|
|
"""
|
|
.. _FB_TYPE:
|
|
|
|
Open Graph type for the post object.
|
|
"""
|
|
|
|
BLOG_FB_TYPES = meta_settings.FB_TYPES
|
|
"""
|
|
.. _FB_TYPES:
|
|
|
|
Choices of available blog types.
|
|
|
|
Available values are defined in to ``META_FB_TYPES`` defined in `django-meta settings`_.
|
|
"""
|
|
|
|
BLOG_FB_APPID = meta_settings.get_setting("FB_APPID")
|
|
"""
|
|
.. _FB_APPID:
|
|
|
|
Facebook Application ID.
|
|
|
|
Default from ``FB_APPID`` defined in `django-meta settings`_.
|
|
"""
|
|
|
|
BLOG_FB_PROFILE_ID = meta_settings.get_setting("FB_PROFILE_ID")
|
|
"""
|
|
.. _FB_PROFILE_ID:
|
|
|
|
Facebook profile ID of the post author.
|
|
|
|
Default from ``FB_PROFILE_ID`` defined in `django-meta settings`_.
|
|
"""
|
|
|
|
BLOG_FB_PUBLISHER = meta_settings.get_setting("FB_PUBLISHER")
|
|
"""
|
|
.. _FB_PUBLISHER:
|
|
|
|
Facebook URL of the blog publisher.
|
|
|
|
Default from ``FB_PUBLISHER`` defined in `django-meta settings`_.
|
|
"""
|
|
|
|
BLOG_FB_AUTHOR_URL = "get_author_url"
|
|
"""
|
|
.. _FB_AUTHOR_URL:
|
|
|
|
Facebook profile URL of the post author.
|
|
"""
|
|
|
|
BLOG_FB_AUTHOR = "get_author_name"
|
|
"""
|
|
.. _FB_AUTHOR:
|
|
|
|
Facebook profile URL of the post author.
|
|
"""
|
|
|
|
BLOG_TWITTER_TYPE = "summary"
|
|
"""
|
|
.. _TWITTER_TYPE:
|
|
|
|
Twitter Card type for the post object.
|
|
"""
|
|
|
|
BLOG_TWITTER_TYPES = meta_settings.TWITTER_TYPES
|
|
"""
|
|
.. _TWITTER_TYPES:
|
|
|
|
Choices of available blog types for twitter.
|
|
|
|
Default from ``TWITTER_TYPES`` defined in `django-meta settings`_.
|
|
"""
|
|
|
|
BLOG_TWITTER_SITE = meta_settings.get_setting("TWITTER_SITE")
|
|
"""
|
|
.. _TWITTER_SITE:
|
|
|
|
Twitter account of the site.
|
|
|
|
Default from ``TWITTER_SITE`` defined in `django-meta settings`_.
|
|
"""
|
|
|
|
BLOG_TWITTER_AUTHOR = "get_author_twitter"
|
|
"""
|
|
.. _TWITTER_AUTHOR:
|
|
|
|
Twitter account of the post author.
|
|
"""
|
|
|
|
BLOG_SCHEMAORG_TYPE = "Blog"
|
|
"""
|
|
.. _SCHEMAORG_TYPE:
|
|
|
|
Schema.org type for the post object.
|
|
"""
|
|
|
|
BLOG_SCHEMAORG_TYPES = meta_settings.SCHEMAORG_TYPES
|
|
"""
|
|
.. _SCHEMAORG_TYPES:
|
|
|
|
Choices of available Schema.org types.
|
|
|
|
Default from ``SCHEMAORG_TYPES`` defined in `django-meta settings`_.
|
|
"""
|
|
|
|
BLOG_SCHEMAORG_AUTHOR = "get_author_schemaorg"
|
|
"""
|
|
.. _SCHEMAORG_AUTHOR:
|
|
|
|
Google+ account of the post author (deprecated).
|
|
"""
|
|
|
|
BLOG_ENABLE_COMMENTS = True
|
|
"""
|
|
.. _ENABLE_COMMENTS:
|
|
|
|
Whether to enable comments by default on posts
|
|
|
|
While ``djangocms_blog`` does not ship any comment system, this flag
|
|
can be used to control the chosen comments framework.
|
|
"""
|
|
|
|
BLOG_USE_ABSTRACT = True
|
|
"""
|
|
.. _USE_ABSTRACT:
|
|
|
|
Use an abstract field for the post.
|
|
|
|
If ``False`` no abstract field is available for posts.
|
|
"""
|
|
|
|
BLOG_USE_PLACEHOLDER = True
|
|
"""
|
|
.. _USE_PLACEHOLDER:
|
|
|
|
Post content is managed via placeholder
|
|
|
|
If ``False`` a HTMLField is provided instead.
|
|
"""
|
|
|
|
BLOG_USE_RELATED = True
|
|
"""
|
|
.. _USE_RELATED:
|
|
|
|
Enable related posts to link one post to others.
|
|
"""
|
|
|
|
BLOG_MULTISITE = True
|
|
"""
|
|
.. _MULTISITE:
|
|
|
|
Add support for multisite setup.
|
|
"""
|
|
|
|
BLOG_AUTHOR_DEFAULT = True
|
|
"""
|
|
.. _AUTHOR_DEFAULT:
|
|
|
|
Use a default if not specified:
|
|
|
|
* ``True``: the current user is set as the default author;
|
|
* ``False``: no default author is set;
|
|
* any other string: the user with the provided username is used;
|
|
"""
|
|
|
|
BLOG_ADMIN_POST_FIELDSET_FILTER = False
|
|
"""
|
|
.. _ADMIN_POST_FIELDSET_FILTER:
|
|
|
|
Callable function to change (add or filter) fields to fieldsets for admin post edit form.
|
|
|
|
See :ref:`admin_filter_function` for more details.
|
|
"""
|
|
|
|
BLOG_AVAILABLE_PERMALINK_STYLES = PERMALINKS
|
|
"""
|
|
.. _AVAILABLE_PERMALINK_STYLES:
|
|
|
|
Choices of permalinks styles.
|
|
"""
|
|
|
|
BLOG_PERMALINK_URLS = PERMALINKS_URLS
|
|
"""
|
|
.. _PERMALINK_URLS:
|
|
|
|
URLConf corresponding to :ref:`BLOG_AVAILABLE_PERMALINK_STYLES <AVAILABLE_PERMALINK_STYLES>`.
|
|
"""
|
|
|
|
BLOG_DEFAULT_OBJECT_NAME = "Article"
|
|
"""
|
|
.. _DEFAULT_OBJECT_NAME:
|
|
|
|
Default label for Blog item (used in django CMS Wizard).
|
|
"""
|
|
|
|
BLOG_AUTO_SETUP = True
|
|
"""
|
|
.. _AUTO_SETUP:
|
|
|
|
Enable the blog :ref:`auto_setup` feature.
|
|
"""
|
|
|
|
BLOG_AUTO_HOME_TITLE = "Home"
|
|
"""
|
|
.. _AUTO_HOME_TITLE:
|
|
|
|
Title of the home page created by :ref:`auto_setup`.
|
|
"""
|
|
|
|
BLOG_AUTO_BLOG_TITLE = "Blog"
|
|
"""
|
|
.. _AUTO_BLOG_TITLE:
|
|
|
|
Title of the blog page created by :ref:`auto_setup`.
|
|
"""
|
|
|
|
BLOG_AUTO_APP_TITLE = "Blog"
|
|
"""
|
|
.. _AUTO_APP_TITLE:
|
|
|
|
Title of the ``BlogConfig`` instance created by :ref:`auto_setup`.
|
|
"""
|
|
|
|
BLOG_AUTO_NAMESPACE = "Blog"
|
|
"""
|
|
.. _AUTO_NAMESPACE:
|
|
|
|
Namespace of the ``BlogConfig`` instance created by :ref:`auto_setup`.
|
|
"""
|
|
|
|
BLOG_SITEMAP_PRIORITY_DEFAULT = "0.5"
|
|
"""
|
|
.. _SITEMAP_PRIORITY_DEFAULT:
|
|
|
|
Default priority for sitemap items.
|
|
"""
|
|
|
|
BLOG_SITEMAP_CHANGEFREQ = SITEMAP_CHANGEFREQ_LIST
|
|
"""
|
|
.. _SITEMAP_CHANGEFREQ:
|
|
|
|
List for available changefreqs for sitemap items.
|
|
"""
|
|
|
|
BLOG_SITEMAP_CHANGEFREQ_DEFAULT = "monthly"
|
|
"""
|
|
.. _SITEMAP_CHANGEFREQ_DEFAULT:
|
|
|
|
Default changefreq for sitemap items.
|
|
"""
|
|
|
|
BLOG_ABSTRACT_CKEDITOR = True
|
|
"""
|
|
.. _ABSTRACT_CKEDITOR:
|
|
|
|
Configuration for the CKEditor of the abstract field.
|
|
|
|
See https://github.com/divio/djangocms-text-ckeditor/#customizing-htmlfield-editor for details.
|
|
"""
|
|
|
|
BLOG_POST_TEXT_CKEDITOR = True
|
|
"""
|
|
.. _POST_TEXT_CKEDITOR:
|
|
|
|
Configuration for the CKEditor of the post content field.
|
|
|
|
See https://github.com/divio/djangocms-text-ckeditor/#customizing-htmlfield-editor for details.
|
|
"""
|
|
|
|
BLOG_ENABLE_SEARCH = True
|
|
"""
|
|
.. _ENABLE_SEARCH:
|
|
|
|
Enable ``aldryn-search`` (i.e.: ``django-haystack``) indexes.
|
|
"""
|
|
|
|
BLOG_CURRENT_POST_IDENTIFIER = "djangocms_post_current"
|
|
"""
|
|
.. _CURRENT_POST_IDENTIFIER:
|
|
|
|
Current post identifier in request.
|
|
|
|
Name of the request attribute used in :py:class:`djangocms_blog.cms_toolbars.BlogToolbar` to detect if
|
|
request match a post detail.
|
|
"""
|
|
|
|
BLOG_CURRENT_NAMESPACE = "djangocms_post_current_config"
|
|
"""
|
|
.. _CURRENT_NAMESPACE:
|
|
|
|
Current post config identifier in request.
|
|
|
|
Name of the request attribute used in :py:class:`djangocms_blog.cms_toolbars.BlogToolbar` to detect the
|
|
current apphook namespace.
|
|
"""
|
|
|
|
BLOG_ENABLE_THROUGH_TOOLBAR_MENU = False
|
|
"""
|
|
.. _ENABLE_THROUGH_TOOLBAR_MENU:
|
|
|
|
Show djangocms-blog toolbar in any page, even when outside the blog apphooks.
|
|
"""
|
|
|
|
BLOG_PLUGIN_MODULE_NAME = _("Blog")
|
|
"""
|
|
.. _PLUGIN_MODULE_NAME:
|
|
|
|
Name of the djangocms-blog plugins module (group).
|
|
"""
|
|
|
|
BLOG_LATEST_ENTRIES_PLUGIN_NAME = _("Latest Blog Articles")
|
|
"""
|
|
.. _LATEST_ENTRIES_PLUGIN_NAME:
|
|
|
|
Name of the plugin showing the list of latest posts.
|
|
"""
|
|
|
|
BLOG_LATEST_ENTRIES_PLUGIN_NAME_CACHED = _("Latest Blog Articles - Cache")
|
|
"""
|
|
.. _LATEST_ENTRIES_PLUGIN_NAME_CACHED:
|
|
|
|
Name of the plugin showing the list of latest posts (cached version).
|
|
"""
|
|
|
|
BLOG_AUTHOR_POSTS_PLUGIN_NAME = _("Author Blog Articles")
|
|
"""
|
|
.. _AUTHOR_POSTS_PLUGIN_NAME:
|
|
|
|
Name of the plugin showing the list of blog posts authors.
|
|
"""
|
|
|
|
BLOG_AUTHOR_POSTS_LIST_PLUGIN_NAME = _("Author Blog Articles List")
|
|
"""
|
|
.. _AUTHOR_POSTS_LIST_PLUGIN_NAME:
|
|
|
|
Name of the plugin showing the list of posts per authors.
|
|
"""
|
|
|
|
BLOG_TAGS_PLUGIN_NAME = _("Tags")
|
|
"""
|
|
.. _TAGS_PLUGIN_NAME:
|
|
|
|
Name of the plugin showing the tag blog cloud.
|
|
"""
|
|
|
|
BLOG_CATEGORY_PLUGIN_NAME = _("Categories")
|
|
"""
|
|
.. _CATEGORY_PLUGIN_NAME:
|
|
|
|
Name of the plugin showing the list of blog categories.
|
|
"""
|
|
|
|
BLOG_ARCHIVE_PLUGIN_NAME = _("Archive")
|
|
"""
|
|
.. _ARCHIVE_PLUGIN_NAME:
|
|
|
|
Name of the plugin showing the blog archive index.
|
|
"""
|
|
|
|
BLOG_FEATURED_POSTS_PLUGIN_NAME = _("Featured Posts")
|
|
"""
|
|
.. _FEATURED_POSTS_PLUGIN_NAME:
|
|
|
|
Name of the plugin showing the selected posts.
|
|
"""
|
|
|
|
BLOG_FEATURED_POSTS_PLUGIN_NAME_CACHED = _("Featured Posts - Cache")
|
|
"""
|
|
.. _FEATURED_POSTS_PLUGIN_NAME_CACHED:
|
|
|
|
Name of the plugin showing the selected posts (cached version).
|
|
"""
|
|
|
|
BLOG_FEED_CACHE_TIMEOUT = 3600
|
|
"""
|
|
.. _FEED_CACHE_TIMEOUT:
|
|
|
|
Cache timeout for RSS feeds.
|
|
"""
|
|
|
|
BLOG_FEED_INSTANT_ITEMS = 50
|
|
"""
|
|
.. _FEED_INSTANT_ITEMS:
|
|
|
|
Number of items in Instant Article feed.
|
|
"""
|
|
|
|
BLOG_FEED_LATEST_ITEMS = 10
|
|
"""
|
|
.. _FEED_LATEST_ITEMS:
|
|
|
|
Number of items in latest items feed.
|
|
"""
|
|
|
|
BLOG_FEED_TAGS_ITEMS = 10
|
|
"""
|
|
.. _FEED_TAGS_ITEMS:
|
|
|
|
Number of items in per tags feed.
|
|
"""
|
|
|
|
BLOG_LIVEBLOG_PLUGINS = ("LiveblogPlugin",)
|
|
"""
|
|
.. _LIVEBLOG_PLUGINS:
|
|
|
|
List of plugins implementing the :ref:`liveblog` feature.
|
|
"""
|
|
|
|
BLOG_PLUGIN_TEMPLATE_FOLDERS = (("plugins", _("Default template")),)
|
|
"""
|
|
.. _PLUGIN_TEMPLATE_FOLDERS:
|
|
|
|
(Sub-)folder from which the plugin templates are loaded.
|
|
|
|
The default folder is ``plugins``.
|
|
|
|
See :ref:`plugin_templates` for more details.
|
|
"""
|
|
|
|
BLOG_USE_FALLBACK_LANGUAGE_IN_URL = False
|
|
"""
|
|
.. _USE_FALLBACK_LANGUAGE_IN_URL:
|
|
|
|
When displaying URL, prefer URL in the fallback language if an article or category is not available in the
|
|
current language.
|
|
"""
|
|
|
|
BLOG_WIZARD_CONTENT_PLUGIN = "TextPlugin"
|
|
"""
|
|
.. _WIZARD_CONTENT_PLUGIN:
|
|
|
|
Name of the plugin created by wizard for the text content.
|
|
"""
|
|
|
|
BLOG_WIZARD_CONTENT_PLUGIN_BODY = "body"
|
|
"""
|
|
.. _WIZARD_CONTENT_PLUGIN_BODY:
|
|
|
|
Name of the plugin field to add wizard text.
|
|
"""
|
|
|
|
params = {param: value for param, value in locals().items() if param.startswith("BLOG_")}
|
|
|
|
"""
|
|
.. _django-meta settings: https://github.com/nephila/django-meta#settings
|
|
"""
|
|
|
|
|
|
def get_setting(name):
|
|
"""Get setting value from django settings with fallback to globals defaults."""
|
|
from django.conf import settings
|
|
|
|
return getattr(settings, "BLOG_%s" % name, params["BLOG_%s" % name])
|