diff options
Diffstat (limited to 'conf.py')
| -rw-r--r-- | conf.py | 1384 |
1 files changed, 1384 insertions, 0 deletions
diff --git a/conf.py b/conf.py new file mode 100644 index 00000000..27bc6d48 --- /dev/null +++ b/conf.py | |||
| @@ -0,0 +1,1384 @@ | |||
| 1 | # -*- coding: utf-8 -*- | ||
| 2 | |||
| 3 | import time | ||
| 4 | |||
| 5 | # !! This is the configuration of Nikola. !! # | ||
| 6 | # !! You should edit it to your liking. !! # | ||
| 7 | |||
| 8 | |||
| 9 | # ! Some settings can be different in different languages. | ||
| 10 | # ! A comment stating (translatable) is used to denote those. | ||
| 11 | # ! There are two ways to specify a translatable setting: | ||
| 12 | # ! (a) BLOG_TITLE = "My Blog" | ||
| 13 | # ! (b) BLOG_TITLE = {"en": "My Blog", "es": "Mi Blog"} | ||
| 14 | # ! Option (a) is used when you don't want that setting translated. | ||
| 15 | # ! Option (b) is used for settings that are different in different languages. | ||
| 16 | |||
| 17 | |||
| 18 | # Data about this site | ||
| 19 | BLOG_AUTHOR = "CCC" # (translatable) | ||
| 20 | BLOG_TITLE = "Chaos Computer Club" # (translatable) | ||
| 21 | # This is the main URL for your site. It will be used | ||
| 22 | # in a prominent link. Don't forget the protocol (http/https)! | ||
| 23 | SITE_URL = "https://www.chaoscomputerclub.de/" | ||
| 24 | # This is the URL where Nikola's output will be deployed. | ||
| 25 | # If not set, defaults to SITE_URL | ||
| 26 | # BASE_URL = "https://www.ccc.de/" | ||
| 27 | BLOG_EMAIL = "mail@ccc.de" | ||
| 28 | BLOG_DESCRIPTION = "Die größter Hacker-Organisation Europas" # (translatable) | ||
| 29 | |||
| 30 | # Nikola is multilingual! | ||
| 31 | # | ||
| 32 | # Currently supported languages are: | ||
| 33 | # | ||
| 34 | # en English | ||
| 35 | # af Afrikaans | ||
| 36 | # ar Arabic | ||
| 37 | # az Azerbaijani | ||
| 38 | # bg Bulgarian | ||
| 39 | # bs Bosnian | ||
| 40 | # ca Catalan | ||
| 41 | # cs Czech [ALTERNATIVELY cz] | ||
| 42 | # da Danish | ||
| 43 | # de German | ||
| 44 | # el Greek [NOT gr] | ||
| 45 | # eo Esperanto | ||
| 46 | # es Spanish | ||
| 47 | # et Estonian | ||
| 48 | # eu Basque | ||
| 49 | # fa Persian | ||
| 50 | # fi Finnish | ||
| 51 | # fr French | ||
| 52 | # fur Friulian | ||
| 53 | # gl Galician | ||
| 54 | # he Hebrew | ||
| 55 | # hi Hindi | ||
| 56 | # hr Croatian | ||
| 57 | # hu Hungarian | ||
| 58 | # ia Interlingua | ||
| 59 | # id Indonesian | ||
| 60 | # it Italian | ||
| 61 | # ja Japanese [NOT jp] | ||
| 62 | # ko Korean | ||
| 63 | # lt Lithuanian | ||
| 64 | # ml Malayalam | ||
| 65 | # nb Norwegian (Bokmål) | ||
| 66 | # nl Dutch | ||
| 67 | # pa Punjabi | ||
| 68 | # pl Polish | ||
| 69 | # pt Portuguese | ||
| 70 | # pt_br Portuguese (Brazil) | ||
| 71 | # ru Russian | ||
| 72 | # sk Slovak | ||
| 73 | # sl Slovene | ||
| 74 | # sq Albanian | ||
| 75 | # sr Serbian (Cyrillic) | ||
| 76 | # sr_latin Serbian (Latin) | ||
| 77 | # sv Swedish | ||
| 78 | # te Telugu | ||
| 79 | # th Thai | ||
| 80 | # tr Turkish [NOT tr_TR] | ||
| 81 | # uk Ukrainian | ||
| 82 | # ur Urdu | ||
| 83 | # vi Vietnamese | ||
| 84 | # zh_cn Chinese (Simplified) | ||
| 85 | # zh_tw Chinese (Traditional) | ||
| 86 | # | ||
| 87 | # If you want to use Nikola with a non-supported language you have to provide | ||
| 88 | # a module containing the necessary translations | ||
| 89 | # (cf. the modules at nikola/data/themes/base/messages/). | ||
| 90 | # If a specific post is not translated to a language, then the version | ||
| 91 | # in the default language will be shown instead. | ||
| 92 | |||
| 93 | # What is the default language? | ||
| 94 | DEFAULT_LANG = "de" | ||
| 95 | |||
| 96 | # What other languages do you have? | ||
| 97 | # The format is {"translationcode" : "path/to/translation" } | ||
| 98 | # the path will be used as a prefix for the generated pages location | ||
| 99 | TRANSLATIONS = { | ||
| 100 | DEFAULT_LANG: "", | ||
| 101 | # Example for another language: | ||
| 102 | "en": "./en", | ||
| 103 | } | ||
| 104 | |||
| 105 | # What will translated input files be named like? | ||
| 106 | |||
| 107 | # If you have a page something.rst, then something.pl.rst will be considered | ||
| 108 | # its Polish translation. | ||
| 109 | # (in the above example: path == "something", ext == "rst", lang == "pl") | ||
| 110 | # this pattern is also used for metadata: | ||
| 111 | # something.meta -> something.pl.meta | ||
| 112 | |||
| 113 | TRANSLATIONS_PATTERN = '{path}.{lang}.{ext}' | ||
| 114 | |||
| 115 | # Links for the sidebar / navigation bar. (translatable) | ||
| 116 | # This is a dict. The keys are languages, and values are tuples. | ||
| 117 | # | ||
| 118 | # For regular links: | ||
| 119 | # ('https://getnikola.com/', 'Nikola Homepage') | ||
| 120 | # | ||
| 121 | # For submenus: | ||
| 122 | # ( | ||
| 123 | # ( | ||
| 124 | # ('https://apple.com/', 'Apple'), | ||
| 125 | # ('https://orange.com/', 'Orange'), | ||
| 126 | # ), | ||
| 127 | # 'Fruits' | ||
| 128 | # ) | ||
| 129 | # | ||
| 130 | # WARNING: Support for submenus is theme-dependent. | ||
| 131 | # Only one level of submenus is supported. | ||
| 132 | # WARNING: Some themes, including the default Bootstrap 4 theme, | ||
| 133 | # may present issues if the menu is too large. | ||
| 134 | # (in Bootstrap, the navbar can grow too large and cover contents.) | ||
| 135 | # WARNING: If you link to directories, make sure to follow | ||
| 136 | # ``STRIP_INDEXES``. If it’s set to ``True``, end your links | ||
| 137 | # with a ``/``, otherwise end them with ``/index.html`` — or | ||
| 138 | # else they won’t be highlighted when active. | ||
| 139 | |||
| 140 | NAVIGATION_LINKS = { | ||
| 141 | DEFAULT_LANG: ( | ||
| 142 | # ("/archive.html", "Archiv"), | ||
| 143 | # ("/categories/", "Tags"), | ||
| 144 | # ("/rss.xml", "RSS-Feed"), | ||
| 145 | ), | ||
| 146 | } | ||
| 147 | |||
| 148 | # Alternative navigation links. Works the same way NAVIGATION_LINKS does, | ||
| 149 | # although themes may not always support them. (translatable) | ||
| 150 | # (Bootstrap 4: right-side of navbar, Bootblog 4: right side of title) | ||
| 151 | NAVIGATION_ALT_LINKS = { | ||
| 152 | DEFAULT_LANG: () | ||
| 153 | } | ||
| 154 | |||
| 155 | # Name of the theme to use. | ||
| 156 | THEME = "ccc" | ||
| 157 | |||
| 158 | # Primary color of your theme. This will be used to customize your theme. | ||
| 159 | # Must be a HEX value. | ||
| 160 | THEME_COLOR = '#5670d4' | ||
| 161 | |||
| 162 | # Theme configuration. Fully theme-dependent. (translatable) | ||
| 163 | # Examples below are for bootblog4. | ||
| 164 | # bootblog4 supports: featured_large featured_small featured_on_mobile | ||
| 165 | # featured_large_image_on_mobile featured_strip_html sidebar | ||
| 166 | # bootstrap4 supports: navbar_light (defaults to False) | ||
| 167 | THEME_CONFIG = { | ||
| 168 | DEFAULT_LANG: { | ||
| 169 | # Show the latest featured post in a large box, with the previewimage as its background. | ||
| 170 | 'featured_large': False, | ||
| 171 | # Show the first (remaining) two featured posts in small boxes. | ||
| 172 | 'featured_small': False, | ||
| 173 | # Show featured posts on mobile. | ||
| 174 | 'featured_on_mobile': True, | ||
| 175 | # Show image in `featured_large` on mobile. | ||
| 176 | # `featured_small` displays them only on desktop. | ||
| 177 | 'featured_large_image_on_mobile': True, | ||
| 178 | # Strip HTML from featured post text. | ||
| 179 | 'featured_strip_html': False, | ||
| 180 | # Contents of the sidebar, If empty, the sidebar is not displayed. | ||
| 181 | 'sidebar': '', | ||
| 182 | # light navbar | ||
| 183 | 'navbar_light': True, | ||
| 184 | } | ||
| 185 | } | ||
| 186 | |||
| 187 | # POSTS and PAGES contains (wildcard, destination, template) tuples. | ||
| 188 | # (translatable) | ||
| 189 | # | ||
| 190 | # The wildcard is used to generate a list of source files | ||
| 191 | # (whatever/thing.rst, for example). | ||
| 192 | # | ||
| 193 | # That fragment could have an associated metadata file (whatever/thing.meta), | ||
| 194 | # and optionally translated files (example for Spanish, with code "es"): | ||
| 195 | # whatever/thing.es.rst and whatever/thing.es.meta | ||
| 196 | # | ||
| 197 | # This assumes you use the default TRANSLATIONS_PATTERN. | ||
| 198 | # | ||
| 199 | # From those files, a set of HTML fragment files will be generated: | ||
| 200 | # cache/whatever/thing.html (and maybe cache/whatever/thing.html.es) | ||
| 201 | # | ||
| 202 | # These files are combined with the template to produce rendered | ||
| 203 | # pages, which will be placed at | ||
| 204 | # output/TRANSLATIONS[lang]/destination/pagename.html | ||
| 205 | # | ||
| 206 | # where "pagename" is the "slug" specified in the metadata file. | ||
| 207 | # The page might also be placed in /destination/pagename/index.html | ||
| 208 | # if PRETTY_URLS are enabled. | ||
| 209 | # | ||
| 210 | # The difference between POSTS and PAGES is that POSTS are added | ||
| 211 | # to feeds, indexes, tag lists and archives and are considered part | ||
| 212 | # of a blog, while PAGES are just independent HTML pages. | ||
| 213 | # | ||
| 214 | # Finally, note that destination can be translated, i.e. you can | ||
| 215 | # specify a different translation folder per language. Example: | ||
| 216 | # PAGES = ( | ||
| 217 | # ("pages/*.rst", {"en": "pages", "de": "seiten"}, "page.tmpl"), | ||
| 218 | # ("pages/*.md", {"en": "pages", "de": "seiten"}, "page.tmpl"), | ||
| 219 | # ) | ||
| 220 | |||
| 221 | POSTS = ( | ||
| 222 | ("updates/*.rst", "updates", "post.tmpl"), | ||
| 223 | ("updates/*.md", "updates", "post.tmpl"), | ||
| 224 | ("updates/*.txt", "updates", "post.tmpl"), | ||
| 225 | ("updates/*.html", "updates", "post.tmpl"), | ||
| 226 | ("cpu/*.rst", "cpu", "post.tmpl"), | ||
| 227 | ("cpu/*.md", "cpu", "post.tmpl"), | ||
| 228 | ("cpu/*.txt", "cpu", "post.tmpl"), | ||
| 229 | ("cpu/*.html", "cpu", "post.tmpl"), | ||
| 230 | ) | ||
| 231 | |||
| 232 | PAGES = ( | ||
| 233 | ("pages/*.rst", "", "page.tmpl"), | ||
| 234 | ("pages/*.md", "", "page.tmpl"), | ||
| 235 | ("pages/*.txt", "", "page.tmpl"), | ||
| 236 | ("pages/*.html", "", "page.tmpl"), | ||
| 237 | ) | ||
| 238 | |||
| 239 | |||
| 240 | # Below this point, everything is optional | ||
| 241 | |||
| 242 | # Post's dates are considered in UTC by default, if you want to use | ||
| 243 | # another time zone, please set TIMEZONE to match. Check the available | ||
| 244 | # list from Wikipedia: | ||
| 245 | # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones | ||
| 246 | # (e.g. 'Europe/Zurich') | ||
| 247 | # Also, if you want to use a different time zone in some of your posts, | ||
| 248 | # you can use the ISO 8601/RFC 3339 format (ex. 2012-03-30T23:00:00+02:00) | ||
| 249 | TIMEZONE = "CET" | ||
| 250 | |||
| 251 | # If you want to use ISO 8601 (also valid RFC 3339) throughout Nikola | ||
| 252 | # (especially in new_post), set this to True. | ||
| 253 | # Note that this does not affect DATE_FORMAT. | ||
| 254 | # FORCE_ISO8601 = False | ||
| 255 | |||
| 256 | # Date format used to display post dates. (translatable) | ||
| 257 | # Used by babel.dates, CLDR style: http://cldr.unicode.org/translation/date-time | ||
| 258 | # You can also use 'full', 'long', 'medium', or 'short' | ||
| 259 | # DATE_FORMAT = 'yyyy-MM-dd HH:mm' | ||
| 260 | |||
| 261 | # Date format used to display post dates, if local dates are used. (translatable) | ||
| 262 | # Used by moment.js: https://momentjs.com/docs/#/displaying/format/ | ||
| 263 | # JS_DATE_FORMAT = 'YYYY-MM-DD HH:mm' | ||
| 264 | |||
| 265 | # Date fanciness. | ||
| 266 | # | ||
| 267 | # 0 = using DATE_FORMAT and TIMEZONE | ||
| 268 | # 1 = using JS_DATE_FORMAT and local user time (via moment.js) | ||
| 269 | # 2 = using a string like “2 days ago” | ||
| 270 | # | ||
| 271 | # Your theme must support it, Bootstrap already does. | ||
| 272 | # DATE_FANCINESS = 0 | ||
| 273 | |||
| 274 | # Customize the locale/region used for a language. | ||
| 275 | # For example, to use British instead of US English: LOCALES = {'en': 'en_GB'} | ||
| 276 | # LOCALES = {} | ||
| 277 | |||
| 278 | # One or more folders containing files to be copied as-is into the output. | ||
| 279 | # The format is a dictionary of {source: relative destination}. | ||
| 280 | # Default is: | ||
| 281 | FILES_FOLDERS = {'files': 'files'} | ||
| 282 | # Which means copy 'files' into 'output' | ||
| 283 | |||
| 284 | # One or more folders containing code listings to be processed and published on | ||
| 285 | # the site. The format is a dictionary of {source: relative destination}. | ||
| 286 | # Default is: | ||
| 287 | # LISTINGS_FOLDERS = {'listings': 'listings'} | ||
| 288 | # Which means process listings from 'listings' into 'output/listings' | ||
| 289 | |||
| 290 | # A mapping of languages to file-extensions that represent that language. | ||
| 291 | # Feel free to add or delete extensions to any list, but don't add any new | ||
| 292 | # compilers unless you write the interface for it yourself. | ||
| 293 | # | ||
| 294 | # The default compiler for `new_post` is the first entry in the POSTS tuple. | ||
| 295 | # | ||
| 296 | # 'rest' is reStructuredText | ||
| 297 | # 'markdown' is Markdown | ||
| 298 | # 'html' assumes the file is HTML and just copies it | ||
| 299 | COMPILERS = { | ||
| 300 | "rest": ('.rst', '.txt'), | ||
| 301 | "markdown": ('.md', '.mdown', '.markdown'), | ||
| 302 | "textile": ('.textile',), | ||
| 303 | "txt2tags": ('.t2t',), | ||
| 304 | "bbcode": ('.bb',), | ||
| 305 | "wiki": ('.wiki',), | ||
| 306 | "ipynb": ('.ipynb',), | ||
| 307 | "html": ('.html', '.htm'), | ||
| 308 | # PHP files are rendered the usual way (i.e. with the full templates). | ||
| 309 | # The resulting files have .php extensions, making it possible to run | ||
| 310 | # them without reconfiguring your server to recognize them. | ||
| 311 | "php": ('.php',), | ||
| 312 | # Pandoc detects the input from the source filename | ||
| 313 | # but is disabled by default as it would conflict | ||
| 314 | # with many of the others. | ||
| 315 | # "pandoc": ('.rst', '.md', '.txt'), | ||
| 316 | } | ||
| 317 | |||
| 318 | # Enable reST directives that insert the contents of external files such | ||
| 319 | # as "include" and "raw." This maps directly to the docutils file_insertion_enabled | ||
| 320 | # config. See: http://docutils.sourceforge.net/docs/user/config.html#file-insertion-enabled | ||
| 321 | # REST_FILE_INSERTION_ENABLED = True | ||
| 322 | |||
| 323 | # Create by default posts in one file format? | ||
| 324 | # Set to False for two-file posts, with separate metadata. | ||
| 325 | # ONE_FILE_POSTS = True | ||
| 326 | |||
| 327 | # Preferred metadata format for new posts | ||
| 328 | # "Nikola": reST comments, wrapped in a HTML comment if needed (default) | ||
| 329 | # "YAML": YAML wrapped in "---" | ||
| 330 | # "TOML": TOML wrapped in "+++" | ||
| 331 | # "Pelican": Native markdown metadata or reST docinfo fields. Nikola style for other formats. | ||
| 332 | METADATA_FORMAT = "Pelican" | ||
| 333 | |||
| 334 | # Use date-based path when creating posts? | ||
| 335 | # Can be enabled on a per-post basis with `nikola new_post -d`. | ||
| 336 | # The setting is ignored when creating pages. | ||
| 337 | # NEW_POST_DATE_PATH = False | ||
| 338 | |||
| 339 | # What format to use when creating posts with date paths? | ||
| 340 | # Default is '%Y/%m/%d', other possibilities include '%Y' or '%Y/%m'. | ||
| 341 | # NEW_POST_DATE_PATH_FORMAT = '%Y/%m/%d' | ||
| 342 | |||
| 343 | # If this is set to True, the DEFAULT_LANG version will be displayed for | ||
| 344 | # untranslated posts. | ||
| 345 | # If this is set to False, then posts that are not translated to a language | ||
| 346 | # LANG will not be visible at all in the pages in that language. | ||
| 347 | # SHOW_UNTRANSLATED_POSTS = True | ||
| 348 | |||
| 349 | # Nikola supports logo display. If you have one, you can put the URL here. | ||
| 350 | # Final output is <img src="LOGO_URL" id="logo" alt="BLOG_TITLE">. | ||
| 351 | # The URL may be relative to the site root. | ||
| 352 | # LOGO_URL = '' | ||
| 353 | |||
| 354 | # If you want to hide the title of your website (for example, if your logo | ||
| 355 | # already contains the text), set this to False. | ||
| 356 | SHOW_BLOG_TITLE = True | ||
| 357 | |||
| 358 | # Paths for different autogenerated bits. These are combined with the | ||
| 359 | # translation paths. | ||
| 360 | |||
| 361 | # Final locations are: | ||
| 362 | # output / TRANSLATION[lang] / TAG_PATH / index.html (list of tags) | ||
| 363 | # output / TRANSLATION[lang] / TAG_PATH / tag.html (list of posts for a tag) | ||
| 364 | # output / TRANSLATION[lang] / TAG_PATH / tag RSS_EXTENSION (RSS feed for a tag) | ||
| 365 | # (translatable) | ||
| 366 | TAG_PATH = "tags" | ||
| 367 | |||
| 368 | # By default, the list of tags is stored in | ||
| 369 | # output / TRANSLATION[lang] / TAG_PATH / index.html | ||
| 370 | # (see explanation for TAG_PATH). This location can be changed to | ||
| 371 | # output / TRANSLATION[lang] / TAGS_INDEX_PATH | ||
| 372 | # with an arbitrary relative path TAGS_INDEX_PATH. | ||
| 373 | # (translatable) | ||
| 374 | # TAGS_INDEX_PATH = "tags.html" | ||
| 375 | |||
| 376 | # If TAG_PAGES_ARE_INDEXES is set to True, each tag's page will contain | ||
| 377 | # the posts themselves. If set to False, it will be just a list of links. | ||
| 378 | TAG_PAGES_ARE_INDEXES = True | ||
| 379 | |||
| 380 | # Set descriptions for tag pages to make them more interesting. The | ||
| 381 | # default is no description. The value is used in the meta description | ||
| 382 | # and displayed underneath the tag list or index page’s title. | ||
| 383 | # TAG_DESCRIPTIONS = { | ||
| 384 | # DEFAULT_LANG: { | ||
| 385 | # "blogging": "Meta-blog posts about blogging.", | ||
| 386 | # "open source": "My contributions to my many, varied, ever-changing, and eternal libre software projects." | ||
| 387 | # }, | ||
| 388 | # } | ||
| 389 | |||
| 390 | # Set special titles for tag pages. The default is "Posts about TAG". | ||
| 391 | # TAG_TITLES = { | ||
| 392 | # DEFAULT_LANG: { | ||
| 393 | # "blogging": "Meta-posts about blogging", | ||
| 394 | # "open source": "Posts about open source software" | ||
| 395 | # }, | ||
| 396 | # } | ||
| 397 | |||
| 398 | # If you do not want to display a tag publicly, you can mark it as hidden. | ||
| 399 | # The tag will not be displayed on the tag list page and posts. | ||
| 400 | # Tag pages will still be generated. | ||
| 401 | HIDDEN_TAGS = ['mathjax', 'featured-small', 'featured-large', "update"] | ||
| 402 | |||
| 403 | # Only include tags on the tag list/overview page if there are at least | ||
| 404 | # TAGLIST_MINIMUM_POSTS number of posts or more with every tag. Every tag | ||
| 405 | # page is still generated, linked from posts, and included in the sitemap. | ||
| 406 | # However, more obscure tags can be hidden from the tag index page. | ||
| 407 | TAGLIST_MINIMUM_POSTS = 2 | ||
| 408 | |||
| 409 | # A list of dictionaries specifying tags which translate to each other. | ||
| 410 | # Format: a list of dicts {language: translation, language2: translation2, …} | ||
| 411 | # For example: | ||
| 412 | # [ | ||
| 413 | # {'en': 'private', 'de': 'Privat'}, | ||
| 414 | # {'en': 'work', 'fr': 'travail', 'de': 'Arbeit'}, | ||
| 415 | # ] | ||
| 416 | # TAG_TRANSLATIONS = [] | ||
| 417 | |||
| 418 | # If set to True, a tag in a language will be treated as a translation | ||
| 419 | # of the literally same tag in all other languages. Enable this if you | ||
| 420 | # do not translate tags, for example. | ||
| 421 | # TAG_TRANSLATIONS_ADD_DEFAULTS = True | ||
| 422 | |||
| 423 | # Final locations are: | ||
| 424 | # output / TRANSLATION[lang] / CATEGORY_PATH / index.html (list of categories) | ||
| 425 | # output / TRANSLATION[lang] / CATEGORY_PATH / CATEGORY_PREFIX category.html (list of posts for a category) | ||
| 426 | # output / TRANSLATION[lang] / CATEGORY_PATH / CATEGORY_PREFIX category RSS_EXTENSION (RSS feed for a category) | ||
| 427 | # (translatable) | ||
| 428 | CATEGORY_PATH = "category" | ||
| 429 | CATEGORY_PREFIX = "" | ||
| 430 | |||
| 431 | # By default, the list of categories is stored in | ||
| 432 | # output / TRANSLATION[lang] / CATEGORY_PATH / index.html | ||
| 433 | # (see explanation for CATEGORY_PATH). This location can be changed to | ||
| 434 | # output / TRANSLATION[lang] / CATEGORIES_INDEX_PATH | ||
| 435 | # with an arbitrary relative path CATEGORIES_INDEX_PATH. | ||
| 436 | # (translatable) | ||
| 437 | # CATEGORIES_INDEX_PATH = "categories.html" | ||
| 438 | |||
| 439 | # If CATEGORY_ALLOW_HIERARCHIES is set to True, categories can be organized in | ||
| 440 | # hierarchies. For a post, the whole path in the hierarchy must be specified, | ||
| 441 | # using a forward slash ('/') to separate paths. Use a backslash ('\') to escape | ||
| 442 | # a forward slash or a backslash (i.e. '\//\\' is a path specifying the | ||
| 443 | # subcategory called '\' of the top-level category called '/'). | ||
| 444 | CATEGORY_ALLOW_HIERARCHIES = False | ||
| 445 | # If CATEGORY_OUTPUT_FLAT_HIERARCHY is set to True, the output written to output | ||
| 446 | # contains only the name of the leaf category and not the whole path. | ||
| 447 | CATEGORY_OUTPUT_FLAT_HIERARCHY = False | ||
| 448 | |||
| 449 | # If CATEGORY_PAGES_ARE_INDEXES is set to True, each category's page will contain | ||
| 450 | # the posts themselves. If set to False, it will be just a list of links. | ||
| 451 | CATEGORY_PAGES_ARE_INDEXES = True | ||
| 452 | |||
| 453 | # Set descriptions for category pages to make them more interesting. The | ||
| 454 | # default is no description. The value is used in the meta description | ||
| 455 | # and displayed underneath the category list or index page’s title. | ||
| 456 | # CATEGORY_DESCRIPTIONS = { | ||
| 457 | # DEFAULT_LANG: { | ||
| 458 | # "blogging": "Meta-blog posts about blogging.", | ||
| 459 | # "open source": "My contributions to my many, varied, ever-changing, and eternal libre software projects." | ||
| 460 | # }, | ||
| 461 | # } | ||
| 462 | |||
| 463 | # Set special titles for category pages. The default is "Posts about CATEGORY". | ||
| 464 | # CATEGORY_TITLES = { | ||
| 465 | # DEFAULT_LANG: { | ||
| 466 | # "blogging": "Meta-posts about blogging", | ||
| 467 | # "open source": "Posts about open source software" | ||
| 468 | # }, | ||
| 469 | # } | ||
| 470 | |||
| 471 | # If you do not want to display a category publicly, you can mark it as hidden. | ||
| 472 | # The category will not be displayed on the category list page. | ||
| 473 | # Category pages will still be generated. | ||
| 474 | HIDDEN_CATEGORIES = [] | ||
| 475 | |||
| 476 | # A list of dictionaries specifying categories which translate to each other. | ||
| 477 | # Format: a list of dicts {language: translation, language2: translation2, …} | ||
| 478 | # See TAG_TRANSLATIONS example above. | ||
| 479 | # CATEGORY_TRANSLATIONS = [] | ||
| 480 | |||
| 481 | # If set to True, a category in a language will be treated as a translation | ||
| 482 | # of the literally same category in all other languages. Enable this if you | ||
| 483 | # do not translate categories, for example. | ||
| 484 | # CATEGORY_TRANSLATIONS_ADD_DEFAULTS = True | ||
| 485 | |||
| 486 | # If no category is specified in a post, the destination path of the post | ||
| 487 | # can be used in its place. This replaces the sections feature. Using | ||
| 488 | # category hierarchies is recommended. | ||
| 489 | CATEGORY_DESTPATH_AS_DEFAULT = True | ||
| 490 | |||
| 491 | # If True, the prefix will be trimmed from the category name, eg. if the | ||
| 492 | # POSTS destination is "foo/bar", and the path is "foo/bar/baz/quux", | ||
| 493 | # the category will be "baz/quux" (or "baz" if only the first directory is considered). | ||
| 494 | # Note that prefixes coming from translations are always ignored. | ||
| 495 | CATEGORY_DESTPATH_TRIM_PREFIX = False | ||
| 496 | |||
| 497 | # If True, only the first directory of a path will be used. | ||
| 498 | CATEGORY_DESTPATH_FIRST_DIRECTORY_ONLY = True | ||
| 499 | |||
| 500 | # Map paths to prettier category names. (translatable) | ||
| 501 | # CATEGORY_DESTPATH_NAMES = { | ||
| 502 | # DEFAULT_LANG: { | ||
| 503 | # 'webdev': 'Web Development', | ||
| 504 | # 'webdev/django': 'Web Development/Django', | ||
| 505 | # 'random': 'Odds and Ends', | ||
| 506 | # }, | ||
| 507 | # } | ||
| 508 | |||
| 509 | # By default, category indexes will appear in CATEGORY_PATH and use | ||
| 510 | # CATEGORY_PREFIX. If this is enabled, those settings will be ignored (except | ||
| 511 | # for the index) and instead, they will follow destination paths (eg. category | ||
| 512 | # 'foo' might appear in 'posts/foo'). If the category does not come from a | ||
| 513 | # destpath, first entry in POSTS followed by the category name will be used. | ||
| 514 | # For this setting, category hierarchies are required and cannot be flattened. | ||
| 515 | # CATEGORY_PAGES_FOLLOW_DESTPATH = False | ||
| 516 | |||
| 517 | # If ENABLE_AUTHOR_PAGES is set to True and there is more than one | ||
| 518 | # author, author pages are generated. | ||
| 519 | # ENABLE_AUTHOR_PAGES = True | ||
| 520 | |||
| 521 | # Path to author pages. Final locations are: | ||
| 522 | # output / TRANSLATION[lang] / AUTHOR_PATH / index.html (list of authors) | ||
| 523 | # output / TRANSLATION[lang] / AUTHOR_PATH / author.html (list of posts by an author) | ||
| 524 | # output / TRANSLATION[lang] / AUTHOR_PATH / author RSS_EXTENSION (RSS feed for an author) | ||
| 525 | # (translatable) | ||
| 526 | # AUTHOR_PATH = "authors" | ||
| 527 | |||
| 528 | # If AUTHOR_PAGES_ARE_INDEXES is set to True, each author's page will contain | ||
| 529 | # the posts themselves. If set to False, it will be just a list of links. | ||
| 530 | AUTHOR_PAGES_ARE_INDEXES = True | ||
| 531 | |||
| 532 | # Set descriptions for author pages to make them more interesting. The | ||
| 533 | # default is no description. The value is used in the meta description | ||
| 534 | # and displayed underneath the author list or index page’s title. | ||
| 535 | # AUTHOR_PAGES_DESCRIPTIONS = { | ||
| 536 | # DEFAULT_LANG: { | ||
| 537 | # "Juanjo Conti": "Python coder and writer.", | ||
| 538 | # "Roberto Alsina": "Nikola father." | ||
| 539 | # }, | ||
| 540 | # } | ||
| 541 | |||
| 542 | |||
| 543 | # If you do not want to display an author publicly, you can mark it as hidden. | ||
| 544 | # The author will not be displayed on the author list page and posts. | ||
| 545 | # Tag pages will still be generated. | ||
| 546 | HIDDEN_AUTHORS = ['Guest'] | ||
| 547 | |||
| 548 | # Final location for the main blog page and sibling paginated pages is | ||
| 549 | # output / TRANSLATION[lang] / INDEX_PATH / index-*.html | ||
| 550 | # (translatable) | ||
| 551 | INDEX_PATH = "updates" | ||
| 552 | |||
| 553 | # Optional HTML that displayed on “main” blog index.html files. | ||
| 554 | # May be used for a greeting. (translatable) | ||
| 555 | FRONT_INDEX_HEADER = { | ||
| 556 | DEFAULT_LANG: '' | ||
| 557 | } | ||
| 558 | |||
| 559 | # Create per-month archives instead of per-year | ||
| 560 | # CREATE_MONTHLY_ARCHIVE = False | ||
| 561 | # Create one large archive instead of per-year | ||
| 562 | # CREATE_SINGLE_ARCHIVE = False | ||
| 563 | # Create year, month, and day archives each with a (long) list of posts | ||
| 564 | # (overrides both CREATE_MONTHLY_ARCHIVE and CREATE_SINGLE_ARCHIVE) | ||
| 565 | # CREATE_FULL_ARCHIVES = False | ||
| 566 | # If monthly archives or full archives are created, adds also one archive per day | ||
| 567 | # CREATE_DAILY_ARCHIVE = False | ||
| 568 | # Create previous, up, next navigation links for archives | ||
| 569 | # CREATE_ARCHIVE_NAVIGATION = False | ||
| 570 | # Final locations for the archives are: | ||
| 571 | # output / TRANSLATION[lang] / ARCHIVE_PATH / ARCHIVE_FILENAME | ||
| 572 | # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / index.html | ||
| 573 | # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / index.html | ||
| 574 | # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / DAY / index.html | ||
| 575 | # (translatable) | ||
| 576 | # ARCHIVE_PATH = "" | ||
| 577 | # ARCHIVE_FILENAME = "archive.html" | ||
| 578 | |||
| 579 | # If ARCHIVES_ARE_INDEXES is set to True, each archive page which contains a list | ||
| 580 | # of posts will contain the posts themselves. If set to False, it will be just a | ||
| 581 | # list of links. | ||
| 582 | # ARCHIVES_ARE_INDEXES = False | ||
| 583 | |||
| 584 | # URLs to other posts/pages can take 3 forms: | ||
| 585 | # rel_path: a relative URL to the current page/post (default) | ||
| 586 | # full_path: a URL with the full path from the root | ||
| 587 | # absolute: a complete URL (that includes the SITE_URL) | ||
| 588 | # URL_TYPE = 'rel_path' | ||
| 589 | |||
| 590 | # Extension for RSS feed files | ||
| 591 | # RSS_EXTENSION = ".xml" | ||
| 592 | |||
| 593 | # RSS filename base (without extension); used for indexes and galleries. | ||
| 594 | # (translatable) | ||
| 595 | # RSS_FILENAME_BASE = "rss" | ||
| 596 | |||
| 597 | # Final location for the blog main RSS feed is: | ||
| 598 | # output / TRANSLATION[lang] / RSS_PATH / RSS_FILENAME_BASE RSS_EXTENSION | ||
| 599 | # (translatable) | ||
| 600 | # RSS_PATH = "" | ||
| 601 | |||
| 602 | # Final location for the blog main Atom feed is: | ||
| 603 | # output / TRANSLATION[lang] / ATOM_PATH / ATOM_FILENAME_BASE ATOM_EXTENSION | ||
| 604 | # (translatable) | ||
| 605 | # ATOM_PATH = "" | ||
| 606 | |||
| 607 | # Atom filename base (without extension); used for indexes. | ||
| 608 | # (translatable) | ||
| 609 | ATOM_FILENAME_BASE = "feed" | ||
| 610 | |||
| 611 | # Extension for Atom feed files | ||
| 612 | # ATOM_EXTENSION = ".atom" | ||
| 613 | |||
| 614 | # Slug the Tag URL. Easier for users to type, special characters are | ||
| 615 | # often removed or replaced as well. | ||
| 616 | # SLUG_TAG_PATH = True | ||
| 617 | |||
| 618 | # Slug the Author URL. Easier for users to type, special characters are | ||
| 619 | # often removed or replaced as well. | ||
| 620 | # SLUG_AUTHOR_PATH = True | ||
| 621 | |||
| 622 | # A list of redirection tuples, [("foo/from.html", "/bar/to.html")]. | ||
| 623 | # | ||
| 624 | # A HTML file will be created in output/foo/from.html that redirects | ||
| 625 | # to the "/bar/to.html" URL. notice that the "from" side MUST be a | ||
| 626 | # relative URL. | ||
| 627 | # | ||
| 628 | # If you don't need any of these, just set to [] | ||
| 629 | REDIRECTIONS = [] | ||
| 630 | |||
| 631 | # Presets of commands to execute to deploy. Can be anything, for | ||
| 632 | # example, you may use rsync: | ||
| 633 | # "rsync -rav --delete output/ joe@my.site:/srv/www/site" | ||
| 634 | # And then do a backup, or run `nikola ping` from the `ping` | ||
| 635 | # plugin (`nikola plugin -i ping`). Or run `nikola check -l`. | ||
| 636 | # You may also want to use github_deploy (see below). | ||
| 637 | # You can define multiple presets and specify them as arguments | ||
| 638 | # to `nikola deploy`. If no arguments are specified, a preset | ||
| 639 | # named `default` will be executed. You can use as many presets | ||
| 640 | # in a `nikola deploy` command as you like. | ||
| 641 | # DEPLOY_COMMANDS = { | ||
| 642 | # 'default': [ | ||
| 643 | # "rsync -rav --delete output/ joe@my.site:/srv/www/site", | ||
| 644 | # ] | ||
| 645 | # } | ||
| 646 | |||
| 647 | # github_deploy configuration | ||
| 648 | # For more details, read the manual: | ||
| 649 | # https://getnikola.com/handbook.html#deploying-to-github | ||
| 650 | # You will need to configure the deployment branch on GitHub. | ||
| 651 | GITHUB_SOURCE_BRANCH = 'src' | ||
| 652 | GITHUB_DEPLOY_BRANCH = 'master' | ||
| 653 | |||
| 654 | # The name of the remote where you wish to push to, using github_deploy. | ||
| 655 | GITHUB_REMOTE_NAME = 'origin' | ||
| 656 | |||
| 657 | # Whether or not github_deploy should commit to the source branch automatically | ||
| 658 | # before deploying. | ||
| 659 | GITHUB_COMMIT_SOURCE = True | ||
| 660 | |||
| 661 | # Where the output site should be located | ||
| 662 | # If you don't use an absolute path, it will be considered as relative | ||
| 663 | # to the location of conf.py | ||
| 664 | # OUTPUT_FOLDER = 'output' | ||
| 665 | |||
| 666 | # where the "cache" of partial generated content should be located | ||
| 667 | # default: 'cache' | ||
| 668 | # CACHE_FOLDER = 'cache' | ||
| 669 | |||
| 670 | # Filters to apply to the output. | ||
| 671 | # A directory where the keys are either: a file extensions, or | ||
| 672 | # a tuple of file extensions. | ||
| 673 | # | ||
| 674 | # And the value is a list of commands to be applied in order. | ||
| 675 | # | ||
| 676 | # Each command must be either: | ||
| 677 | # | ||
| 678 | # A string containing a '%s' which will | ||
| 679 | # be replaced with a filename. The command *must* produce output | ||
| 680 | # in place. | ||
| 681 | # | ||
| 682 | # Or: | ||
| 683 | # | ||
| 684 | # A python callable, which will be called with the filename as | ||
| 685 | # argument. | ||
| 686 | # | ||
| 687 | # By default, only .php files uses filters to inject PHP into | ||
| 688 | # Nikola’s templates. All other filters must be enabled through FILTERS. | ||
| 689 | # | ||
| 690 | # Many filters are shipped with Nikola. A list is available in the manual: | ||
| 691 | # <https://getnikola.com/handbook.html#post-processing-filters> | ||
| 692 | # | ||
| 693 | # from nikola import filters | ||
| 694 | # FILTERS = { | ||
| 695 | # ".html": [filters.typogrify], | ||
| 696 | # ".js": [filters.closure_compiler], | ||
| 697 | # ".jpg": ["jpegoptim --strip-all -m75 -v %s"], | ||
| 698 | # } | ||
| 699 | |||
| 700 | # Executable for the "yui_compressor" filter (defaults to 'yui-compressor'). | ||
| 701 | # YUI_COMPRESSOR_EXECUTABLE = 'yui-compressor' | ||
| 702 | |||
| 703 | # Executable for the "closure_compiler" filter (defaults to 'closure-compiler'). | ||
| 704 | # CLOSURE_COMPILER_EXECUTABLE = 'closure-compiler' | ||
| 705 | |||
| 706 | # Executable for the "optipng" filter (defaults to 'optipng'). | ||
| 707 | # OPTIPNG_EXECUTABLE = 'optipng' | ||
| 708 | |||
| 709 | # Executable for the "jpegoptim" filter (defaults to 'jpegoptim'). | ||
| 710 | # JPEGOPTIM_EXECUTABLE = 'jpegoptim' | ||
| 711 | |||
| 712 | # Executable for the "html_tidy_withconfig", "html_tidy_nowrap", | ||
| 713 | # "html_tidy_wrap", "html_tidy_wrap_attr" and "html_tidy_mini" filters | ||
| 714 | # (defaults to 'tidy5'). | ||
| 715 | # HTML_TIDY_EXECUTABLE = 'tidy5' | ||
| 716 | |||
| 717 | # List of XPath expressions which should be used for finding headers | ||
| 718 | # ({hx} is replaced by headers h1 through h6). | ||
| 719 | # You must change this if you use a custom theme that does not use | ||
| 720 | # "e-content entry-content" as a class for post and page contents. | ||
| 721 | # HEADER_PERMALINKS_XPATH_LIST = ['*//div[@class="e-content entry-content"]//{hx}'] | ||
| 722 | # Include *every* header (not recommended): | ||
| 723 | # HEADER_PERMALINKS_XPATH_LIST = ['*//{hx}'] | ||
| 724 | |||
| 725 | # File blacklist for header permalinks. Contains output path | ||
| 726 | # (eg. 'output/index.html') | ||
| 727 | # HEADER_PERMALINKS_FILE_BLACKLIST = [] | ||
| 728 | |||
| 729 | # Expert setting! Create a gzipped copy of each generated file. Cheap server- | ||
| 730 | # side optimization for very high traffic sites or low memory servers. | ||
| 731 | # GZIP_FILES = False | ||
| 732 | # File extensions that will be compressed | ||
| 733 | # GZIP_EXTENSIONS = ('.txt', '.htm', '.html', '.css', '.js', '.json', '.atom', '.xml') | ||
| 734 | # Use an external gzip command? None means no. | ||
| 735 | # Example: GZIP_COMMAND = "pigz -k {filename}" | ||
| 736 | # GZIP_COMMAND = None | ||
| 737 | # Make sure the server does not return a "Accept-Ranges: bytes" header for | ||
| 738 | # files compressed by this option! OR make sure that a ranged request does not | ||
| 739 | # return partial content of another representation for these resources. Do not | ||
| 740 | # use this feature if you do not understand what this means. | ||
| 741 | |||
| 742 | # ############################################################################# | ||
| 743 | # Image Gallery Options | ||
| 744 | # ############################################################################# | ||
| 745 | |||
| 746 | # One or more folders containing galleries. The format is a dictionary of | ||
| 747 | # {"source": "relative_destination"}, where galleries are looked for in | ||
| 748 | # "source/" and the results will be located in | ||
| 749 | # "OUTPUT_PATH/relative_destination/gallery_name" | ||
| 750 | # Default is: | ||
| 751 | # GALLERY_FOLDERS = {"galleries": "galleries"} | ||
| 752 | # More gallery options: | ||
| 753 | # THUMBNAIL_SIZE = 180 | ||
| 754 | # MAX_IMAGE_SIZE = 1280 | ||
| 755 | # USE_FILENAME_AS_TITLE = True | ||
| 756 | # EXTRA_IMAGE_EXTENSIONS = [] | ||
| 757 | # | ||
| 758 | # If set to False, it will sort by filename instead. Defaults to True | ||
| 759 | # GALLERY_SORT_BY_DATE = True | ||
| 760 | |||
| 761 | # If set to True, EXIF data will be copied when an image is thumbnailed or | ||
| 762 | # resized. (See also EXIF_WHITELIST) | ||
| 763 | # PRESERVE_EXIF_DATA = False | ||
| 764 | |||
| 765 | # If you have enabled PRESERVE_EXIF_DATA, this option lets you choose EXIF | ||
| 766 | # fields you want to keep in images. (See also PRESERVE_EXIF_DATA) | ||
| 767 | # | ||
| 768 | # For a full list of field names, please see here: | ||
| 769 | # http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf | ||
| 770 | # | ||
| 771 | # This is a dictionary of lists. Each key in the dictionary is the | ||
| 772 | # name of a IDF, and each list item is a field you want to preserve. | ||
| 773 | # If you have a IDF with only a '*' item, *EVERY* item in it will be | ||
| 774 | # preserved. If you don't want to preserve anything in a IDF, remove it | ||
| 775 | # from the setting. By default, no EXIF information is kept. | ||
| 776 | # Setting the whitelist to anything other than {} implies | ||
| 777 | # PRESERVE_EXIF_DATA is set to True | ||
| 778 | # To preserve ALL EXIF data, set EXIF_WHITELIST to {"*": "*"} | ||
| 779 | |||
| 780 | # EXIF_WHITELIST = {} | ||
| 781 | |||
| 782 | # Some examples of EXIF_WHITELIST settings: | ||
| 783 | |||
| 784 | # Basic image information: | ||
| 785 | # EXIF_WHITELIST['0th'] = [ | ||
| 786 | # "Orientation", | ||
| 787 | # "XResolution", | ||
| 788 | # "YResolution", | ||
| 789 | # ] | ||
| 790 | |||
| 791 | # If you want to keep GPS data in the images: | ||
| 792 | # EXIF_WHITELIST['GPS'] = ["*"] | ||
| 793 | |||
| 794 | # Embedded thumbnail information: | ||
| 795 | # EXIF_WHITELIST['1st'] = ["*"] | ||
| 796 | |||
| 797 | # If set to True, any ICC profile will be copied when an image is thumbnailed or | ||
| 798 | # resized. | ||
| 799 | # PRESERVE_ICC_PROFILES = False | ||
| 800 | |||
| 801 | # Folders containing images to be used in normal posts or pages. | ||
| 802 | # IMAGE_FOLDERS is a dictionary of the form {"source": "destination"}, | ||
| 803 | # where "source" is the folder containing the images to be published, and | ||
| 804 | # "destination" is the folder under OUTPUT_PATH containing the images copied | ||
| 805 | # to the site. Thumbnail images will be created there as well. | ||
| 806 | |||
| 807 | # To reference the images in your posts, include a leading slash in the path. | ||
| 808 | # For example, if IMAGE_FOLDERS = {'images': 'images'}, write | ||
| 809 | # | ||
| 810 | # .. image:: /images/tesla.jpg | ||
| 811 | # | ||
| 812 | # See the Nikola Handbook for details (in the “Embedding Images” and | ||
| 813 | # “Thumbnails” sections) | ||
| 814 | |||
| 815 | # Images will be scaled down according to IMAGE_THUMBNAIL_SIZE and MAX_IMAGE_SIZE | ||
| 816 | # options, but will have to be referenced manually to be visible on the site | ||
| 817 | # (the thumbnail has ``.thumbnail`` added before the file extension by default, | ||
| 818 | # but a different naming template can be configured with IMAGE_THUMBNAIL_FORMAT). | ||
| 819 | |||
| 820 | IMAGE_FOLDERS = {'images': 'images'} | ||
| 821 | # IMAGE_THUMBNAIL_SIZE = 400 | ||
| 822 | IMAGE_THUMBNAIL_FORMAT = 'thumbs/{name}{ext}' | ||
| 823 | |||
| 824 | # ############################################################################# | ||
| 825 | # HTML fragments and diverse things that are used by the templates | ||
| 826 | # ############################################################################# | ||
| 827 | |||
| 828 | # Data about post-per-page indexes. | ||
| 829 | # INDEXES_PAGES defaults to ' old posts, page %d' or ' page %d' (translated), | ||
| 830 | # depending on the value of INDEXES_PAGES_MAIN. | ||
| 831 | # | ||
| 832 | # (translatable) If the following is empty, defaults to BLOG_TITLE: | ||
| 833 | # INDEXES_TITLE = "" | ||
| 834 | # | ||
| 835 | # (translatable) If the following is empty, defaults to ' [old posts,] page %d' (see above): | ||
| 836 | # INDEXES_PAGES = "" | ||
| 837 | # | ||
| 838 | # If the following is True, INDEXES_PAGES is also displayed on the main (the | ||
| 839 | # newest) index page (index.html): | ||
| 840 | # INDEXES_PAGES_MAIN = False | ||
| 841 | # | ||
| 842 | # If the following is True, index-1.html has the oldest posts, index-2.html the | ||
| 843 | # second-oldest posts, etc., and index.html has the newest posts. This ensures | ||
| 844 | # that all posts on index-x.html will forever stay on that page, now matter how | ||
| 845 | # many new posts are added. | ||
| 846 | # If False, index-1.html has the second-newest posts, index-2.html the third-newest, | ||
| 847 | # and index-n.html the oldest posts. When this is active, old posts can be moved | ||
| 848 | # to other index pages when new posts are added. | ||
| 849 | # INDEXES_STATIC = True | ||
| 850 | # | ||
| 851 | # (translatable) If PRETTY_URLS is set to True, this setting will be used to create | ||
| 852 | # prettier URLs for index pages, such as page/2/index.html instead of index-2.html. | ||
| 853 | # Valid values for this settings are: | ||
| 854 | # * False, | ||
| 855 | # * a list or tuple, specifying the path to be generated, | ||
| 856 | # * a dictionary mapping languages to lists or tuples. | ||
| 857 | # Every list or tuple must consist of strings which are used to combine the path; | ||
| 858 | # for example: | ||
| 859 | # ['page', '{number}', '{index_file}'] | ||
| 860 | # The replacements | ||
| 861 | # {number} --> (logical) page number; | ||
| 862 | # {old_number} --> the page number inserted into index-n.html before (zero for | ||
| 863 | # the main page); | ||
| 864 | # {index_file} --> value of option INDEX_FILE | ||
| 865 | # are made. | ||
| 866 | # Note that in case INDEXES_PAGES_MAIN is set to True, a redirection will be created | ||
| 867 | # for the full URL with the page number of the main page to the normal (shorter) main | ||
| 868 | # page URL. | ||
| 869 | # INDEXES_PRETTY_PAGE_URL = False | ||
| 870 | # | ||
| 871 | # If the following is true, a page range navigation will be inserted to indices. | ||
| 872 | # Please note that this will undo the effect of INDEXES_STATIC, as all index pages | ||
| 873 | # must be recreated whenever the number of pages changes. | ||
| 874 | # SHOW_INDEX_PAGE_NAVIGATION = False | ||
| 875 | |||
| 876 | # If the following is True, a meta name="generator" tag is added to pages. The | ||
| 877 | # generator tag is used to specify the software used to generate the page | ||
| 878 | # (it promotes Nikola). | ||
| 879 | # META_GENERATOR_TAG = True | ||
| 880 | |||
| 881 | # Color scheme to be used for code blocks. If your theme provides | ||
| 882 | # "assets/css/code.css" this is ignored. Set to None to disable. | ||
| 883 | # Can be any of: | ||
| 884 | # algol, algol_nu, autumn, borland, bw, colorful, default, emacs, friendly, | ||
| 885 | # fruity, igor, lovelace, manni, monokai, murphy, native, paraiso-dark, | ||
| 886 | # paraiso-light, pastie, perldoc, rrt, tango, trac, vim, vs, xcode | ||
| 887 | # This list MAY be incomplete since pygments adds styles every now and then. | ||
| 888 | # Check with list(pygments.styles.get_all_styles()) in an interpreter. | ||
| 889 | # | ||
| 890 | # CODE_COLOR_SCHEME = 'default' | ||
| 891 | |||
| 892 | # FAVICONS contains (name, file, size) tuples. | ||
| 893 | # Used to create favicon link like this: | ||
| 894 | # <link rel="name" href="file" sizes="size"/> | ||
| 895 | # FAVICONS = ( | ||
| 896 | # ("icon", "/favicon.ico", "16x16"), | ||
| 897 | # ("icon", "/icon_128x128.png", "128x128"), | ||
| 898 | # ) | ||
| 899 | |||
| 900 | # Show teasers (instead of full posts) in indexes? Defaults to False. | ||
| 901 | # INDEX_TEASERS = False | ||
| 902 | |||
| 903 | # HTML fragments with the Read more... links. | ||
| 904 | # The following tags exist and are replaced for you: | ||
| 905 | # {link} A link to the full post page. | ||
| 906 | # {read_more} The string “Read more” in the current language. | ||
| 907 | # {reading_time} An estimate of how long it will take to read the post. | ||
| 908 | # {remaining_reading_time} An estimate of how long it will take to read the post, sans the teaser. | ||
| 909 | # {min_remaining_read} The string “{remaining_reading_time} min remaining to read” in the current language. | ||
| 910 | # {paragraph_count} The amount of paragraphs in the post. | ||
| 911 | # {remaining_paragraph_count} The amount of paragraphs in the post, sans the teaser. | ||
| 912 | # {post_title} The title of the post. | ||
| 913 | # {{ A literal { (U+007B LEFT CURLY BRACKET) | ||
| 914 | # }} A literal } (U+007D RIGHT CURLY BRACKET) | ||
| 915 | |||
| 916 | # 'Read more...' for the index page, if INDEX_TEASERS is True (translatable) | ||
| 917 | INDEX_READ_MORE_LINK = '<p class="more"><a href="{link}">{read_more}…</a></p>' | ||
| 918 | # 'Read more...' for the feeds, if FEED_TEASERS is True (translatable) | ||
| 919 | FEED_READ_MORE_LINK = '<p><a href="{link}">{read_more}…</a> ({min_remaining_read})</p>' | ||
| 920 | |||
| 921 | # Append a URL query to the FEED_READ_MORE_LINK in Atom and RSS feeds. Advanced | ||
| 922 | # option used for traffic source tracking. | ||
| 923 | # Minimum example for use with Piwik: "pk_campaign=feed" | ||
| 924 | # The following tags exist and are replaced for you: | ||
| 925 | # {feedRelUri} A relative link to the feed. | ||
| 926 | # {feedFormat} The name of the syndication format. | ||
| 927 | # Example using replacement for use with Google Analytics: | ||
| 928 | # "utm_source={feedRelUri}&utm_medium=nikola_feed&utm_campaign={feedFormat}_feed" | ||
| 929 | FEED_LINKS_APPEND_QUERY = False | ||
| 930 | |||
| 931 | # A HTML fragment describing the license, for the sidebar. | ||
| 932 | # (translatable) | ||
| 933 | LICENSE = "" | ||
| 934 | # I recommend using the Creative Commons' wizard: | ||
| 935 | # https://creativecommons.org/choose/ | ||
| 936 | # LICENSE = """ | ||
| 937 | # <a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/"> | ||
| 938 | # <img alt="Creative Commons License BY-NC-SA" | ||
| 939 | # style="border-width:0; margin-bottom:12px;" | ||
| 940 | # src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png"></a>""" | ||
| 941 | |||
| 942 | # A small copyright notice for the page footer (in HTML). | ||
| 943 | # (translatable) | ||
| 944 | CONTENT_FOOTER = """<div class="container-fluid text-muted bg-light shadow-sm mt-3 py-2"> | ||
| 945 | <div class="row justify-content-center text-center"> | ||
| 946 | <div class="col-6"> | ||
| 947 | <a href="/impressum">Impressum</a> | ||
| 948 | </div> | ||
| 949 | <div class="col-6"> | ||
| 950 | <a href="/datenschutz">Privacy policy</a> | ||
| 951 | </div> | ||
| 952 | </div> | ||
| 953 | </div> | ||
| 954 | """ | ||
| 955 | |||
| 956 | # Things that will be passed to CONTENT_FOOTER.format(). This is done | ||
| 957 | # for translatability, as dicts are not formattable. Nikola will | ||
| 958 | # intelligently format the setting properly. | ||
| 959 | # The setting takes a dict. The keys are languages. The values are | ||
| 960 | # tuples of tuples of positional arguments and dicts of keyword arguments | ||
| 961 | # to format(). For example, {'en': (('Hello'), {'target': 'World'})} | ||
| 962 | # results in CONTENT_FOOTER['en'].format('Hello', target='World'). | ||
| 963 | # If you need to use the literal braces '{' and '}' in your footer text, use | ||
| 964 | # '{{' and '}}' to escape them (str.format is used) | ||
| 965 | # WARNING: If you do not use multiple languages with CONTENT_FOOTER, this | ||
| 966 | # still needs to be a dict of this format. (it can be empty if you | ||
| 967 | # do not need formatting) | ||
| 968 | # (translatable) | ||
| 969 | CONTENT_FOOTER_FORMATS = { | ||
| 970 | DEFAULT_LANG: ( | ||
| 971 | (), | ||
| 972 | { | ||
| 973 | "email": BLOG_EMAIL, | ||
| 974 | "author": BLOG_AUTHOR, | ||
| 975 | "date": time.gmtime().tm_year, | ||
| 976 | "license": LICENSE | ||
| 977 | } | ||
| 978 | ) | ||
| 979 | } | ||
| 980 | |||
| 981 | # A simple copyright tag for inclusion in RSS feeds that works just | ||
| 982 | # like CONTENT_FOOTER and CONTENT_FOOTER_FORMATS | ||
| 983 | RSS_COPYRIGHT = 'Contents © {date} <a href="mailto:{email}">{author}</a> {license}' | ||
| 984 | RSS_COPYRIGHT_PLAIN = 'Contents © {date} {author} {license}' | ||
| 985 | RSS_COPYRIGHT_FORMATS = CONTENT_FOOTER_FORMATS | ||
| 986 | |||
| 987 | # To use comments, you can choose between different third party comment | ||
| 988 | # systems. The following comment systems are supported by Nikola: | ||
| 989 | # disqus, facebook, intensedebate, isso, muut, commento | ||
| 990 | # You can leave this option blank to disable comments. | ||
| 991 | COMMENT_SYSTEM = "" | ||
| 992 | # And you also need to add your COMMENT_SYSTEM_ID which | ||
| 993 | # depends on what comment system you use. The default is | ||
| 994 | # "nikolademo" which is a test account for Disqus. More information | ||
| 995 | # is in the manual. | ||
| 996 | COMMENT_SYSTEM_ID = "" | ||
| 997 | |||
| 998 | # Create index.html for page folders? | ||
| 999 | # WARNING: if a page would conflict with the index file (usually | ||
| 1000 | # caused by setting slug to `index`), the PAGE_INDEX | ||
| 1001 | # will not be generated for that directory. | ||
| 1002 | # PAGE_INDEX = False | ||
| 1003 | # Enable comments on pages (i.e. not posts)? | ||
| 1004 | # COMMENTS_IN_PAGES = False | ||
| 1005 | # Enable comments on picture gallery pages? | ||
| 1006 | # COMMENTS_IN_GALLERIES = False | ||
| 1007 | |||
| 1008 | # What file should be used for directory indexes? | ||
| 1009 | # Defaults to index.html | ||
| 1010 | # Common other alternatives: default.html for IIS, index.php | ||
| 1011 | # INDEX_FILE = "index.html" | ||
| 1012 | |||
| 1013 | # If a link ends in /index.html, drop the index.html part. | ||
| 1014 | # http://mysite/foo/bar/index.html => http://mysite/foo/bar/ | ||
| 1015 | # (Uses the INDEX_FILE setting, so if that is, say, default.html, | ||
| 1016 | # it will instead /foo/default.html => /foo) | ||
| 1017 | STRIP_INDEXES = True | ||
| 1018 | |||
| 1019 | # List of files relative to the server root (!) that will be asked to be excluded | ||
| 1020 | # from indexing and other robotic spidering. * is supported. Will only be effective | ||
| 1021 | # if SITE_URL points to server root. The list is used to exclude resources from | ||
| 1022 | # /robots.txt and /sitemap.xml, and to inform search engines about /sitemapindex.xml. | ||
| 1023 | # ROBOTS_EXCLUSIONS = ["/archive.html", "/category/*.html"] | ||
| 1024 | |||
| 1025 | # Instead of putting files in <slug>.html, put them in <slug>/index.html. | ||
| 1026 | # No web server configuration is required. Also enables STRIP_INDEXES. | ||
| 1027 | # This can be disabled on a per-page/post basis by adding | ||
| 1028 | # .. pretty_url: False | ||
| 1029 | # to the metadata. | ||
| 1030 | PRETTY_URLS = True | ||
| 1031 | |||
| 1032 | # If True, publish future dated posts right away instead of scheduling them. | ||
| 1033 | # Defaults to False. | ||
| 1034 | # FUTURE_IS_NOW = False | ||
| 1035 | |||
| 1036 | # If True, future dated posts are allowed in deployed output | ||
| 1037 | # Only the individual posts are published/deployed; not in indexes/sitemap | ||
| 1038 | # Generally, you want FUTURE_IS_NOW and DEPLOY_FUTURE to be the same value. | ||
| 1039 | # DEPLOY_FUTURE = False | ||
| 1040 | # If False, draft posts will not be deployed | ||
| 1041 | # DEPLOY_DRAFTS = True | ||
| 1042 | |||
| 1043 | # Allows scheduling of posts using the rule specified here (new_post -s) | ||
| 1044 | # Specify an iCal Recurrence Rule: http://www.kanzaki.com/docs/ical/rrule.html | ||
| 1045 | # SCHEDULE_RULE = '' | ||
| 1046 | # If True, use the scheduling rule to all posts (not pages!) by default | ||
| 1047 | # SCHEDULE_ALL = False | ||
| 1048 | |||
| 1049 | # Do you want a add a Mathjax config file? | ||
| 1050 | # MATHJAX_CONFIG = "" | ||
| 1051 | |||
| 1052 | # If you want support for the $.$ syntax (which may conflict with running | ||
| 1053 | # text!), just use this config: | ||
| 1054 | # MATHJAX_CONFIG = """ | ||
| 1055 | # <script type="text/x-mathjax-config"> | ||
| 1056 | # MathJax.Hub.Config({ | ||
| 1057 | # tex2jax: { | ||
| 1058 | # inlineMath: [ ['$','$'], ["\\\(","\\\)"] ], | ||
| 1059 | # displayMath: [ ['$$','$$'], ["\\\[","\\\]"] ], | ||
| 1060 | # processEscapes: true | ||
| 1061 | # }, | ||
| 1062 | # displayAlign: 'center', // Change this to 'left' if you want left-aligned equations. | ||
| 1063 | # "HTML-CSS": { | ||
| 1064 | # styles: {'.MathJax_Display': {"margin": 0}} | ||
| 1065 | # } | ||
| 1066 | # }); | ||
| 1067 | # </script> | ||
| 1068 | # """ | ||
| 1069 | |||
| 1070 | # Want to use KaTeX instead of MathJax? While KaTeX may not support every | ||
| 1071 | # feature yet, it's faster and the output looks better. | ||
| 1072 | # USE_KATEX = False | ||
| 1073 | |||
| 1074 | # KaTeX auto-render settings. If you want support for the $.$ syntax (which may | ||
| 1075 | # conflict with running text!), just use this config: | ||
| 1076 | # KATEX_AUTO_RENDER = """ | ||
| 1077 | # delimiters: [ | ||
| 1078 | # {left: "$$", right: "$$", display: true}, | ||
| 1079 | # {left: "\\\\[", right: "\\\\]", display: true}, | ||
| 1080 | # {left: "\\\\begin{equation*}", right: "\\\\end{equation*}", display: true}, | ||
| 1081 | # {left: "$", right: "$", display: false}, | ||
| 1082 | # {left: "\\\\(", right: "\\\\)", display: false} | ||
| 1083 | # ] | ||
| 1084 | # """ | ||
| 1085 | |||
| 1086 | # Do you want to customize the nbconversion of your IPython notebook? | ||
| 1087 | # IPYNB_CONFIG = {} | ||
| 1088 | # With the following example configuration you can use a custom jinja template | ||
| 1089 | # called `toggle.tpl` which has to be located in your site/blog main folder: | ||
| 1090 | # IPYNB_CONFIG = {'Exporter': {'template_file': 'toggle'}} | ||
| 1091 | |||
| 1092 | # What Markdown extensions to enable? | ||
| 1093 | # You will also get gist, nikola and podcast because those are | ||
| 1094 | # done in the code, hope you don't mind ;-) | ||
| 1095 | # Note: most Nikola-specific extensions are done via the Nikola plugin system, | ||
| 1096 | # with the MarkdownExtension class and should not be added here. | ||
| 1097 | # Defaults are markdown.extensions.(fenced_code|codehilite|extra) | ||
| 1098 | # markdown.extensions.meta is required for Markdown metadata. | ||
| 1099 | MARKDOWN_EXTENSIONS = ['markdown.extensions.fenced_code', 'markdown.extensions.codehilite', 'markdown.extensions.extra', 'markdown.extensions.meta'] | ||
| 1100 | |||
| 1101 | # Options to be passed to markdown extensions (See https://python-markdown.github.io/reference/) | ||
| 1102 | # Default is {} (no config at all) | ||
| 1103 | # MARKDOWN_EXTENSION_CONFIGS = {} | ||
| 1104 | |||
| 1105 | |||
| 1106 | # Extra options to pass to the pandoc command. | ||
| 1107 | # by default, it's empty, is a list of strings, for example | ||
| 1108 | # ['-F', 'pandoc-citeproc', '--bibliography=/Users/foo/references.bib'] | ||
| 1109 | # Pandoc does not demote headers by default. To enable this, you can use, for example | ||
| 1110 | # ['--base-header-level=2'] | ||
| 1111 | # PANDOC_OPTIONS = [] | ||
| 1112 | |||
| 1113 | # Social buttons. This is sample code for AddThis (which was the default for a | ||
| 1114 | # long time). Insert anything you want here, or even make it empty (which is | ||
| 1115 | # the default right now) | ||
| 1116 | # (translatable) | ||
| 1117 | # SOCIAL_BUTTONS_CODE = """ | ||
| 1118 | # <!-- Social buttons --> | ||
| 1119 | # <div id="addthisbox" class="addthis_toolbox addthis_peekaboo_style addthis_default_style addthis_label_style addthis_32x32_style"> | ||
| 1120 | # <a class="addthis_button_more">Share</a> | ||
| 1121 | # <ul><li><a class="addthis_button_facebook"></a> | ||
| 1122 | # <li><a class="addthis_button_google_plusone_share"></a> | ||
| 1123 | # <li><a class="addthis_button_linkedin"></a> | ||
| 1124 | # <li><a class="addthis_button_twitter"></a> | ||
| 1125 | # </ul> | ||
| 1126 | # </div> | ||
| 1127 | # <script src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-4f7088a56bb93798"></script> | ||
| 1128 | # <!-- End of social buttons --> | ||
| 1129 | # """ | ||
| 1130 | |||
| 1131 | # Show link to source for the posts? | ||
| 1132 | SHOW_SOURCELINK = False | ||
| 1133 | # Copy the source files for your pages? | ||
| 1134 | # Setting it to False implies SHOW_SOURCELINK = False | ||
| 1135 | COPY_SOURCES = False | ||
| 1136 | |||
| 1137 | # Modify the number of Post per Index Page | ||
| 1138 | # Defaults to 10 | ||
| 1139 | INDEX_DISPLAY_POST_COUNT = 25 | ||
| 1140 | |||
| 1141 | # By default, Nikola generates RSS files for the website and for tags, and | ||
| 1142 | # links to it. Set this to False to disable everything RSS-related. | ||
| 1143 | # GENERATE_RSS = True | ||
| 1144 | |||
| 1145 | # By default, Nikola does not generates Atom files for indexes and links to | ||
| 1146 | # them. Generate Atom for tags by setting TAG_PAGES_ARE_INDEXES to True. | ||
| 1147 | # Atom feeds are built based on INDEX_DISPLAY_POST_COUNT and not FEED_LENGTH | ||
| 1148 | # Switch between plain-text summaries and full HTML content using the | ||
| 1149 | # FEED_TEASER option. FEED_LINKS_APPEND_QUERY is also respected. Atom feeds | ||
| 1150 | # are generated even for old indexes and have pagination link relations | ||
| 1151 | # between each other. Old Atom feeds with no changes are marked as archived. | ||
| 1152 | # GENERATE_ATOM = False | ||
| 1153 | |||
| 1154 | # Only include teasers in Atom and RSS feeds. Disabling include the full | ||
| 1155 | # content. Defaults to True. | ||
| 1156 | # FEED_TEASERS = True | ||
| 1157 | |||
| 1158 | # Strip HTML from Atom and RSS feed summaries and content. Defaults to False. | ||
| 1159 | # FEED_PLAIN = False | ||
| 1160 | |||
| 1161 | # Number of posts in Atom and RSS feeds. | ||
| 1162 | # FEED_LENGTH = 10 | ||
| 1163 | |||
| 1164 | # RSS_LINK is a HTML fragment to link the RSS or Atom feeds. If set to None, | ||
| 1165 | # the base.tmpl will use the feed Nikola generates. However, you may want to | ||
| 1166 | # change it for a FeedBurner feed or something else. | ||
| 1167 | # RSS_LINK = None | ||
| 1168 | |||
| 1169 | # A search form to search this site, for the sidebar. You can use a Google | ||
| 1170 | # custom search (https://www.google.com/cse/) | ||
| 1171 | # Or a DuckDuckGo search: https://duckduckgo.com/search_box.html | ||
| 1172 | # Default is no search form. | ||
| 1173 | # (translatable) | ||
| 1174 | # SEARCH_FORM = "" | ||
| 1175 | # | ||
| 1176 | # This search form works for any site and looks good in the "site" theme where | ||
| 1177 | # it appears on the navigation bar: | ||
| 1178 | # | ||
| 1179 | # SEARCH_FORM = """ | ||
| 1180 | # <!-- DuckDuckGo custom search --> | ||
| 1181 | # <form method="get" id="search" action="https://duckduckgo.com/" | ||
| 1182 | # class="navbar-form pull-left"> | ||
| 1183 | # <input type="hidden" name="sites" value="%s"> | ||
| 1184 | # <input type="hidden" name="k8" value="#444444"> | ||
| 1185 | # <input type="hidden" name="k9" value="#D51920"> | ||
| 1186 | # <input type="hidden" name="kt" value="h"> | ||
| 1187 | # <input type="text" name="q" maxlength="255" | ||
| 1188 | # placeholder="Search…" class="span2" style="margin-top: 4px;"> | ||
| 1189 | # <input type="submit" value="DuckDuckGo Search" style="visibility: hidden;"> | ||
| 1190 | # </form> | ||
| 1191 | # <!-- End of custom search --> | ||
| 1192 | # """ % SITE_URL | ||
| 1193 | # | ||
| 1194 | # If you prefer a Google search form, here's an example that should just work: | ||
| 1195 | # SEARCH_FORM = """ | ||
| 1196 | # <!-- Google custom search --> | ||
| 1197 | # <form method="get" action="https://www.google.com/search" class="navbar-form navbar-right" role="search"> | ||
| 1198 | # <div class="form-group"> | ||
| 1199 | # <input type="text" name="q" class="form-control" placeholder="Search"> | ||
| 1200 | # </div> | ||
| 1201 | # <button type="submit" class="btn btn-primary"> | ||
| 1202 | # <span class="glyphicon glyphicon-search"></span> | ||
| 1203 | # </button> | ||
| 1204 | # <input type="hidden" name="sitesearch" value="%s"> | ||
| 1205 | # </form> | ||
| 1206 | # <!-- End of custom search --> | ||
| 1207 | # """ % SITE_URL | ||
| 1208 | |||
| 1209 | SEARCH_FORM = """ | ||
| 1210 | <form class="navbar-form navbar-right" action="/search/" role="search"> | ||
| 1211 | <div class="search"> | ||
| 1212 | <div class="search-child-absolute"> | ||
| 1213 | <input class="search-input" type="text" class="form-control" id="tipue_search_input" name="q" placeholder="Search" autocomplete="off" required=""> | ||
| 1214 | </div> | ||
| 1215 | </div> | ||
| 1216 | <button type="submit" class="d-none btn btn-action">Search</button> | ||
| 1217 | </form> | ||
| 1218 | """ | ||
| 1219 | |||
| 1220 | # Use content distribution networks for jQuery, twitter-bootstrap css and js, | ||
| 1221 | # and html5shiv (for older versions of Internet Explorer) | ||
| 1222 | # If this is True, jQuery and html5shiv are served from the Google CDN and | ||
| 1223 | # Bootstrap is served from BootstrapCDN (provided by MaxCDN) | ||
| 1224 | # Set this to False if you want to host your site without requiring access to | ||
| 1225 | # external resources. | ||
| 1226 | USE_CDN = False | ||
| 1227 | |||
| 1228 | # Check for USE_CDN compatibility. | ||
| 1229 | # If you are using custom themes, have configured the CSS properly and are | ||
| 1230 | # receiving warnings about incompatibility but believe they are incorrect, you | ||
| 1231 | # can set this to False. | ||
| 1232 | # USE_CDN_WARNING = True | ||
| 1233 | |||
| 1234 | # Extra things you want in the pages HEAD tag. This will be added right | ||
| 1235 | # before </head> | ||
| 1236 | # (translatable) | ||
| 1237 | # EXTRA_HEAD_DATA = "" | ||
| 1238 | EXTRA_HEAD_DATA = """ | ||
| 1239 | <link rel="stylesheet" type="text/css" href="/assets/css/tipuesearch.css"> | ||
| 1240 | """ | ||
| 1241 | |||
| 1242 | # Google Analytics or whatever else you use. Added to the bottom of <body> | ||
| 1243 | # in the default template (base.tmpl). | ||
| 1244 | # (translatable) | ||
| 1245 | # BODY_END = "" | ||
| 1246 | |||
| 1247 | # The possibility to extract metadata from the filename by using a | ||
| 1248 | # regular expression. | ||
| 1249 | # To make it work you need to name parts of your regular expression. | ||
| 1250 | # The following names will be used to extract metadata: | ||
| 1251 | # - title | ||
| 1252 | # - slug | ||
| 1253 | # - date | ||
| 1254 | # - tags | ||
| 1255 | # - link | ||
| 1256 | # - description | ||
| 1257 | # | ||
| 1258 | # An example re is the following: | ||
| 1259 | # '.*\/(?P<date>\d{4}-\d{2}-\d{2})-(?P<slug>.*)-(?P<title>.*)\.rst' | ||
| 1260 | # (Note the '.*\/' in the beginning -- matches source paths relative to conf.py) | ||
| 1261 | # FILE_METADATA_REGEXP = None | ||
| 1262 | |||
| 1263 | # Should titles fetched from file metadata be unslugified (made prettier?) | ||
| 1264 | # FILE_METADATA_UNSLUGIFY_TITLES = True | ||
| 1265 | |||
| 1266 | # If enabled, extract metadata from docinfo fields in reST documents. | ||
| 1267 | # If your text files start with a level 1 heading, it will be treated as the | ||
| 1268 | # document title and will be removed from the text. | ||
| 1269 | # USE_REST_DOCINFO_METADATA = False | ||
| 1270 | |||
| 1271 | # If enabled, hide docinfo fields in reST document output | ||
| 1272 | # HIDE_REST_DOCINFO = False | ||
| 1273 | |||
| 1274 | # Map metadata from other formats to Nikola names. | ||
| 1275 | # Supported formats: yaml, toml, rest_docinfo, markdown_metadata | ||
| 1276 | # METADATA_MAPPING = {} | ||
| 1277 | # | ||
| 1278 | # Example for Pelican compatibility: | ||
| 1279 | # METADATA_MAPPING = { | ||
| 1280 | # "rest_docinfo": {"summary": "description", "modified": "updated"}, | ||
| 1281 | # "markdown_metadata": {"summary": "description", "modified": "updated"} | ||
| 1282 | # } | ||
| 1283 | # Other examples: https://getnikola.com/handbook.html#mapping-metadata-from-other-formats | ||
| 1284 | |||
| 1285 | # Map metadata between types/values. (Runs after METADATA_MAPPING.) | ||
| 1286 | # Supported formats: nikola, yaml, toml, rest_docinfo, markdown_metadata | ||
| 1287 | # The value on the right should be a dict of callables. | ||
| 1288 | # METADATA_VALUE_MAPPING = {} | ||
| 1289 | # Examples: | ||
| 1290 | # METADATA_VALUE_MAPPING = { | ||
| 1291 | # "yaml": {"keywords": lambda value: ', '.join(value)}, # yaml: 'keywords' list -> str | ||
| 1292 | # "nikola": { | ||
| 1293 | # "widgets": lambda value: value.split(', '), # nikola: 'widgets' comma-separated string -> list | ||
| 1294 | # "tags": str.lower # nikola: force lowercase 'tags' (input would be string) | ||
| 1295 | # } | ||
| 1296 | # } | ||
| 1297 | |||
| 1298 | # Additional metadata that is added to a post when creating a new_post | ||
| 1299 | # ADDITIONAL_METADATA = {} | ||
| 1300 | |||
| 1301 | # Nikola supports Twitter Card summaries, but they are disabled by default. | ||
| 1302 | # They make it possible for you to attach media to Tweets that link | ||
| 1303 | # to your content. | ||
| 1304 | # | ||
| 1305 | # Uncomment and modify to following lines to match your accounts. | ||
| 1306 | # Images displayed come from the `previewimage` meta tag. | ||
| 1307 | # You can specify the card type by using the `card` parameter in TWITTER_CARD. | ||
| 1308 | # TWITTER_CARD = { | ||
| 1309 | # # 'use_twitter_cards': True, # enable Twitter Cards | ||
| 1310 | # # 'card': 'summary', # Card type, you can also use 'summary_large_image', | ||
| 1311 | # # see https://dev.twitter.com/cards/types | ||
| 1312 | # # 'site': '@website', # twitter nick for the website | ||
| 1313 | # # 'creator': '@username', # Username for the content creator / author. | ||
| 1314 | # } | ||
| 1315 | |||
| 1316 | # Bundle JS and CSS into single files to make site loading faster in a HTTP/1.1 | ||
| 1317 | # environment but is not recommended for HTTP/2.0 when caching is used. | ||
| 1318 | # Defaults to True. | ||
| 1319 | # USE_BUNDLES = True | ||
| 1320 | |||
| 1321 | # Plugins you don't want to use. Be careful :-) | ||
| 1322 | # DISABLED_PLUGINS = ["render_galleries"] | ||
| 1323 | |||
| 1324 | # Special settings to disable only parts of the indexes plugin. | ||
| 1325 | # Use with care. | ||
| 1326 | # DISABLE_INDEXES = False | ||
| 1327 | # DISABLE_MAIN_ATOM_FEED = False | ||
| 1328 | # DISABLE_MAIN_RSS_FEED = False | ||
| 1329 | |||
| 1330 | # Add the absolute paths to directories containing plugins to use them. | ||
| 1331 | # For example, the `plugins` directory of your clone of the Nikola plugins | ||
| 1332 | # repository. | ||
| 1333 | # EXTRA_PLUGINS_DIRS = [] | ||
| 1334 | |||
| 1335 | # Add the absolute paths to directories containing themes to use them. | ||
| 1336 | # For example, the `v7` directory of your clone of the Nikola themes | ||
| 1337 | # repository. | ||
| 1338 | # EXTRA_THEMES_DIRS = [] | ||
| 1339 | |||
| 1340 | # List of regular expressions, links matching them will always be considered | ||
| 1341 | # valid by "nikola check -l" | ||
| 1342 | # LINK_CHECK_WHITELIST = [] | ||
| 1343 | |||
| 1344 | # If set to True, enable optional hyphenation in your posts (requires pyphen) | ||
| 1345 | # Enabling hyphenation has been shown to break math support in some cases, | ||
| 1346 | # use with caution. | ||
| 1347 | # HYPHENATE = False | ||
| 1348 | |||
| 1349 | # The <hN> tags in HTML generated by certain compilers (reST/Markdown) | ||
| 1350 | # will be demoted by that much (1 → h1 will become h2 and so on) | ||
| 1351 | # This was a hidden feature of the Markdown and reST compilers in the | ||
| 1352 | # past. Useful especially if your post titles are in <h1> tags too, for | ||
| 1353 | # example. | ||
| 1354 | # (defaults to 1.) | ||
| 1355 | # DEMOTE_HEADERS = 1 | ||
| 1356 | |||
| 1357 | # If you don’t like slugified file names ([a-z0-9] and a literal dash), | ||
| 1358 | # and would prefer to use all the characters your file system allows. | ||
| 1359 | # USE WITH CARE! This is also not guaranteed to be perfect, and may | ||
| 1360 | # sometimes crash Nikola, your web server, or eat your cat. | ||
| 1361 | # USE_SLUGIFY = True | ||
| 1362 | |||
| 1363 | # If set to True, the tags 'draft', 'mathjax' and 'private' have special | ||
| 1364 | # meaning. If set to False, these tags are handled like regular tags. | ||
| 1365 | USE_TAG_METADATA = False | ||
| 1366 | |||
| 1367 | # If set to True, a warning is issued if one of the 'draft', 'mathjax' | ||
| 1368 | # and 'private' tags are found in a post. Useful for checking that | ||
| 1369 | # migration was successful. | ||
| 1370 | WARN_ABOUT_TAG_METADATA = False | ||
| 1371 | |||
| 1372 | # Templates will use those filters, along with the defaults. | ||
| 1373 | # Consult your engine's documentation on filters if you need help defining | ||
| 1374 | # those. | ||
| 1375 | # TEMPLATE_FILTERS = {} | ||
| 1376 | |||
| 1377 | # Put in global_context things you want available on all your templates. | ||
| 1378 | # It can be anything, data, functions, modules, etc. | ||
| 1379 | GLOBAL_CONTEXT = { } | ||
| 1380 | |||
| 1381 | # Add functions here and they will be called with template | ||
| 1382 | # GLOBAL_CONTEXT as parameter when the template is about to be | ||
| 1383 | # rendered | ||
| 1384 | GLOBAL_CONTEXT_FILLER = [] | ||
