mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
Added USE_FOLDER_AS_CATEGORY setting.
This allows users to organize their files in ways where the subfolder name would not make a good category name (i.e. /2012/09/). Set this to ``False`` and the subfolder will no longer be used as a standard category, `DEFAULT_CATEGORY` will be used instead.
This commit is contained in:
parent
a282499055
commit
47c972e21a
5 changed files with 17 additions and 6 deletions
|
|
@ -176,7 +176,9 @@ Note that, aside from the title, none of this metadata is mandatory: if the date
|
||||||
is not specified, Pelican will rely on the file's "mtime" timestamp, and the
|
is not specified, Pelican will rely on the file's "mtime" timestamp, and the
|
||||||
category can be determined by the directory in which the file resides. For
|
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
|
example, a file located at ``python/foobar/myfoobar.rst`` will have a category of
|
||||||
``foobar``.
|
``foobar``. If you would like to organize your files in other ways where the
|
||||||
|
name of the subfolder would not be a good category name, you can set the
|
||||||
|
setting ``USE_FOLDER_AS_CATEGORY`` to ``False``.
|
||||||
|
|
||||||
Generate your blog
|
Generate your blog
|
||||||
------------------
|
------------------
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,10 @@ Setting name (default value) What doe
|
||||||
`DATE_FORMATS` (``{}``) If you do manage multiple languages, you can
|
`DATE_FORMATS` (``{}``) If you do manage multiple languages, you can
|
||||||
set the date formatting here. See "Date format and locales"
|
set the date formatting here. See "Date format and locales"
|
||||||
section below for details.
|
section below for details.
|
||||||
|
`USE_FOLDER_AS_CATEGORY` (``True``) When you don't specify a category in your post metadata and set this
|
||||||
|
setting to ``True`` and organize your articles in subfolders, the
|
||||||
|
subfolder will become the category of your post. If set to ``False``
|
||||||
|
``DEFAULT_CATEGORY`` will be used as a fallback.
|
||||||
`DEFAULT_CATEGORY` (``'misc'``) The default category to fall back on.
|
`DEFAULT_CATEGORY` (``'misc'``) The default category to fall back on.
|
||||||
`DEFAULT_DATE_FORMAT` (``'%a %d %B %Y'``) The default date format you want to use.
|
`DEFAULT_DATE_FORMAT` (``'%a %d %B %Y'``) The default date format you want to use.
|
||||||
`DISPLAY_PAGES_ON_MENU` (``True``) Whether to display pages on the menu of the
|
`DISPLAY_PAGES_ON_MENU` (``True``) Whether to display pages on the menu of the
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,8 @@ class Page(object):
|
||||||
'lang': getattr(self, 'lang', 'en'),
|
'lang': getattr(self, 'lang', 'en'),
|
||||||
'date': getattr(self, 'date', datetime.now()),
|
'date': getattr(self, 'date', datetime.now()),
|
||||||
'author': self.author,
|
'author': self.author,
|
||||||
'category': getattr(self, 'category', 'misc'),
|
'category': getattr(self, 'category',
|
||||||
|
self.settings['DEFAULT_CATEGORY']),
|
||||||
}
|
}
|
||||||
|
|
||||||
def _expand_settings(self, key):
|
def _expand_settings(self, key):
|
||||||
|
|
|
||||||
|
|
@ -280,11 +280,14 @@ class ArticlesGenerator(Generator):
|
||||||
# if no category is set, use the name of the path as a category
|
# if no category is set, use the name of the path as a category
|
||||||
if 'category' not in metadata:
|
if 'category' not in metadata:
|
||||||
|
|
||||||
if os.path.dirname(f) == article_path: # if the article is not in a subdirectory
|
if (self.settings['USE_FOLDER_AS_CATEGORY']
|
||||||
category = self.settings['DEFAULT_CATEGORY']
|
and os.path.dirname(f) != article_path):
|
||||||
else:
|
# if the article is in a subdirectory
|
||||||
category = os.path.basename(os.path.dirname(f))\
|
category = os.path.basename(os.path.dirname(f))\
|
||||||
.decode('utf-8')
|
.decode('utf-8')
|
||||||
|
else:
|
||||||
|
# if the article is not in a subdirectory
|
||||||
|
category = self.settings['DEFAULT_CATEGORY']
|
||||||
|
|
||||||
if category != '':
|
if category != '':
|
||||||
metadata['category'] = Category(category, self.settings)
|
metadata['category'] = Category(category, self.settings)
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ _DEFAULT_CONFIG = {'PATH': '.',
|
||||||
'PDF_GENERATOR': False,
|
'PDF_GENERATOR': False,
|
||||||
'OUTPUT_SOURCES': False,
|
'OUTPUT_SOURCES': False,
|
||||||
'OUTPUT_SOURCES_EXTENSION': '.text',
|
'OUTPUT_SOURCES_EXTENSION': '.text',
|
||||||
|
'USE_FOLDER_AS_CATEGORY': True,
|
||||||
'DEFAULT_CATEGORY': 'misc',
|
'DEFAULT_CATEGORY': 'misc',
|
||||||
'DEFAULT_DATE': 'fs',
|
'DEFAULT_DATE': 'fs',
|
||||||
'WITH_FUTURE_DATES': True,
|
'WITH_FUTURE_DATES': True,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue