# paths
PATH = 'content'
PAGE_PATHS = ['pages']
BLOG_PATH = 'blog/'
ARTICLE_PATHS = [ BLOG_PATH ]
#output
OUTPUT_PATH = 'output/'
DELETE_OUTPUT_DIRECTORY = True
#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'
path_first_dir cuts off the directory from PAGE_PATHS or ARTICLE_PATHS.
Hence these are not allowed to contain "/".
path_no_ext then serves to place the pages into the web root.
sortprefix cut off an optional sort prefix. date, slug and lang are all
derived from the file names.
With these pieces the output paths and URLs are constructed:
#output paths and 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'