diff --git a/docs/settings.rst b/docs/settings.rst index 0b3b7034..282ce912 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -32,6 +32,8 @@ Setting name (default value) what does it do? `DEFAULT_CATEGORY` (``'misc'``) The default category to fallback on. `DEFAULT_DATE_FORMAT` (``'%a %d %B %Y'``) The default date format you want to use. `DEFAULT_LANG` (``'en'``) The default language to use. +`DEFAULT_METADATA` (``()``) A list containing the default metadata for + each content (articles, pages, etc.) `DEFAULT_ORPHANS` (0) The minimum number of articles allowed on the last page. Use this when you don't want to have a last page with very few articles. diff --git a/pelican/contents.py b/pelican/contents.py index dc6bfceb..886cfdb2 100644 --- a/pelican/contents.py +++ b/pelican/contents.py @@ -16,7 +16,10 @@ class Page(object): self.translations = [] self.status = "published" # default value - for key, value in metadatas.items(): + + local_metadata = dict(settings['DEFAULT_METADATA']) + local_metadata.update(metadatas) + for key, value in local_metadata.items(): setattr(self, key.lower(), value) if not hasattr(self, 'author'): diff --git a/pelican/settings.py b/pelican/settings.py index 76a2d3e9..c42a8bb0 100644 --- a/pelican/settings.py +++ b/pelican/settings.py @@ -37,6 +37,7 @@ _DEFAULT_CONFIG = {'PATH': None, 'WITH_PAGINATION': False, 'DEFAULT_PAGINATION': 5, 'DEFAULT_ORPHANS': 0, + 'DEFAULT_METADATA': (), } def read_settings(filename): diff --git a/samples/content/cat1/article1.rst b/samples/content/cat1/article1.rst index 4789543b..1148a8f9 100644 --- a/samples/content/cat1/article1.rst +++ b/samples/content/cat1/article1.rst @@ -2,5 +2,6 @@ Article 1 ######### :date: 2011-02-17 +:yeah: oh yeah ! Article 1 diff --git a/samples/pelican.conf.py b/samples/pelican.conf.py index 07c49d01..20eb1605 100755 --- a/samples/pelican.conf.py +++ b/samples/pelican.conf.py @@ -24,4 +24,7 @@ SOCIAL = (('twitter', 'http://twitter.com/ametaireau'), ('lastfm', 'http://lastfm.com/user/akounet'), ('github', 'http://github.com/ametaireau'),) +# global metadata to all the contents +DEFAULT_METADATA = (('yeah', 'it is'),) + STATIC_PATHS = ["pictures",]