|
# -*- coding: utf-8 -*-
|
|
|
|
import time
|
|
|
|
# !! This is the configuration of Nikola. !! #
|
|
# !! You should edit it to your liking. !! #
|
|
|
|
|
|
# ! Some settings can be different in different languages.
|
|
# ! A comment stating (translatable) is used to denote those.
|
|
# ! There are two ways to specify a translatable setting:
|
|
# ! (a) BLOG_TITLE = "My Blog"
|
|
# ! (b) BLOG_TITLE = {"en": "My Blog", "es": "Mi Blog"}
|
|
# ! Option (a) is used when you don't want that setting translated.
|
|
# ! Option (b) is used for settings that are different in different languages.
|
|
|
|
|
|
# Data about this site
|
|
BLOG_AUTHOR = "Your Name" # (translatable)
|
|
BLOG_TITLE = "Demo Site" # (translatable)
|
|
# This is the main URL for your site. It will be used
|
|
# in a prominent link. Don't forget the protocol (http/https)!
|
|
SITE_URL = "https://example.com/"
|
|
# This is the URL where Nikola's output will be deployed.
|
|
# If not set, defaults to SITE_URL
|
|
# BASE_URL = "https://example.com/"
|
|
BLOG_EMAIL = "[email protected]"
|
|
BLOG_DESCRIPTION = "This is a demo site for Nikola." # (translatable)
|
|
|
|
# Nikola is multilingual!
|
|
#
|
|
# Currently supported languages are:
|
|
#
|
|
# en English
|
|
# af Afrikaans
|
|
# ar Arabic
|
|
# az Azerbaijani
|
|
# bg Bulgarian
|
|
# bs Bosnian
|
|
# ca Catalan
|
|
# cs Czech [ALTERNATIVELY cz]
|
|
# da Danish
|
|
# de German
|
|
# el Greek [NOT gr]
|
|
# eo Esperanto
|
|
# es Spanish
|
|
# et Estonian
|
|
# eu Basque
|
|
# fa Persian
|
|
# fi Finnish
|
|
# fr French
|
|
# fur Friulian
|
|
# gl Galician
|
|
# he Hebrew
|
|
# hi Hindi
|
|
# hr Croatian
|
|
# hu Hungarian
|
|
# ia Interlingua
|
|
# id Indonesian
|
|
# it Italian
|
|
# ja Japanese [NOT jp]
|
|
# ko Korean
|
|
# lt Lithuanian
|
|
# mi Maori
|
|
# ml Malayalam
|
|
# mr Marathi
|
|
# nb Norwegian (Bokmål)
|
|
# nl Dutch
|
|
# oc Occitan
|
|
# pa Punjabi
|
|
# pl Polish
|
|
# pt Portuguese
|
|
# pt_br Portuguese (Brazil)
|
|
# ru Russian
|
|
# sk Slovak
|
|
# sl Slovene
|
|
# sq Albanian
|
|
# sr Serbian (Cyrillic)
|
|
# sr_latin Serbian (Latin)
|
|
# sv Swedish
|
|
# te Telugu
|
|
# th Thai
|
|
# tr Turkish [NOT tr_TR]
|
|
# uk Ukrainian
|
|
# ur Urdu
|
|
# vi Vietnamese
|
|
# zh_cn Chinese (Simplified)
|
|
# zh_tw Chinese (Traditional)
|
|
#
|
|
# If you want to use Nikola with a non-supported language you have to provide
|
|
# a module containing the necessary translations
|
|
# (cf. the modules at nikola/data/themes/base/messages/).
|
|
# If a specific post is not translated to a language, then the version
|
|
# in the default language will be shown instead.
|
|
|
|
# What is the default language?
|
|
DEFAULT_LANG = "en"
|
|
|
|
# What other languages do you have?
|
|
# The format is {"translationcode" : "path/to/translation" }
|
|
# the path will be used as a prefix for the generated pages location
|
|
TRANSLATIONS = {
|
|
DEFAULT_LANG: "",
|
|
# Example for another language:
|
|
# "es": "./es",
|
|
}
|
|
|
|
# What will translated input files be named like?
|
|
|
|
# If you have a page something.rst, then something.pl.rst will be considered
|
|
# its Polish translation.
|
|
# (in the above example: path == "something", ext == "rst", lang == "pl")
|
|
# this pattern is also used for metadata:
|
|
# something.meta -> something.pl.meta
|
|
|
|
TRANSLATIONS_PATTERN = '{path}.{lang}.{ext}'
|
|
|
|
# Links for the sidebar / navigation bar. (translatable)
|
|
# This is a dict. The keys are languages, and values are tuples.
|
|
#
|
|
# For regular links:
|
|
# ('https://getnikola.com/', 'Nikola Homepage')
|
|
#
|
|
# For submenus:
|
|
# (
|
|
# (
|
|
# ('https://apple.com/', 'Apple'),
|
|
# ('https://orange.com/', 'Orange'),
|
|
# ),
|
|
# 'Fruits'
|
|
# )
|
|
#
|
|
# WARNING: Support for submenus is theme-dependent.
|
|
# Only one level of submenus is supported.
|
|
# WARNING: Some themes, including the default Bootstrap 4 theme,
|
|
# may present issues if the menu is too large.
|
|
# (in Bootstrap, the navbar can grow too large and cover contents.)
|
|
# WARNING: If you link to directories, make sure to follow
|
|
# ``STRIP_INDEXES``. If it’s set to ``True``, end your links
|
|
# with a ``/``, otherwise end them with ``/index.html`` — or
|
|
# else they won’t be highlighted when active.
|
|
|
|
NAVIGATION_LINKS = {
|
|
DEFAULT_LANG: (
|
|
("/archive.html", "Archives"),
|
|
("/categories/index.html", "Tags"),
|
|
("/rss.xml", "RSS feed"),
|
|
),
|
|
}
|
|
|
|
# Alternative navigation links. Works the same way NAVIGATION_LINKS does,
|
|
# although themes may not always support them. (translatable)
|
|
# (Bootstrap 4: right-side of navbar, Bootblog 4: right side of title)
|
|
NAVIGATION_ALT_LINKS = {
|
|
DEFAULT_LANG: ()
|
|
}
|
|
|
|
# Name of the theme to use.
|
|
THEME = "bootblog4"
|
|
|
|
# A theme color. In default themes, it might be displayed by some browsers as
|
|
# the browser UI color (eg. Chrome on Android). Other themes might also use it
|
|
# as an accent color (the default ones don’t). Must be a HEX value.
|
|
THEME_COLOR = '#5670d4'
|
|
|
|
# Theme configuration. Fully theme-dependent. (translatable)
|
|
# Samples for bootblog4 (enabled) and bootstrap4 (commented) follow.
|
|
# bootblog4 supports: featured_large featured_small featured_on_mobile
|
|
# featured_large_image_on_mobile featured_strip_html sidebar
|
|
# bootstrap4 supports: navbar_light (defaults to False)
|
|
# navbar_custom_bg (defaults to '')
|
|
|
|
# Config for bootblog4:
|
|
THEME_CONFIG = {
|
|
DEFAULT_LANG: {
|
|
# Show the latest featured post in a large box, with the previewimage as its background.
|
|
'featured_large': False,
|
|
# Show the first (remaining) two featured posts in small boxes.
|
|
'featured_small': False,
|
|
# Show featured posts on mobile.
|
|
'featured_on_mobile': True,
|
|
# Show image in `featured_large` on mobile.
|
|
# `featured_small` displays them only on desktop.
|
|
'featured_large_image_on_mobile': True,
|
|
# Strip HTML from featured post text.
|
|
'featured_strip_html': False,
|
|
# Contents of the sidebar, If empty, the sidebar is not displayed.
|
|
'sidebar': ''
|
|
}
|
|
}
|
|
# Config for bootstrap4:
|
|
# THEME_CONFIG = {
|
|
# DEFAULT_LANG: {
|
|
# # Use a light navbar with dark text. Defaults to False.
|
|
# 'navbar_light': False,
|
|
# # Use a custom navbar color. If unset, 'navbar_light' sets text +
|
|
# # background color. If set, navbar_light controls only background
|
|
# # color. Supported values: bg-dark, bg-light, bg-primary, bg-secondary,
|
|
# # bg-success, bg-danger, bg-warning, bg-info, bg-white, bg-transparent.
|
|
# 'navbar_custom_bg': '',
|
|
# }
|
|
# }
|
|
|
|
# POSTS and PAGES contains (wildcard, destination, template) tuples.
|
|
# (translatable)
|
|
#
|
|
# The wildcard is used to generate a list of source files
|
|
# (whatever/thing.rst, for example).
|
|
#
|
|
# That fragment could have an associated metadata file (whatever/thing.meta),
|
|
# and optionally translated files (example for Spanish, with code "es"):
|
|
# whatever/thing.es.rst and whatever/thing.es.meta
|
|
#
|
|
# This assumes you use the default TRANSLATIONS_PATTERN.
|
|
#
|
|
# From those files, a set of HTML fragment files will be generated:
|
|
# cache/whatever/thing.html (and maybe cache/whatever/thing.html.es)
|
|
#
|
|
# These files are combined with the template to produce rendered
|
|
# pages, which will be placed at
|
|
# output/TRANSLATIONS[lang]/destination/pagename.html
|
|
#
|
|
# where "pagename" is the "slug" specified in the metadata file.
|
|
# The page might also be placed in /destination/pagename/index.html
|
|
# if PRETTY_URLS are enabled.
|
|
#
|
|
# The difference between POSTS and PAGES is that POSTS are added
|
|
# to feeds, indexes, tag lists and archives and are considered part
|
|
# of a blog, while PAGES are just independent HTML pages.
|
|
#
|
|
# Finally, note that destination can be translated, i.e. you can
|
|
# specify a different translation folder per language. Example:
|
|
# PAGES = (
|
|
# ("pages/*.rst", {"en": "pages", "de": "seiten"}, "page.tmpl"),
|
|
# ("pages/*.md", {"en": "pages", "de": "seiten"}, "page.tmpl"),
|
|
# )
|
|
|
|
POSTS = (
|
|
("posts/*.rst", "posts", "post.tmpl"),
|
|
("posts/*.md", "posts", "post.tmpl"),
|
|
("posts/*.txt", "posts", "post.tmpl"),
|
|
("posts/*.html", "posts", "post.tmpl"),
|
|
)
|
|
PAGES = (
|
|
("pages/*.rst", "pages", "page.tmpl"),
|
|
("pages/*.md", "pages", "page.tmpl"),
|
|
("pages/*.txt", "pages", "page.tmpl"),
|
|
("pages/*.html", "pages", "page.tmpl"),
|
|
)
|
|
|
|
|
|
# Below this point, everything is optional
|
|
|
|
# Post's dates are considered in UTC by default, if you want to use
|
|
# another time zone, please set TIMEZONE to match. Check the available
|
|
# list from Wikipedia:
|
|
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
# (e.g. 'Europe/Zurich')
|
|
# Also, if you want to use a different time zone in some of your posts,
|
|
# you can use the ISO 8601/RFC 3339 format (ex. 2012-03-30T23:00:00+02:00)
|
|
TIMEZONE = "UTC"
|
|
|
|
# If you want to use ISO 8601 (also valid RFC 3339) throughout Nikola
|
|
# (especially in new_post), set this to True.
|
|
# Note that this does not affect DATE_FORMAT.
|
|
# FORCE_ISO8601 = False
|
|
|
|
# Date format used to display post dates. (translatable)
|
|
# Used by babel.dates, CLDR style: http://cldr.unicode.org/translation/date-time-1/date-time
|
|
# You can also use 'full', 'long', 'medium', or 'short'
|
|
# DATE_FORMAT = 'yyyy-MM-dd HH:mm'
|
|
|
|
# Date format used to display post dates, if local dates are used. (translatable)
|
|
# Used by Luxon: https://moment.github.io/luxon/docs/manual/formatting
|
|
# Example for presets: {'preset': True, 'format': 'DATE_FULL'}
|
|
# LUXON_DATE_FORMAT = {
|
|
# DEFAULT_LANG: {'preset': False, 'format': 'yyyy-MM-dd HH:mm'},
|
|
# }
|
|
|
|
# Date fanciness.
|
|
#
|
|
# 0 = using DATE_FORMAT and TIMEZONE (without JS)
|
|
# 1 = using LUXON_DATE_FORMAT and local user time (JS, using Luxon)
|
|
# 2 = using a string like “2 days ago” (JS, using Luxon)
|
|
#
|
|
# Your theme must support it, Bootstrap already does.
|
|
# DATE_FANCINESS = 0
|
|
|
|
# Customize the locale/region used for a language.
|
|
# For example, to use British instead of US English: LOCALES = {'en': 'en_GB'}
|
|
# LOCALES = {}
|
|
|
|
# One or more folders containing files to be copied as-is into the output.
|
|
# The format is a dictionary of {source: relative destination}.
|
|
# Default is:
|
|
# FILES_FOLDERS = {'files': ''}
|
|
# Which means copy 'files' into 'output'
|
|
|
|
# One or more folders containing code listings to be processed and published on
|
|
# the site. The format is a dictionary of {source: relative destination}.
|
|
# Default is:
|
|
# LISTINGS_FOLDERS = {'listings': 'listings'}
|
|
# Which means process listings from 'listings' into 'output/listings'
|
|
|
|
# A mapping of languages to file-extensions that represent that language.
|
|
# Feel free to add or delete extensions to any list, but don't add any new
|
|
# compilers unless you write the interface for it yourself.
|
|
#
|
|
# The default compiler for `new_post` is the first entry in the POSTS tuple.
|
|
#
|
|
# 'rest' is reStructuredText
|
|
# 'markdown' is Markdown
|
|
# 'html' assumes the file is HTML and just copies it
|
|
COMPILERS = {
|
|
"rest": ['.rst', '.txt'],
|
|
"markdown": ['.md', '.mdown', '.markdown'],
|
|
"textile": ['.textile'],
|
|
"txt2tags": ['.t2t'],
|
|
"bbcode": ['.bb'],
|
|
"wiki": ['.wiki'],
|
|
"ipynb": ['.ipynb'],
|
|
"html": ['.html', '.htm'],
|
|
# PHP files are rendered the usual way (i.e. with the full templates).
|
|
# The resulting files have .php extensions, making it possible to run
|
|
# them without reconfiguring your server to recognize them.
|
|
"php": ['.php'],
|
|
# Pandoc detects the input from the source filename
|
|
# but is disabled by default as it would conflict
|
|
# with many of the others.
|
|
# "pandoc": ['.rst', '.md', '.txt'],
|
|
}
|
|
|
|
# Enable reST directives that insert the contents of external files such
|
|
# as "include" and "raw." This maps directly to the docutils file_insertion_enabled
|
|
# config. See: https://docutils.sourceforge.io/docs/user/config.html#file-insertion-enabled
|
|
# REST_FILE_INSERTION_ENABLED = True
|
|
|
|
# Create by default posts in one file format?
|
|
# Set to False for two-file posts, with separate metadata.
|
|
# ONE_FILE_POSTS = True
|
|
|
|
# Preferred metadata format for new posts
|
|
# "Nikola": reST comments, wrapped in a HTML comment if needed (default)
|
|
# "YAML": YAML wrapped in "---"
|
|
# "TOML": TOML wrapped in "+++"
|
|
# "Pelican": Native markdown metadata or reST docinfo fields. Nikola style for other formats.
|
|
# METADATA_FORMAT = "Nikola"
|
|
|
|
# Use date-based path when creating posts?
|
|
# Can be enabled on a per-post basis with `nikola new_post -d`.
|
|
# The setting is ignored when creating pages.
|
|
# NEW_POST_DATE_PATH = False
|
|
|
|
# What format to use when creating posts with date paths?
|
|
# Default is '%Y/%m/%d', other possibilities include '%Y' or '%Y/%m'.
|
|
# NEW_POST_DATE_PATH_FORMAT = '%Y/%m/%d'
|
|
|
|
# If this is set to True, the DEFAULT_LANG version will be displayed for
|
|
# untranslated posts.
|
|
# If this is set to False, then posts that are not translated to a language
|
|
# LANG will not be visible at all in the pages in that language.
|
|
# SHOW_UNTRANSLATED_POSTS = True
|
|
|
|
# Nikola supports logo display. If you have one, you can put the URL here.
|
|
# Final output is <img src="LOGO_URL" id="logo" alt="BLOG_TITLE">.
|
|
# The URL may be relative to the site root.
|
|
# LOGO_URL = ''
|
|
|
|
# When linking posts to social media, Nikola provides Open Graph metadata
|
|
# which is used to show a nice preview. This includes an image preview
|
|
# taken from the post's previewimage metadata field.
|
|
# This option lets you use an image to be used if the post doesn't have it.
|
|
# The default is None, valid values are URLs or output paths like
|
|
# "/images/foo.jpg"
|
|
# DEFAULT_PREVIEW_IMAGE = None
|
|
|
|
# If you want to hide the title of your website (for example, if your logo
|
|
# already contains the text), set this to False.
|
|
# Note: if your logo is a SVG image, and you set SHOW_BLOG_TITLE = False,
|
|
# you should explicitly set a height for #logo in CSS.
|
|
# SHOW_BLOG_TITLE = True
|
|
|
|
# Paths for different autogenerated bits. These are combined with the
|
|
# translation paths.
|
|
|
|
# Final locations are:
|
|
# output / TRANSLATION[lang] / TAG_PATH / index.html (list of tags)
|
|
# output / TRANSLATION[lang] / TAG_PATH / tag.html (list of posts for a tag)
|
|
# output / TRANSLATION[lang] / TAG_PATH / tag RSS_EXTENSION (RSS feed for a tag)
|
|
# (translatable)
|
|
# TAG_PATH = "categories"
|
|
|
|
# By default, the list of tags is stored in
|
|
# output / TRANSLATION[lang] / TAG_PATH / index.html
|
|
# (see explanation for TAG_PATH). This location can be changed to
|
|
# output / TRANSLATION[lang] / TAGS_INDEX_PATH
|
|
# with an arbitrary relative path TAGS_INDEX_PATH.
|
|
# (translatable)
|
|
# TAGS_INDEX_PATH = "tags.html"
|
|
|
|
# If TAG_PAGES_ARE_INDEXES is set to True, each tag's page will contain
|
|
# the posts themselves. If set to False, it will be just a list of links.
|
|
# TAG_PAGES_ARE_INDEXES = False
|
|
|
|
# Set descriptions for tag pages to make them more interesting. The
|
|
# default is no description. The value is used in the meta description
|
|
# and displayed underneath the tag list or index page’s title.
|
|
# (translatable)
|
|
# TAG_DESCRIPTIONS = {
|
|
# DEFAULT_LANG: {
|
|
# "blogging": "Meta-blog posts about blogging.",
|
|
# "open source": "My contributions to my many, varied, ever-changing, and eternal libre software projects."
|
|
# },
|
|
# }
|
|
|
|
# Set special titles for tag pages. The default is "Posts about TAG".
|
|
# (translatable)
|
|
# TAG_TITLES = {
|
|
# DEFAULT_LANG: {
|
|
# "blogging": "Meta-posts about blogging",
|
|
# "open source": "Posts about open source software"
|
|
# },
|
|
# }
|
|
|
|
# If you do not want to display a tag publicly, you can mark it as hidden.
|
|
# The tag will not be displayed on the tag list page and posts.
|
|
# Tag pages will still be generated.
|
|
HIDDEN_TAGS = ['mathjax']
|
|
|
|
# Only include tags on the tag list/overview page if there are at least
|
|
# TAGLIST_MINIMUM_POSTS number of posts or more with every tag. Every tag
|
|
# page is still generated, linked from posts, and included in the sitemap.
|
|
# However, more obscure tags can be hidden from the tag index page.
|
|
# TAGLIST_MINIMUM_POSTS = 1
|
|
|
|
# A list of dictionaries specifying tags which translate to each other.
|
|
# Format: a list of dicts {language: translation, language2: translation2, …}
|
|
# For example:
|
|
# [
|
|
# {'en': 'private', 'de': 'Privat'},
|
|
# {'en': 'work', 'fr': 'travail', 'de': 'Arbeit'},
|
|
# ]
|
|
# TAG_TRANSLATIONS = []
|
|
|
|
# If set to True, a tag in a language will be treated as a translation
|
|
# of the literally same tag in all other languages. Enable this if you
|
|
# do not translate tags, for example.
|
|
# TAG_TRANSLATIONS_ADD_DEFAULTS = True
|
|
|
|
# Final locations are:
|
|
# output / TRANSLATION[lang] / CATEGORY_PATH / index.html (list of categories)
|
|
# output / TRANSLATION[lang] / CATEGORY_PATH / CATEGORY_PREFIX category.html (list of posts for a category)
|
|
# output / TRANSLATION[lang] / CATEGORY_PATH / CATEGORY_PREFIX category RSS_EXTENSION (RSS feed for a category)
|
|
# (translatable)
|
|
# CATEGORY_PATH = "categories"
|
|
# CATEGORY_PREFIX = "cat_"
|
|
|
|
# By default, the list of categories is stored in
|
|
# output / TRANSLATION[lang] / CATEGORY_PATH / index.html
|
|
# (see explanation for CATEGORY_PATH). This location can be changed to
|
|
# output / TRANSLATION[lang] / CATEGORIES_INDEX_PATH
|
|
# with an arbitrary relative path CATEGORIES_INDEX_PATH.
|
|
# (translatable)
|
|
# CATEGORIES_INDEX_PATH = "categories.html"
|
|
|
|
# If CATEGORY_ALLOW_HIERARCHIES is set to True, categories can be organized in
|
|
# hierarchies. For a post, the whole path in the hierarchy must be specified,
|
|
# using a forward slash ('/') to separate paths. Use a backslash ('\') to escape
|
|
# a forward slash or a backslash (i.e. '\//\\' is a path specifying the
|
|
# subcategory called '\' of the top-level category called '/').
|
|
CATEGORY_ALLOW_HIERARCHIES = False
|
|
# If CATEGORY_OUTPUT_FLAT_HIERARCHY is set to True, the output written to output
|
|
# contains only the name of the leaf category and not the whole path.
|
|
CATEGORY_OUTPUT_FLAT_HIERARCHY = False
|
|
|
|
# If CATEGORY_PAGES_ARE_INDEXES is set to True, each category's page will contain
|
|
# the posts themselves. If set to False, it will be just a list of links.
|
|
# CATEGORY_PAGES_ARE_INDEXES = False
|
|
|
|
# Set descriptions for category pages to make them more interesting. The
|
|
# default is no description. The value is used in the meta description
|
|
# and displayed underneath the category list or index page’s title.
|
|
# (translatable)
|
|
# CATEGORY_DESCRIPTIONS = {
|
|
# DEFAULT_LANG: {
|
|
# "blogging": "Meta-blog posts about blogging.",
|
|
# "open source": "My contributions to my many, varied, ever-changing, and eternal libre software projects."
|
|
# },
|
|
# }
|
|
|
|
# Set special titles for category pages. The default is "Posts about CATEGORY".
|
|
# (translatable)
|
|
# CATEGORY_TITLES = {
|
|
# DEFAULT_LANG: {
|
|
# "blogging": "Meta-posts about blogging",
|
|
# "open source": "Posts about open source software"
|
|
# },
|
|
# }
|
|
|
|
# If you do not want to display a category publicly, you can mark it as hidden.
|
|
# The category will not be displayed on the category list page.
|
|
# Category pages will still be generated.
|
|
HIDDEN_CATEGORIES = []
|
|
|
|
# A list of dictionaries specifying categories which translate to each other.
|
|
# Format: a list of dicts {language: translation, language2: translation2, …}
|
|
# See TAG_TRANSLATIONS example above.
|
|
# CATEGORY_TRANSLATIONS = []
|
|
|
|
# If set to True, a category in a language will be treated as a translation
|
|
# of the literally same category in all other languages. Enable this if you
|
|
# do not translate categories, for example.
|
|
# CATEGORY_TRANSLATIONS_ADD_DEFAULTS = True
|
|
|
|
# If no category is specified in a post, the destination path of the post
|
|
# can be used in its place. This replaces the sections feature. Using
|
|
# category hierarchies is recommended.
|
|
# CATEGORY_DESTPATH_AS_DEFAULT = False
|
|
|
|
# If True, the prefix will be trimmed from the category name, eg. if the
|
|
# POSTS destination is "foo/bar", and the path is "foo/bar/baz/quux",
|
|
# the category will be "baz/quux" (or "baz" if only the first directory is considered).
|
|
# Note that prefixes coming from translations are always ignored.
|
|
# CATEGORY_DESTPATH_TRIM_PREFIX = False
|
|
|
|
# If True, only the first directory of a path will be used.
|
|
# CATEGORY_DESTPATH_FIRST_DIRECTORY_ONLY = True
|
|
|
|
# Map paths to prettier category names. (translatable)
|
|
# CATEGORY_DESTPATH_NAMES = {
|
|
# DEFAULT_LANG: {
|
|
# 'webdev': 'Web Development',
|
|
# 'webdev/django': 'Web Development/Django',
|
|
# 'random': 'Odds and Ends',
|
|
# },
|
|
# }
|
|
|
|
# By default, category indexes will appear in CATEGORY_PATH and use
|
|
# CATEGORY_PREFIX. If this is enabled, those settings will be ignored (except
|
|
# for the index) and instead, they will follow destination paths (eg. category
|
|
# 'foo' might appear in 'posts/foo'). If the category does not come from a
|
|
# destpath, first entry in POSTS followed by the category name will be used.
|
|
# For this setting, category hierarchies are required and cannot be flattened.
|
|
# CATEGORY_PAGES_FOLLOW_DESTPATH = False
|
|
|
|
# If ENABLE_AUTHOR_PAGES is set to True and there is more than one
|
|
# author, author pages are generated.
|
|
# ENABLE_AUTHOR_PAGES = True
|
|
|
|
# Path to author pages. Final locations are:
|
|
# output / TRANSLATION[lang] / AUTHOR_PATH / index.html (list of authors)
|
|
# output / TRANSLATION[lang] / AUTHOR_PATH / author.html (list of posts by an author)
|
|
# output / TRANSLATION[lang] / AUTHOR_PATH / author RSS_EXTENSION (RSS feed for an author)
|
|
# (translatable)
|
|
# AUTHOR_PATH = "authors"
|
|
|
|
# If AUTHOR_PAGES_ARE_INDEXES is set to True, each author's page will contain
|
|
# the posts themselves. If set to False, it will be just a list of links.
|
|
# AUTHOR_PAGES_ARE_INDEXES = False
|
|
|
|
# Set descriptions for author pages to make them more interesting. The
|
|
# default is no description. The value is used in the meta description
|
|
# and displayed underneath the author list or index page’s title.
|
|
# AUTHOR_PAGES_DESCRIPTIONS = {
|
|
# DEFAULT_LANG: {
|
|
# "Juanjo Conti": "Python coder and writer.",
|
|
# "Roberto Alsina": "Nikola father."
|
|
# },
|
|
# }
|
|
|
|
|
|
# If you do not want to display an author publicly, you can mark it as hidden.
|
|
# The author will not be displayed on the author list page.
|
|
# Author pages and links to them will still be generated.
|
|
HIDDEN_AUTHORS = ['Guest']
|
|
|
|
# Allow multiple, comma-separated authors for a post? (Requires theme support, present in built-in themes)
|
|
# MULTIPLE_AUTHORS_PER_POST = False
|
|
|
|
# Final location for the main blog page and sibling paginated pages is
|
|
# output / TRANSLATION[lang] / INDEX_PATH / index-*.html
|
|
# (translatable)
|
|
# INDEX_PATH = ""
|
|
|
|
# Optional HTML that displayed on “main” blog index.html files.
|
|
# May be used for a greeting. (translatable)
|
|
FRONT_INDEX_HEADER = {
|
|
DEFAULT_LANG: ''
|
|
}
|
|
|
|
# Create per-month archives instead of per-year
|
|
# CREATE_MONTHLY_ARCHIVE = False
|
|
# Create one large archive instead of per-year
|
|
# CREATE_SINGLE_ARCHIVE = False
|
|
# Create year, month, and day archives each with a (long) list of posts
|
|
# (overrides both CREATE_MONTHLY_ARCHIVE and CREATE_SINGLE_ARCHIVE)
|
|
# CREATE_FULL_ARCHIVES = False
|
|
# If monthly archives or full archives are created, adds also one archive per day
|
|
# CREATE_DAILY_ARCHIVE = False
|
|
# Create previous, up, next navigation links for archives
|
|
# CREATE_ARCHIVE_NAVIGATION = False
|
|
# Final locations for the archives are:
|
|
# output / TRANSLATION[lang] / ARCHIVE_PATH / ARCHIVE_FILENAME
|
|
# output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / index.html
|
|
# output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / index.html
|
|
# output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / DAY / index.html
|
|
# (translatable)
|
|
# ARCHIVE_PATH = ""
|
|
# ARCHIVE_FILENAME = "archive.html"
|
|
|
|
# If ARCHIVES_ARE_INDEXES is set to True, each archive page which contains a list
|
|
# of posts will contain the posts themselves. If set to False, it will be just a
|
|
# list of links.
|
|
# ARCHIVES_ARE_INDEXES = False
|
|
|
|
# URLs to other posts/pages can take 3 forms:
|
|
# rel_path: a relative URL to the current page/post (default)
|
|
# full_path: a URL with the full path from the root
|
|
# absolute: a complete URL (that includes the SITE_URL)
|
|
# URL_TYPE = 'rel_path'
|
|
|
|
# Extension for RSS feed files
|
|
# RSS_EXTENSION = ".xml"
|
|
|
|
# RSS filename base (without extension); used for indexes and galleries.
|
|
# (translatable)
|
|
# RSS_FILENAME_BASE = "rss"
|
|
|
|
# Final location for the blog main RSS feed is:
|
|
# output / TRANSLATION[lang] / RSS_PATH / RSS_FILENAME_BASE RSS_EXTENSION
|
|
# (translatable)
|
|
# RSS_PATH = ""
|
|
|
|
# Final location for the blog main Atom feed is:
|
|
# output / TRANSLATION[lang] / ATOM_PATH / ATOM_FILENAME_BASE ATOM_EXTENSION
|
|
# (translatable)
|
|
# ATOM_PATH = ""
|
|
|
|
# Atom filename base (without extension); used for indexes.
|
|
# (translatable)
|
|
ATOM_FILENAME_BASE = "feed"
|
|
|
|
# Extension for Atom feed files
|
|
# ATOM_EXTENSION = ".atom"
|
|
|
|
# Slug the Tag URL. Easier for users to type, special characters are
|
|
# often removed or replaced as well.
|
|
# SLUG_TAG_PATH = True
|
|
|
|
# Slug the Author URL. Easier for users to type, special characters are
|
|
# often removed or replaced as well.
|
|
# SLUG_AUTHOR_PATH = True
|
|
|
|
# A list of redirection tuples, [("foo/from.html", "/bar/to.html")].
|
|
#
|
|
# A HTML file will be created in output/foo/from.html that redirects
|
|
# to the "/bar/to.html" URL. notice that the "from" side MUST be a
|
|
# relative URL.
|
|
#
|
|
# If you don't need any of these, just set to []
|
|
REDIRECTIONS = []
|
|
|
|
# Presets of commands to execute to deploy. Can be anything, for
|
|
# example, you may use rsync:
|
|
# "rsync -rav --delete --delete-after output/ [email protected]:/srv/www/site"
|
|
# And then do a backup, or run `nikola ping` from the `ping`
|
|
# plugin (`nikola plugin -i ping`). Or run `nikola check -l`.
|
|
# You may also want to use github_deploy (see below).
|
|
# You can define multiple presets and specify them as arguments
|
|
# to `nikola deploy`. If no arguments are specified, a preset
|
|
# named `default` will be executed. You can use as many presets
|
|
# in a `nikola deploy` command as you like.
|
|
# DEPLOY_COMMANDS = {
|
|
# 'default': [
|
|
# "rsync -rav --delete --delete-after output/ [email protected]:/srv/www/site",
|
|
# ]
|
|
# }
|
|
|
|
# github_deploy configuration
|
|
# For more details, read the manual:
|
|
# https://getnikola.com/handbook.html#deploying-to-github
|
|
# You will need to configure the deployment branch on GitHub.
|
|
GITHUB_SOURCE_BRANCH = 'src'
|
|
GITHUB_DEPLOY_BRANCH = 'master'
|
|
|
|
# The name of the remote where you wish to push to, using github_deploy.
|
|
GITHUB_REMOTE_NAME = 'origin'
|
|
|
|
# Whether or not github_deploy should commit to the source branch automatically
|
|
# before deploying.
|
|
GITHUB_COMMIT_SOURCE = True
|
|
|
|
# Where the output site should be located
|
|
# If you don't use an absolute path, it will be considered as relative
|
|
# to the location of conf.py
|
|
# OUTPUT_FOLDER = 'output'
|
|
|
|
# where the "cache" of partial generated content should be located
|
|
# default: 'cache'
|
|
# CACHE_FOLDER = 'cache'
|
|
|
|
# Filters to apply to the output.
|
|
# A directory where the keys are either: a file extensions, or
|
|
# a tuple of file extensions.
|
|
#
|
|
# And the value is a list of commands to be applied in order.
|
|
#
|
|
# Each command must be either:
|
|
#
|
|
# A string containing a '%s' which will
|
|
# be replaced with a filename. The command *must* produce output
|
|
# in place.
|
|
#
|
|
# Or:
|
|
#
|
|
# A python callable, which will be called with the filename as
|
|
# argument.
|
|
#
|
|
# By default, only .php files uses filters to inject PHP into
|
|
# Nikola’s templates. All other filters must be enabled through FILTERS.
|
|
#
|
|
# Many filters are shipped with Nikola. A list is available in the manual:
|
|
# <https://getnikola.com/handbook.html#post-processing-filters>
|
|
#
|
|
# from nikola import filters
|
|
# FILTERS = {
|
|
# ".html": [filters.typogrify],
|
|
# ".js": [filters.closure_compiler],
|
|
# ".jpg": ["jpegoptim --strip-all -m75 -v %s"],
|
|
# }
|
|
|
|
# Executable for the "yui_compressor" filter (defaults to 'yui-compressor').
|
|
# YUI_COMPRESSOR_EXECUTABLE = 'yui-compressor'
|
|
|
|
# Executable for the "closure_compiler" filter (defaults to 'closure-compiler').
|
|
# CLOSURE_COMPILER_EXECUTABLE = 'closure-compiler'
|
|
|
|
# Executable for the "optipng" filter (defaults to 'optipng').
|
|
# OPTIPNG_EXECUTABLE = 'optipng'
|
|
|
|
# Executable for the "jpegoptim" filter (defaults to 'jpegoptim').
|
|
# JPEGOPTIM_EXECUTABLE = 'jpegoptim'
|
|
|
|
# Executable for the "html_tidy_withconfig", "html_tidy_nowrap",
|
|
# "html_tidy_wrap", "html_tidy_wrap_attr" and "html_tidy_mini" filters
|
|
# (defaults to 'tidy5').
|
|
# HTML_TIDY_EXECUTABLE = 'tidy5'
|
|
|
|
# List of XPath expressions which should be used for finding headers
|
|
# ({hx} is replaced by headers h1 through h6).
|
|
# You must change this if you use a custom theme that does not use
|
|
# "e-content entry-content" as a class for post and page contents.
|
|
# HEADER_PERMALINKS_XPATH_LIST = ['*//div[@class="e-content entry-content"]//{hx}']
|
|
# Include *every* header (not recommended):
|
|
# HEADER_PERMALINKS_XPATH_LIST = ['*//{hx}']
|
|
|
|
# File blacklist for header permalinks. Contains output path
|
|
# (eg. 'output/index.html')
|
|
# HEADER_PERMALINKS_FILE_BLACKLIST = []
|
|
|
|
# Expert setting! Create a gzipped copy of each generated file. Cheap server-
|
|
# side optimization for very high traffic sites or low memory servers.
|
|
# GZIP_FILES = False
|
|
# File extensions that will be compressed
|
|
# GZIP_EXTENSIONS = ('.txt', '.htm', '.html', '.css', '.js', '.json', '.atom', '.xml')
|
|
# Use an external gzip command? None means no.
|
|
# Example: GZIP_COMMAND = "pigz -k {filename}"
|
|
# GZIP_COMMAND = None
|
|
# Make sure the server does not return a "Accept-Ranges: bytes" header for
|
|
# files compressed by this option! OR make sure that a ranged request does not
|
|
# return partial content of another representation for these resources. Do not
|
|
# use this feature if you do not understand what this means.
|
|
|
|
# #############################################################################
|
|
# Image Gallery Options
|
|
# #############################################################################
|
|
|
|
# One or more folders containing galleries. The format is a dictionary of
|
|
# {"source": "relative_destination"}, where galleries are looked for in
|
|
# "source/" and the results will be located in
|
|
# "OUTPUT_PATH/relative_destination/gallery_name"
|
|
# Default is:
|
|
# GALLERY_FOLDERS = {"galleries": "galleries"}
|
|
# More gallery options:
|
|
# THUMBNAIL_SIZE = 180
|
|
# MAX_IMAGE_SIZE = 1280
|
|
# USE_FILENAME_AS_TITLE = True
|
|
# EXTRA_IMAGE_EXTENSIONS = []
|
|
|
|
# Use a thumbnail (defined by ".. previewimage:" in the gallery's index) in
|
|
# list of galleries for each gallery
|
|
GALLERIES_USE_THUMBNAIL = False
|
|
|
|
# Image to use as thumbnail for those galleries that don't have one
|
|
# None: show a grey square
|
|
# '/url/to/file': show the image in that url
|
|
GALLERIES_DEFAULT_THUMBNAIL = None
|
|
|
|
# If set to False, it will sort by filename instead. Defaults to True
|
|
# GALLERY_SORT_BY_DATE = True
|
|
|
|
# If set to True, EXIF data will be copied when an image is thumbnailed or
|
|
# resized. (See also EXIF_WHITELIST)
|
|
# PRESERVE_EXIF_DATA = False
|
|
|
|
# If you have enabled PRESERVE_EXIF_DATA, this option lets you choose EXIF
|
|
# fields you want to keep in images. (See also PRESERVE_EXIF_DATA)
|
|
#
|
|
# For a full list of field names, please see here:
|
|
# http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf
|
|
#
|
|
# This is a dictionary of lists. Each key in the dictionary is the
|
|
# name of a IDF, and each list item is a field you want to preserve.
|
|
# If you have a IDF with only a '*' item, *EVERY* item in it will be
|
|
# preserved. If you don't want to preserve anything in a IDF, remove it
|
|
# from the setting. By default, no EXIF information is kept.
|
|
# Setting the whitelist to anything other than {} implies
|
|
# PRESERVE_EXIF_DATA is set to True
|
|
# To preserve ALL EXIF data, set EXIF_WHITELIST to {"*": "*"}
|
|
|
|
# EXIF_WHITELIST = {}
|
|
|
|
# Some examples of EXIF_WHITELIST settings:
|
|
|
|
# Basic image information:
|
|
# EXIF_WHITELIST['0th'] = [
|
|
# "Orientation",
|
|
# "XResolution",
|
|
# "YResolution",
|
|
# ]
|
|
|
|
# If you want to keep GPS data in the images:
|
|
# EXIF_WHITELIST['GPS'] = ["*"]
|
|
|
|
# Embedded thumbnail information:
|
|
# EXIF_WHITELIST['1st'] = ["*"]
|
|
|
|
# If set to True, any ICC profile will be copied when an image is thumbnailed or
|
|
# resized.
|
|
# PRESERVE_ICC_PROFILES = False
|
|
|
|
# Folders containing images to be used in normal posts or pages.
|
|
# IMAGE_FOLDERS is a dictionary of the form {"source": "destination"},
|
|
# where "source" is the folder containing the images to be published, and
|
|
# "destination" is the folder under OUTPUT_PATH containing the images copied
|
|
# to the site. Thumbnail images will be created there as well.
|
|
|
|
# To reference the images in your posts, include a leading slash in the path.
|
|
# For example, if IMAGE_FOLDERS = {'images': 'images'}, write
|
|
#
|
|
# .. image:: /images/tesla.jpg
|
|
#
|
|
# See the Nikola Handbook for details (in the “Embedding Images” and
|
|
# “Thumbnails” sections)
|
|
|
|
# Images will be scaled down according to IMAGE_THUMBNAIL_SIZE and MAX_IMAGE_SIZE
|
|
# options, but will have to be referenced manually to be visible on the site
|
|
# (the thumbnail has ``.thumbnail`` added before the file extension by default,
|
|
# but a different naming template can be configured with IMAGE_THUMBNAIL_FORMAT).
|
|
# Panoramas (aspect ratio over 3:1) get 4x larger thumbnails due to scaling issues.
|
|
|
|
IMAGE_FOLDERS = {'images': 'images'}
|
|
# IMAGE_THUMBNAIL_SIZE = 400
|
|
# IMAGE_THUMBNAIL_FORMAT = '{name}.thumbnail{ext}'
|
|
|
|
# #############################################################################
|
|
# HTML fragments and diverse things that are used by the templates
|
|
# #############################################################################
|
|
|
|
# Data about post-per-page indexes.
|
|
# INDEXES_PAGES defaults to ' old posts, page %d' or ' page %d' (translated),
|
|
# depending on the value of INDEXES_PAGES_MAIN.
|
|
#
|
|
# (translatable) If the following is empty, defaults to BLOG_TITLE:
|
|
# INDEXES_TITLE = ""
|
|
#
|
|
# (translatable) If the following is empty, defaults to ' [old posts,] page %d' (see above):
|
|
# INDEXES_PAGES = ""
|
|
#
|
|
# If the following is True, INDEXES_PAGES is also displayed on the main (the
|
|
# newest) index page (index.html):
|
|
# INDEXES_PAGES_MAIN = False
|
|
#
|
|
# If the following is True, index-1.html has the oldest posts, index-2.html the
|
|
# second-oldest posts, etc., and index.html has the newest posts. This ensures
|
|
# that all posts on index-x.html will forever stay on that page, now matter how
|
|
# many new posts are added.
|
|
# If False, index-1.html has the second-newest posts, index-2.html the third-newest,
|
|
# and index-n.html the oldest posts. When this is active, old posts can be moved
|
|
# to other index pages when new posts are added.
|
|
# INDEXES_STATIC = True
|
|
#
|
|
# (translatable) If PRETTY_URLS is set to True, this setting will be used to create
|
|
# prettier URLs for index pages, such as page/2/index.html instead of index-2.html.
|
|
# Valid values for this settings are:
|
|
# * False,
|
|
# * a list or tuple, specifying the path to be generated,
|
|
# * a dictionary mapping languages to lists or tuples.
|
|
# Every list or tuple must consist of strings which are used to combine the path;
|
|
# for example:
|
|
# ['page', '{number}', '{index_file}']
|
|
# The replacements
|
|
# {number} --> (logical) page number;
|
|
# {old_number} --> the page number inserted into index-n.html before (zero for
|
|
# the main page);
|
|
# {index_file} --> value of option INDEX_FILE
|
|
# are made.
|
|
# Note that in case INDEXES_PAGES_MAIN is set to True, a redirection will be created
|
|
# for the full URL with the page number of the main page to the normal (shorter) main
|
|
# page URL.
|
|
# INDEXES_PRETTY_PAGE_URL = False
|
|
#
|
|
# If the following is true, a page range navigation will be inserted to indices.
|
|
# Please note that this will undo the effect of INDEXES_STATIC, as all index pages
|
|
# must be recreated whenever the number of pages changes.
|
|
# SHOW_INDEX_PAGE_NAVIGATION = False
|
|
|
|
# If the following is True, a meta name="generator" tag is added to pages. The
|
|
# generator tag is used to specify the software used to generate the page
|
|
# (it promotes Nikola).
|
|
# META_GENERATOR_TAG = True
|
|
|
|
# Color scheme to be used for code blocks. If your theme provides
|
|
# "assets/css/code.css" this is ignored. Set to None to disable.
|
|
# Can be any of:
|
|
# algol, algol_nu, autumn, borland, bw, colorful, default, emacs, friendly,
|
|
# fruity, igor, lovelace, manni, monokai, murphy, native, paraiso-dark,
|
|
# paraiso-light, pastie, perldoc, rrt, tango, trac, vim, vs, xcode
|
|
# This list MAY be incomplete since pygments adds styles every now and then.
|
|
# Check with list(pygments.styles.get_all_styles()) in an interpreter.
|
|
#
|
|
# CODE_COLOR_SCHEME = 'default'
|
|
|
|
# FAVICONS contains (name, file, size) tuples.
|
|
# Used to create favicon link like this:
|
|
# <link rel="name" href="file" sizes="size"/>
|
|
# FAVICONS = (
|
|
# ("icon", "/favicon.ico", "16x16"),
|
|
# ("icon", "/icon_128x128.png", "128x128"),
|
|
# )
|
|
|
|
# Show teasers (instead of full posts) in indexes? Defaults to False.
|
|
# INDEX_TEASERS = False
|
|
|
|
# HTML fragments with the Read more... links.
|
|
# The following tags exist and are replaced for you:
|
|
# {link} A link to the full post page.
|
|
# {read_more} The string “Read more” in the current language.
|
|
# {reading_time} An estimate of how long it will take to read the post.
|
|
# {remaining_reading_time} An estimate of how long it will take to read the post, sans the teaser.
|
|
# {min_remaining_read} The string “{remaining_reading_time} min remaining to read” in the current language.
|
|
# {paragraph_count} The amount of paragraphs in the post.
|
|
# {remaining_paragraph_count} The amount of paragraphs in the post, sans the teaser.
|
|
# {post_title} The title of the post.
|
|
# {{ A literal { (U+007B LEFT CURLY BRACKET)
|
|
# }} A literal } (U+007D RIGHT CURLY BRACKET)
|
|
|
|
# 'Read more...' for the index page, if INDEX_TEASERS is True (translatable)
|
|
INDEX_READ_MORE_LINK = '<p class="more"><a href="{link}">{read_more}…</a></p>'
|
|
# 'Read more...' for the feeds, if FEED_TEASERS is True (translatable)
|
|
FEED_READ_MORE_LINK = '<p><a href="{link}">{read_more}…</a> ({min_remaining_read})</p>'
|
|
|
|
# Append a URL query to the FEED_READ_MORE_LINK in Atom and RSS feeds. Advanced
|
|
# option used for traffic source tracking.
|
|
# Minimum example for use with Piwik: "pk_campaign=feed"
|
|
# The following tags exist and are replaced for you:
|
|
# {feedRelUri} A relative link to the feed.
|
|
# {feedFormat} The name of the syndication format.
|
|
# Example using replacement for use with Google Analytics:
|
|
# "utm_source={feedRelUri}&utm_medium=nikola_feed&utm_campaign={feedFormat}_feed"
|
|
FEED_LINKS_APPEND_QUERY = False
|
|
|
|
# A HTML fragment describing the license, for the sidebar.
|
|
# (translatable)
|
|
LICENSE = ""
|
|
# I recommend using the Creative Commons' wizard:
|
|
# https://creativecommons.org/choose/
|
|
# LICENSE = """
|
|
# <a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
|
|
# <img alt="Creative Commons License BY-NC-SA"
|
|
# style="border-width:0; margin-bottom:12px;"
|
|
# src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png"></a>"""
|
|
|
|
# A small copyright notice for the page footer (in HTML).
|
|
# (translatable)
|
|
CONTENT_FOOTER = 'Contents © {date} <a href="mailto:{email}">{author}</a> - Powered by <a href="https://getnikola.com" rel="nofollow">Nikola</a> {license}'
|
|
|
|
# Things that will be passed to CONTENT_FOOTER.format(). This is done
|
|
# for translatability, as dicts are not formattable. Nikola will
|
|
# intelligently format the setting properly.
|
|
# The setting takes a dict. The keys are languages. The values are
|
|
# tuples of tuples of positional arguments and dicts of keyword arguments
|
|
# to format(). For example, {'en': (('Hello'), {'target': 'World'})}
|
|
# results in CONTENT_FOOTER['en'].format('Hello', target='World').
|
|
# If you need to use the literal braces '{' and '}' in your footer text, use
|
|
# '{{' and '}}' to escape them (str.format is used)
|
|
# WARNING: If you do not use multiple languages with CONTENT_FOOTER, this
|
|
# still needs to be a dict of this format. (it can be empty if you
|
|
# do not need formatting)
|
|
# (translatable)
|
|
CONTENT_FOOTER_FORMATS = {
|
|
DEFAULT_LANG: (
|
|
(),
|
|
{
|
|
"email": BLOG_EMAIL,
|
|
"author": BLOG_AUTHOR,
|
|
"date": time.gmtime().tm_year,
|
|
"license": LICENSE
|
|
}
|
|
)
|
|
}
|
|
|
|
# A simple copyright tag for inclusion in RSS feeds that works just
|
|
# like CONTENT_FOOTER and CONTENT_FOOTER_FORMATS
|
|
RSS_COPYRIGHT = 'Contents © {date} <a href="mailto:{email}">{author}</a> {license}'
|
|
RSS_COPYRIGHT_PLAIN = 'Contents © {date} {author} {license}'
|
|
RSS_COPYRIGHT_FORMATS = CONTENT_FOOTER_FORMATS
|
|
|
|
# To use comments, you can choose between different third party comment
|
|
# systems. The following comment systems are supported by Nikola:
|
|
# disqus, discourse, facebook, intensedebate, isso, muut, commento,
|
|
# utterances
|
|
# You can leave this option blank to disable comments.
|
|
COMMENT_SYSTEM = "disqus"
|
|
# And you also need to add your COMMENT_SYSTEM_ID which
|
|
# depends on what comment system you use. The default is
|
|
# "nikolademo" which is a test account for Disqus. More information
|
|
# is in the manual.
|
|
COMMENT_SYSTEM_ID = "nikolademo"
|
|
|
|
# Create index.html for page folders?
|
|
# WARNING: if a page would conflict with the index file (usually
|
|
# caused by setting slug to `index`), the PAGE_INDEX
|
|
# will not be generated for that directory.
|
|
# PAGE_INDEX = False
|
|
# Enable comments on pages (i.e. not posts)?
|
|
# COMMENTS_IN_PAGES = False
|
|
# Enable comments on picture gallery pages?
|
|
# COMMENTS_IN_GALLERIES = False
|
|
|
|
# What file should be used for directory indexes?
|
|
# Defaults to index.html
|
|
# Common other alternatives: default.html for IIS, index.php
|
|
# INDEX_FILE = "index.html"
|
|
|
|
# If a link ends in /index.html, drop the index.html part.
|
|
# http://mysite/foo/bar/index.html => http://mysite/foo/bar/
|
|
# (Uses the INDEX_FILE setting, so if that is, say, default.html,
|
|
# it will instead /foo/default.html => /foo)
|
|
STRIP_INDEXES = True
|
|
|
|
# List of files relative to the server root (!) that will be asked to be excluded
|
|
# from indexing and other robotic spidering. * is supported. Will only be effective
|
|
# if SITE_URL points to server root. The list is used to exclude resources from
|
|
# /robots.txt and /sitemap.xml, and to inform search engines about /sitemapindex.xml.
|
|
# ROBOTS_EXCLUSIONS = ["/archive.html", "/category/*.html"]
|
|
|
|
# Instead of putting files in <slug>.html, put them in <slug>/index.html.
|
|
# No web server configuration is required. Also enables STRIP_INDEXES.
|
|
# This can be disabled on a per-page/post basis by adding
|
|
# .. pretty_url: False
|
|
# to the metadata.
|
|
PRETTY_URLS = True
|
|
|
|
# If True, publish future dated posts right away instead of scheduling them.
|
|
# Defaults to False.
|
|
# FUTURE_IS_NOW = False
|
|
|
|
# If True, future dated posts are allowed in deployed output
|
|
# Only the individual posts are published/deployed; not in indexes/sitemap
|
|
# Generally, you want FUTURE_IS_NOW and DEPLOY_FUTURE to be the same value.
|
|
# DEPLOY_FUTURE = False
|
|
# If False, draft posts will not be deployed
|
|
# DEPLOY_DRAFTS = True
|
|
|
|
# Allows scheduling of posts using the rule specified here (new_post -s)
|
|
# Specify an iCal Recurrence Rule: https://www.kanzaki.com/docs/ical/rrule.html
|
|
# SCHEDULE_RULE = ''
|
|
# If True, use the scheduling rule to all posts (not pages!) by default
|
|
# SCHEDULE_ALL = False
|
|
|
|
# Do you want to add a Mathjax config file?
|
|
# MATHJAX_CONFIG = ""
|
|
|
|
# If you want support for the $.$ syntax (which may conflict with running
|
|
# text!), just use this config:
|
|
# MATHJAX_CONFIG = """
|
|
# <script type="text/x-mathjax-config">
|
|
# MathJax.Hub.Config({
|
|
# tex2jax: {
|
|
# inlineMath: [ ['$','$'], ["\\\(","\\\)"] ],
|
|
# displayMath: [ ['$$','$$'], ["\\\[","\\\]"] ],
|
|
# processEscapes: true
|
|
# },
|
|
# displayAlign: 'center', // Change this to 'left' if you want left-aligned equations.
|
|
# "HTML-CSS": {
|
|
# styles: {'.MathJax_Display': {"margin": 0}}
|
|
# }
|
|
# });
|
|
# </script>
|
|
# """
|
|
|
|
# Want to use KaTeX instead of MathJax? While KaTeX may not support every
|
|
# feature yet, it's faster and the output looks better.
|
|
# USE_KATEX = False
|
|
|
|
# KaTeX auto-render settings. If you want support for the $.$ syntax (which may
|
|
# conflict with running text!), just use this config:
|
|
# KATEX_AUTO_RENDER = """
|
|
# delimiters: [
|
|
# {left: "$$", right: "$$", display: true},
|
|
# {left: "\\\\[", right: "\\\\]", display: true},
|
|
# {left: "\\\\begin{equation*}", right: "\\\\end{equation*}", display: true},
|
|
# {left: "$", right: "$", display: false},
|
|
# {left: "\\\\(", right: "\\\\)", display: false}
|
|
# ]
|
|
# """
|
|
|
|
# Do you want to customize the nbconversion of your IPython notebook?
|
|
# IPYNB_CONFIG = {}
|
|
# With the following example configuration you can use a custom jinja template
|
|
# called `toggle.tpl` which has to be located in your site/blog main folder:
|
|
# IPYNB_CONFIG = {'Exporter': {'template_file': 'toggle'}}
|
|
|
|
# What Markdown extensions to enable?
|
|
# You will also get gist, nikola and podcast because those are
|
|
# done in the code, hope you don't mind ;-)
|
|
# Note: most Nikola-specific extensions are done via the Nikola plugin system,
|
|
# with the MarkdownExtension class and should not be added here.
|
|
# Defaults are markdown.extensions.(fenced_code|codehilite|extra)
|
|
# markdown.extensions.meta is required for Markdown metadata.
|
|
MARKDOWN_EXTENSIONS = ['markdown.extensions.fenced_code', 'markdown.extensions.codehilite', 'markdown.extensions.extra']
|
|
|
|
# Options to be passed to markdown extensions (See https://python-markdown.github.io/reference/)
|
|
# Default is {DEFAULT_LANG: {}} (no config at all)
|
|
# (translatable)
|
|
# MARKDOWN_EXTENSION_CONFIGS = {DEFAULT_LANG: {}}
|
|
|
|
|
|
# Extra options to pass to the pandoc command, empty by default.
|
|
# It can be a list of strings or a dict (keys are file extensions).
|
|
# Example for a list of strings (used for all extensions):
|
|
# PANDOC_OPTIONS = ['-F', 'pandoc-citeproc', '--bibliography=/Users/foo/references.bib']
|
|
# Example for a dict, where the keys are the extensions in COMPILERS['pandoc']:
|
|
# COMPILERS['pandoc'] = ['.rst', '.md', '.txt']
|
|
# PANDOC_OPTIONS = {
|
|
# '.rst': ['-t', 'rst'],
|
|
# '.md': ['-t', 'markdown'],
|
|
# '.txt': ['-t', 'markdown-raw_html'],
|
|
# }
|
|
# Pandoc does not demote headers by default. To enable this, you can use, for example
|
|
# ['--base-header-level=2']
|
|
# PANDOC_OPTIONS = []
|
|
|
|
# Social buttons. This is sample code for AddThis (which was the default for a
|
|
# long time). Insert anything you want here, or even make it empty (which is
|
|
# the default right now)
|
|
# (translatable)
|
|
# SOCIAL_BUTTONS_CODE = """
|
|
# <!-- Social buttons -->
|
|
# <div id="addthisbox" class="addthis_toolbox addthis_peekaboo_style addthis_default_style addthis_label_style addthis_32x32_style">
|
|
# <a class="addthis_button_more">Share</a>
|
|
# <ul><li><a class="addthis_button_facebook"></a>
|
|
# <li><a class="addthis_button_google_plusone_share"></a>
|
|
# <li><a class="addthis_button_linkedin"></a>
|
|
# <li><a class="addthis_button_twitter"></a>
|
|
# </ul>
|
|
# </div>
|
|
# <script src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-4f7088a56bb93798"></script>
|
|
# <!-- End of social buttons -->
|
|
# """
|
|
|
|
# Show link to source for the posts?
|
|
# SHOW_SOURCELINK = True
|
|
# Copy the source files for your pages?
|
|
# Setting it to False implies SHOW_SOURCELINK = False
|
|
# COPY_SOURCES = True
|
|
|
|
# Modify the number of Post per Index Page
|
|
# Defaults to 10
|
|
# INDEX_DISPLAY_POST_COUNT = 10
|
|
|
|
# By default, Nikola generates RSS files for the website and for tags, and
|
|
# links to it. Set this to False to disable everything RSS-related.
|
|
# GENERATE_RSS = True
|
|
|
|
# By default, Nikola does not generates Atom files for indexes and links to
|
|
# them. Generate Atom for tags by setting TAG_PAGES_ARE_INDEXES to True.
|
|
# Atom feeds are built based on INDEX_DISPLAY_POST_COUNT and not FEED_LENGTH
|
|
# Switch between plain-text summaries and full HTML content using the
|
|
# FEED_TEASER option. FEED_LINKS_APPEND_QUERY is also respected. Atom feeds
|
|
# are generated even for old indexes and have pagination link relations
|
|
# between each other. Old Atom feeds with no changes are marked as archived.
|
|
# GENERATE_ATOM = False
|
|
|
|
# Only include teasers in Atom and RSS feeds. Disabling include the full
|
|
# content. Defaults to True.
|
|
# FEED_TEASERS = True
|
|
|
|
# Strip HTML from Atom and RSS feed summaries and content. Defaults to False.
|
|
# FEED_PLAIN = False
|
|
|
|
# Number of posts in Atom and RSS feeds.
|
|
# FEED_LENGTH = 10
|
|
|
|
# RSS_LINK is a HTML fragment to link the RSS or Atom feeds. If set to None,
|
|
# the base.tmpl will use the feed Nikola generates. However, you may want to
|
|
# change it for a FeedBurner feed or something else.
|
|
# RSS_LINK = None
|
|
|
|
# A search form to search this site, for the sidebar. You can use a Google
|
|
# custom search (https://www.google.com/cse/)
|
|
# Or a DuckDuckGo search: https://duckduckgo.com/search_box.html
|
|
# Default is no search form.
|
|
# (translatable)
|
|
# SEARCH_FORM = ""
|
|
#
|
|
# This search form works for any site and looks good in the "site" theme where
|
|
# it appears on the navigation bar:
|
|
#
|
|
# SEARCH_FORM = """
|
|
# <!-- DuckDuckGo custom search -->
|
|
# <form method="get" id="search" action="https://duckduckgo.com/"
|
|
# class="navbar-form pull-left">
|
|
# <input type="hidden" name="sites" value="%s">
|
|
# <input type="hidden" name="k8" value="#444444">
|
|
# <input type="hidden" name="k9" value="#D51920">
|
|
# <input type="hidden" name="kt" value="h">
|
|
# <input type="text" name="q" maxlength="255"
|
|
# placeholder="Search…" class="span2" style="margin-top: 4px;">
|
|
# <input type="submit" value="DuckDuckGo Search" style="visibility: hidden;">
|
|
# </form>
|
|
# <!-- End of custom search -->
|
|
# """ % SITE_URL
|
|
#
|
|
# If you prefer a Google search form, here's an example that should just work:
|
|
# SEARCH_FORM = """
|
|
# <!-- Google custom search -->
|
|
# <form method="get" action="https://www.google.com/search" class="navbar-form navbar-right" role="search">
|
|
# <div class="form-group">
|
|
# <input type="text" name="q" class="form-control" placeholder="Search">
|
|
# </div>
|
|
# <button type="submit" class="btn btn-primary">
|
|
# <span class="glyphicon glyphicon-search"></span>
|
|
# </button>
|
|
# <input type="hidden" name="sitesearch" value="%s">
|
|
# </form>
|
|
# <!-- End of custom search -->
|
|
# """ % SITE_URL
|
|
|
|
# Use content distribution networks for jQuery, twitter-bootstrap css and js,
|
|
# and html5shiv (for older versions of Internet Explorer)
|
|
# If this is True, jQuery and html5shiv are served from the Google CDN and
|
|
# Bootstrap is served from BootstrapCDN (provided by MaxCDN)
|
|
# Set this to False if you want to host your site without requiring access to
|
|
# external resources.
|
|
# USE_CDN = False
|
|
|
|
# Check for USE_CDN compatibility.
|
|
# If you are using custom themes, have configured the CSS properly and are
|
|
# receiving warnings about incompatibility but believe they are incorrect, you
|
|
# can set this to False.
|
|
# USE_CDN_WARNING = True
|
|
|
|
# Extra things you want in the pages HEAD tag. This will be added right
|
|
# before </head>
|
|
# (translatable)
|
|
# EXTRA_HEAD_DATA = ""
|
|
# Google Analytics or whatever else you use. Added to the bottom of <body>
|
|
# in the default template (base.tmpl).
|
|
# (translatable)
|
|
# BODY_END = ""
|
|
|
|
# The possibility to extract metadata from the filename by using a
|
|
# regular expression.
|
|
# To make it work you need to name parts of your regular expression.
|
|
# The following names will be used to extract metadata:
|
|
# - title
|
|
# - slug
|
|
# - date
|
|
# - tags
|
|
# - link
|
|
# - description
|
|
#
|
|
# An example re is the following:
|
|
# '.*\/(?P<date>\d{4}-\d{2}-\d{2})-(?P<slug>.*)-(?P<title>.*)\.rst'
|
|
# (Note the '.*\/' in the beginning -- matches source paths relative to conf.py)
|
|
# FILE_METADATA_REGEXP = None
|
|
|
|
# Should titles fetched from file metadata be unslugified (made prettier?)
|
|
# FILE_METADATA_UNSLUGIFY_TITLES = True
|
|
|
|
# If enabled, extract metadata from docinfo fields in reST documents.
|
|
# If your text files start with a level 1 heading, it will be treated as the
|
|
# document title and will be removed from the text.
|
|
# USE_REST_DOCINFO_METADATA = False
|
|
|
|
# If enabled, hide docinfo fields in reST document output
|
|
# HIDE_REST_DOCINFO = False
|
|
|
|
# Map metadata from other formats to Nikola names.
|
|
# Supported formats: yaml, toml, rest_docinfo, markdown_metadata
|
|
# METADATA_MAPPING = {}
|
|
#
|
|
# Example for Pelican compatibility:
|
|
# METADATA_MAPPING = {
|
|
# "rest_docinfo": {"summary": "description", "modified": "updated"},
|
|
# "markdown_metadata": {"summary": "description", "modified": "updated"}
|
|
# }
|
|
# Other examples: https://getnikola.com/handbook.html#mapping-metadata-from-other-formats
|
|
|
|
# Map metadata between types/values. (Runs after METADATA_MAPPING.)
|
|
# Supported formats: nikola, yaml, toml, rest_docinfo, markdown_metadata
|
|
# The value on the right should be a dict of callables.
|
|
# METADATA_VALUE_MAPPING = {}
|
|
# Examples:
|
|
# METADATA_VALUE_MAPPING = {
|
|
# "yaml": {"keywords": lambda value: ', '.join(value)}, # yaml: 'keywords' list -> str
|
|
# "nikola": {
|
|
# "widgets": lambda value: value.split(', '), # nikola: 'widgets' comma-separated string -> list
|
|
# "tags": str.lower # nikola: force lowercase 'tags' (input would be string)
|
|
# }
|
|
# }
|
|
|
|
# Add any post types here that you want to be displayed without a title.
|
|
# If your theme supports it, the titles will not be shown.
|
|
# TYPES_TO_HIDE_TITLE = []
|
|
|
|
# Additional metadata that is added to a post when creating a new_post
|
|
# ADDITIONAL_METADATA = {}
|
|
|
|
# Nikola supports Twitter Card summaries, but they are disabled by default.
|
|
# They make it possible for you to attach media to Tweets that link
|
|
# to your content.
|
|
#
|
|
# Uncomment and modify to following lines to match your accounts.
|
|
# Images displayed come from the `previewimage` meta tag.
|
|
# You can specify the card type by using the `card` parameter in TWITTER_CARD.
|
|
# TWITTER_CARD = {
|
|
# # 'use_twitter_cards': True, # enable Twitter Cards
|
|
# # 'card': 'summary', # Card type, you can also use 'summary_large_image',
|
|
# # see https://dev.twitter.com/cards/types
|
|
# # 'site': '@website', # twitter nick for the website
|
|
# # 'creator': '@username', # Username for the content creator / author.
|
|
# }
|
|
|
|
# Bundle JS and CSS into single files to make site loading faster in a HTTP/1.1
|
|
# environment but is not recommended for HTTP/2.0 when caching is used.
|
|
# Defaults to True.
|
|
# USE_BUNDLES = True
|
|
|
|
# Plugins you don't want to use. Be careful :-)
|
|
# DISABLED_PLUGINS = ["render_galleries"]
|
|
|
|
# Special settings to disable only parts of the indexes plugin.
|
|
# Use with care.
|
|
# DISABLE_INDEXES = False
|
|
# DISABLE_MAIN_ATOM_FEED = False
|
|
# DISABLE_MAIN_RSS_FEED = False
|
|
|
|
# Add the absolute paths to directories containing plugins to use them.
|
|
# For example, the `plugins` directory of your clone of the Nikola plugins
|
|
# repository.
|
|
# EXTRA_PLUGINS_DIRS = []
|
|
|
|
# Add the absolute paths to directories containing themes to use them.
|
|
# For example, the `v7` directory of your clone of the Nikola themes
|
|
# repository.
|
|
# EXTRA_THEMES_DIRS = []
|
|
|
|
# List of regular expressions, links matching them will always be considered
|
|
# valid by "nikola check -l"
|
|
# LINK_CHECK_WHITELIST = []
|
|
|
|
# If set to True, enable optional hyphenation in your posts (requires pyphen)
|
|
# Enabling hyphenation has been shown to break math support in some cases,
|
|
# use with caution.
|
|
# HYPHENATE = False
|
|
|
|
# The <hN> tags in HTML generated by certain compilers (reST/Markdown)
|
|
# will be demoted by that much (1 → h1 will become h2 and so on)
|
|
# This was a hidden feature of the Markdown and reST compilers in the
|
|
# past. Useful especially if your post titles are in <h1> tags too, for
|
|
# example.
|
|
# (defaults to 1.)
|
|
# DEMOTE_HEADERS = 1
|
|
|
|
# If you don’t like slugified file names ([a-z0-9] and a literal dash),
|
|
# and would prefer to use all the characters your file system allows.
|
|
# USE WITH CARE! This is also not guaranteed to be perfect, and may
|
|
# sometimes crash Nikola, your web server, or eat your cat.
|
|
# USE_SLUGIFY = True
|
|
|
|
# If set to True, the tags 'draft', 'mathjax' and 'private' have special
|
|
# meaning. If set to False, these tags are handled like regular tags.
|
|
USE_TAG_METADATA = False
|
|
|
|
# If set to True, a warning is issued if one of the 'draft', 'mathjax'
|
|
# and 'private' tags are found in a post. Useful for checking that
|
|
# migration was successful.
|
|
WARN_ABOUT_TAG_METADATA = False
|
|
|
|
# Templates will use those filters, along with the defaults.
|
|
# Consult your engine's documentation on filters if you need help defining
|
|
# those.
|
|
# TEMPLATE_FILTERS = {}
|
|
|
|
# Put in global_context things you want available on all your templates.
|
|
# It can be anything, data, functions, modules, etc.
|
|
GLOBAL_CONTEXT = {}
|
|
|
|
# Add functions here and they will be called with template
|
|
# GLOBAL_CONTEXT as parameter when the template is about to be
|
|
# rendered
|
|
GLOBAL_CONTEXT_FILLER = []
|