From 8aa9a9329edc90933b38de6a4fd4686199bbc090 Mon Sep 17 00:00:00 2001 From: Kevin Yap Date: Sat, 17 Jan 2015 16:19:37 -0800 Subject: [PATCH 1/2] Clarify that 'fs' date setting is a string --- docs/content.rst | 2 +- docs/settings.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/content.rst b/docs/content.rst index 12bd887f..b4292e69 100644 --- a/docs/content.rst +++ b/docs/content.rst @@ -91,7 +91,7 @@ via the ``keywords`` metadata, as is standard in HTML. The two can be used interchangeably. Note that, aside from the title, none of this article metadata is mandatory: -if the date is not specified and ``DEFAULT_DATE`` is set to ``fs``, Pelican +if the date is not specified and ``DEFAULT_DATE`` is set to ``'fs'``, Pelican will rely on the file's "mtime" timestamp, and the category can be determined by the directory in which the file resides. For example, a file located at ``python/foobar/myfoobar.rst`` will have a category of ``foobar``. If you would diff --git a/docs/settings.rst b/docs/settings.rst index 02f4359f..a0a41c29 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -58,7 +58,7 @@ Setting name (followed by default value, if any) template. Templates may or not honor this setting. ``DEFAULT_DATE = None`` The default date you want to use. - If ``fs``, Pelican will use the file system + If ``'fs'``, Pelican will use the file system timestamp information (mtime) if it can't get date information from the metadata. If set to a tuple object, the default datetime object will instead From 88ad46fd4dc0001fe51472a23b26b0e951424ca0 Mon Sep 17 00:00:00 2001 From: Kevin Yap Date: Sat, 17 Jan 2015 16:20:39 -0800 Subject: [PATCH 2/2] Change documented type of various settings - DEFUALT_METADATA, tuple -> dictionary - OUTPUT_RETENTION, tuple -> list - JINJA_FILTERS, list -> dictionary - DIRECT_TEMPLATES, tuple -> list --- docs/settings.rst | 23 +++++++++++------------ pelican/settings.py | 8 ++++---- pelican/tests/default_conf.py | 2 +- samples/pelican.conf.py | 2 +- samples/pelican.conf_FR.py | 2 +- 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/docs/settings.rst b/docs/settings.rst index a0a41c29..d7ba85cd 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -64,12 +64,11 @@ Setting name (followed by default value, if any) If set to a tuple object, the default datetime object will instead be generated by passing the tuple to the ``datetime.datetime`` constructor. -``DEFAULT_METADATA = ()`` The default metadata you want to use for all articles - and pages. +``DEFAULT_METADATA = {}`` The default metadata you want to use for all articles and pages. ``DOCUTILS_SETTINGS = {}`` Extra configuration settings for the docutils publisher - (applicable only to reStructuredText). See `Docutils + (applicable only to reStructuredText). See `Docutils Configuration`_ settings for more details. - + ``FILENAME_METADATA =`` ``'(?P\d{4}-\d{2}-\d{2}).*'`` The regexp that will be used to extract any metadata from the filename. All named groups that are matched will be set in the metadata object. @@ -90,11 +89,11 @@ Setting name (followed by default value, if any) generating new files. This can be useful in preventing older, unnecessary files from persisting in your output. However, **this is a destructive setting and should be handled with extreme care.** -``OUTPUT_RETENTION = ()`` A tuple of filenames that should be retained and not deleted from the +``OUTPUT_RETENTION = []`` A list of filenames that should be retained and not deleted from the output directory. One use case would be the preservation of version - control data. For example: ``(".hg", ".git", ".bzr")`` + control data. For example: ``[".hg", ".git", ".bzr"]`` ``JINJA_EXTENSIONS = []`` A list of any Jinja2 extensions you want to use. -``JINJA_FILTERS = {}`` A list of custom Jinja2 filters you want to use. +``JINJA_FILTERS = {}`` A dictionary of custom Jinja2 filters you want to use. The dictionary should map the filtername to the filter function. For example: ``{'urlencode': urlencode_filter}`` See `Jinja custom filters documentation`_. @@ -171,12 +170,12 @@ Setting name (followed by default value, if any) ``TYPOGRIFY_IGNORE_TAGS = []`` A list of tags for Typogrify to ignore. By default Typogrify will ignore ``pre`` and ``code`` tags. This requires that Typogrify version 2.0.4 or later is installed -``DIRECT_TEMPLATES =`` ``('index', 'categories', 'authors', 'archives')`` List of templates that are used directly to render +``DIRECT_TEMPLATES =`` ``['index', 'categories', 'authors', 'archives']`` List of templates that are used directly to render content. Typically direct templates are used to generate index pages for collections of content (e.g., tags and category index pages). If the tag and category collections - are not needed, set ``DIRECT_TEMPLATES = ('index', 'archives')`` -``PAGINATED_DIRECT_TEMPLATES = ('index',)`` Provides the direct templates that should be paginated. + are not needed, set ``DIRECT_TEMPLATES = ['index', 'archives']`` +``PAGINATED_DIRECT_TEMPLATES = ['index']`` Provides the direct templates that should be paginated. ``SUMMARY_MAX_LENGTH = 50`` When creating a short summary of an article, this will be the default length (measured in words) of the text created. This only applies if your content does not otherwise @@ -352,7 +351,7 @@ posts for the month at ``posts/2011/Aug/index.html``. arrive at an appropriate archive of posts, without having to specify a page name. -``DIRECT_TEMPLATES``, which are ``('index', 'tags', 'categories', 'archives')`` +``DIRECT_TEMPLATES``, which are ``['index', 'tags', 'categories', 'archives']`` by default, work a bit differently than noted above. Only the ``_SAVE_AS`` settings are available, but it is available for any direct template. @@ -394,7 +393,7 @@ Date format and locale If no ``DATE_FORMATS`` are set, Pelican will fall back to ``DEFAULT_DATE_FORMAT``. If you need to maintain multiple languages with different date formats, you can set the ``DATE_FORMATS`` dictionary using the -language name (``lang`` metadata in your post content) as the key. +language name (``lang`` metadata in your post content) as the key. In addition to the standard C89 strftime format codes that are listed in `Python strftime documentation`_, you can use ``-`` character between ``%`` and diff --git a/pelican/settings.py b/pelican/settings.py index 794733d7..a3d791b0 100644 --- a/pelican/settings.py +++ b/pelican/settings.py @@ -61,7 +61,7 @@ DEFAULT_CONFIG = { 'NEWEST_FIRST_ARCHIVES': True, 'REVERSE_CATEGORY_ORDER': False, 'DELETE_OUTPUT_DIRECTORY': False, - 'OUTPUT_RETENTION': (), + 'OUTPUT_RETENTION': [], 'ARTICLE_URL': '{slug}.html', 'ARTICLE_SAVE_AS': '{slug}.html', 'ARTICLE_ORDER_BY': 'slug', @@ -97,9 +97,9 @@ DEFAULT_CONFIG = { 'DEFAULT_LANG': 'en', 'TAG_CLOUD_STEPS': 4, 'TAG_CLOUD_MAX_ITEMS': 100, - 'DIRECT_TEMPLATES': ('index', 'tags', 'categories', 'authors', 'archives'), + 'DIRECT_TEMPLATES': ['index', 'tags', 'categories', 'authors', 'archives'], 'EXTRA_TEMPLATES_PATHS': [], - 'PAGINATED_DIRECT_TEMPLATES': ('index', ), + 'PAGINATED_DIRECT_TEMPLATES': ['index'], 'PELICAN_CLASS': 'pelican.Pelican', 'DEFAULT_DATE_FORMAT': '%a %d %B %Y', 'DATE_FORMATS': {}, @@ -110,7 +110,7 @@ DEFAULT_CONFIG = { 'LOCALE': [''], # defaults to user locale 'DEFAULT_PAGINATION': False, 'DEFAULT_ORPHANS': 0, - 'DEFAULT_METADATA': (), + 'DEFAULT_METADATA': {}, 'FILENAME_METADATA': '(?P\d{4}-\d{2}-\d{2}).*', 'PATH_METADATA': '', 'EXTRA_PATH_METADATA': {}, diff --git a/pelican/tests/default_conf.py b/pelican/tests/default_conf.py index 62594894..b4f532d4 100644 --- a/pelican/tests/default_conf.py +++ b/pelican/tests/default_conf.py @@ -26,7 +26,7 @@ SOCIAL = (('twitter', 'http://twitter.com/ametaireau'), ('github', 'http://github.com/ametaireau'),) # global metadata to all the contents -DEFAULT_METADATA = (('yeah', 'it is'),) +DEFAULT_METADATA = {'yeah': 'it is'} # path-specific metadata EXTRA_PATH_METADATA = { diff --git a/samples/pelican.conf.py b/samples/pelican.conf.py index d6a87923..98ae078a 100755 --- a/samples/pelican.conf.py +++ b/samples/pelican.conf.py @@ -32,7 +32,7 @@ SOCIAL = (('twitter', 'http://twitter.com/ametaireau'), ('github', 'http://github.com/ametaireau'),) # global metadata to all the contents -DEFAULT_METADATA = (('yeah', 'it is'),) +DEFAULT_METADATA = {'yeah': 'it is'} # path-specific metadata EXTRA_PATH_METADATA = { diff --git a/samples/pelican.conf_FR.py b/samples/pelican.conf_FR.py index 0c4ec60d..54b348c4 100644 --- a/samples/pelican.conf_FR.py +++ b/samples/pelican.conf_FR.py @@ -36,7 +36,7 @@ SOCIAL = (('twitter', 'http://twitter.com/ametaireau'), ('github', 'http://github.com/ametaireau'),) # global metadata to all the contents -DEFAULT_METADATA = (('yeah', 'it is'),) +DEFAULT_METADATA = {'yeah': 'it is'} # path-specific metadata EXTRA_PATH_METADATA = {