pelicanconf.py - Pfade und Metadaten

Pfade

# paths
PATH = 'content'
PAGE_PATHS = ['pages']
BLOG_PATH = 'blog/'
ARTICLE_PATHS = [ BLOG_PATH ]
#output
OUTPUT_PATH = 'output/'
DELETE_OUTPUT_DIRECTORY = True

METADATA

#metadata
PATH_METADATA= '(?P<path_first_dir>([^/]*[/])?)(?P<path_no_ext>(.+/)?)(?P<path_filename_no_ext>[^/]*)\..*'
FILENAME_METADATA = r'(?P<sortprefix>([0-9][0-9][_])?)(?P<date>\d{4}-\d{2}-\d{2})[_](?P<slug>[a-zA-Z][a-zA-Z0-9_-]*)(\.(?P<lang>[a-z]{2,3}))?\Z'

Mit path_first_dir schneide ich das Verzeichnis aus PAGE_PATHSbzw. ARTICLE_PATHS ab, welche deshalb natürlich keinen "/" enthalten dürfen. Mit path_no_ext kann ich dann die Seiten direkt ins Webroot legen.

Mit sortprefix wird ein eventuelles Sortierungsprefix abgeschnitten. date, slug und lang werden alle aus dem Dateinamen entnommen.

Damit bauen sich dann die Ausgabe-Pfade und URLs auf:

#output paths und urls
PAGE_SAVE_AS= '{path_no_ext}{slug}.html'
PAGE_URL= '{path_no_ext}{slug}.html'
PAGE_LANG_URL = '{path_no_ext}{slug}.{lang}.html'
PAGE_LANG_SAVE_AS = '{path_no_ext}{slug}.{lang}.html'
# URLs (blogging)
ARTICLE_URL = BLOG_PATH + '{path_no_ext}{path_filename_no_ext}.html'
ARTICLE_SAVE_AS = BLOG_PATH + '{path_no_ext}{path_filename_no_ext}.html'
ARTICLE_LANG_URL = BLOG_PATH + '{path_no_ext}{path_filename_no_ext}.html'
ARTICLE_LANG_SAVE_AS = BLOG_PATH + '{path_no_ext}{path_filename_no_ext}.html'
INDEX_URL = BLOG_PATH + 'index.html'
INDEX_SAVE_AS = BLOG_PATH + 'index.html'
INDEX_LANG_URL = BLOG_PATH + 'index.{lang}.html'
INDEX_LANG_SAVE_AS = BLOG_PATH + 'index.{lang}.html'
CATEGORY_URL = BLOG_PATH + 'category/{slug}.html'
CATEGORY_SAVE_AS = BLOG_PATH + 'category/{slug}.html'
CATEGORIES_SAVE_AS = BLOG_PATH + 'categories.html'

Copyright © 2016 Uwe Ritzmann - Erstellt mit Pelican, Python und Skeleton.