#!/usr/bin/env python # -*- coding: utf-8 -*- # AUTHOR = 'Anaïs Berck' SITENAME = 'moonwalks.be' SITEURL = '' PATH = 'content' # Feed generation is usually not desired when developing FEED_ALL_ATOM = None CATEGORY_FEED_ATOM = None TRANSLATION_FEED_ATOM = None AUTHOR_FEED_ATOM = None AUTHOR_FEED_RSS = None # Blogroll LINKS = (('Pelican', 'https://getpelican.com/'), ('Python.org', 'https://www.python.org/'), ('Jinja2', 'https://palletsprojects.com/p/jinja/'), ('You can modify those links in your config file', '#'),) # Social widget SOCIAL = (('You can add links in your config file', '#'), ('Another social link', '#'),) DEFAULT_PAGINATION = False # Uncomment following line if you want document-relative URLs when developing # RELATIVE_URLS = True # CUSTOM PAREMETERS # ============================================================================== # a page work like that 1 md file = 1 template # an article for like that # theme path THEME = 'theme' # ARCHITECTURE # ============================================================================== # 3 categories (calendar, projects, gallery) # those categories serves as navigation (in base.html): # - iterate through the list to generate nav menu # - put as active if current article category is cat menu item # every category is exactly one template USE_FOLDER_AS_CATEGORY = True ARTICLE_PATHS = ['projects/'] # exclude articles outside of this # however we add the metadata "save_as: '' " to the calendar/ one # so they're available through the articles variable, but not saved as independant file # (status: hidden) does the opposite (save the page, but unlist it) ARTICLE_SAVE_AS = '{category}/{slug}.html' ARTICLE_URL = '/{category}/{slug}.html' ARTICLE_LANG_SAVE_AS = '{category}/{slug}_{lang}.html' ARTICLE_LANG_URL = '/{category}/{slug}_{lang}.html' # pages have no category PAGE_PATHS = ['pages/', 'flyer/'] PAGE_SAVE_AS = '{slug}.html' PAGE_URL = '/{slug}.html' PAGE_LANG_SAVE_AS = '{slug}_{lang}.html' PAGE_LANG_URL = '/{slug}_{lang}.html' SLUGIFY_SOURCE = 'title' CATEGORY_URL = '{slug}/' # disable the generation of those default html files CATEGORY_SAVE_AS = '' AUTHOR_SAVE_AS = '' TAG_SAVE_AS = '' # the "collections" type html pages that we want # DIRECT_TEMPLATES = ['index', 'authors', 'categories', 'tags', 'archives'] # because gallery and even index is a page # (this allow to have translation for index_fr, index_nl, etc) DIRECT_TEMPLATES = [] # to copy every image to the output direction STATIC_PATHS = ['gallery'] MENUITEMS = [ # ("calendar", "/index.html"), ] # TRANSLATION # ============================================================================== # only article in this lang will be listed by default DEFAULT_LANG = 'en' # two article with same slug are considered as translation: # ARTICLE_TRANSLATION_ID = 'slug' # by default slug is generated from title: # SLUGIFY_SOURCE = 'title' # which means the translated article have to have the same title # but the title is going to be translated, so by default # the best way is to setup slug metadata manually so it fit the english slugification PAGE_TRANSLATION_ID = 'slug' # DATE # ============================================================================== TIMEZONE = 'Europe/Paris' # by default pelican asks for a date for every article (?) DEFAULT_DATE = 'fs' # PLUGINS # ============================================================================== PLUGIN_PATHS = ['plugins'] PLUGINS = ['html-comment-sections', 'data_files', 'gallery','image_process','multilang-json-page'] # --- quotes-sections (self made) # separate an article when meeting # put the first section in the article.content variable # put the second section in the article.quotes variable # TODO: generalize it for every short text in comment as different "section" # --- data_files (from: https://github.com/LucasVanHaaren/pelican-data-files, with custom added YAML support) # by parse the json and yaml file in the data/ directory and add them tp the context # as object with name "DATA_[filename]" DATA_FILES_DIR = "calendar/" # --- gallery # create a GALLERY global variable list of urls for img contained in the /gallery/ folder # and parse their exifs data to add the date on which they were taken # --- image_process (from: https://github.com/pelican-plugins/image-process) # note: we can add the class manually in the html template (and not in the markdown) IMAGE_PROCESS = { # reminder on srctset # https://www.youtube.com/watch?v=2QYpkrX2N48&ab_channel=KevinPowell # our gallery html element varies between # 300 and 500 browser pixels width # so on 1x devices we give it a 500px image to be sure "gallery": { "type": "responsive-image", # Here we could actually precise the size of the html element with media query # then we have to replace the 1x, 2x with actual px width of the image element # "sizes": ( # "500px" # ), "srcset": [ # first parameter is to inform the browser of the image file size (with the w unit) # or just precising the display subpixel type # !before! it has to actually download the image ("1x", ["scale_in 500 500 True"]), ("2x", ["scale_in 1000 1000 True"]) ], "default": "1x" } }