diff options
| author | erdgeist <erdgeist@bauklotz.local> | 2015-08-16 16:38:25 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@bauklotz.local> | 2015-08-16 16:38:25 +0200 |
| commit | 23f0e1561767dd8a396188e317bae5920d171ea8 (patch) | |
| tree | a67f44e39ad8a45e42d60634488a65c37f3ad432 /conf.py | |
Initial import of my nikola website
Diffstat (limited to 'conf.py')
| -rw-r--r-- | conf.py | 955 |
1 files changed, 955 insertions, 0 deletions
| @@ -0,0 +1,955 @@ | |||
| 1 | # -*- coding: utf-8 -*- | ||
| 2 | |||
| 3 | from __future__ import unicode_literals | ||
| 4 | import time | ||
| 5 | |||
| 6 | # ! Some settings can be different in different languages. | ||
| 7 | # ! A comment stating (translatable) is used to denote those. | ||
| 8 | # ! There are two ways to specify a translatable setting: | ||
| 9 | # ! (a) BLOG_TITLE = "My Blog" | ||
| 10 | # ! (b) BLOG_TITLE = {"en": "My Blog", "es": "Mi Blog"} | ||
| 11 | # ! Option (a) is used when you don't want that setting translated. | ||
| 12 | # ! Option (b) is used for settings that are different in different languages. | ||
| 13 | |||
| 14 | |||
| 15 | # Data about this site | ||
| 16 | BLOG_AUTHOR = "erdgeist" # (translatable) | ||
| 17 | BLOG_TITLE = "erdgeist.org" # (translatable) | ||
| 18 | # This is the main URL for your site. It will be used | ||
| 19 | # in a prominent link | ||
| 20 | SITE_URL = "http://erdgeist.org/" | ||
| 21 | # This is the URL where Nikola's output will be deployed. | ||
| 22 | # If not set, defaults to SITE_URL | ||
| 23 | # BASE_URL = "http://erdgeist.org/" | ||
| 24 | BLOG_EMAIL = "erdgeist@erdgeist.org" | ||
| 25 | BLOG_DESCRIPTION = "is the personal page of Dirk Engling aka erdgeist" # (translatable) | ||
| 26 | |||
| 27 | # Nikola is multilingual! | ||
| 28 | # | ||
| 29 | # Currently supported languages are: | ||
| 30 | # | ||
| 31 | # en English | ||
| 32 | # ar Arabic | ||
| 33 | # bg Bulgarian | ||
| 34 | # ca Catalan | ||
| 35 | # cs Czech [ALTERNATIVELY cz] | ||
| 36 | # da Danish | ||
| 37 | # de German | ||
| 38 | # el Greek [NOT gr] | ||
| 39 | # eo Esperanto | ||
| 40 | # es Spanish | ||
| 41 | # et Estonian | ||
| 42 | # eu Basque | ||
| 43 | # fa Persian | ||
| 44 | # fi Finnish | ||
| 45 | # fr French | ||
| 46 | # hi Hindi | ||
| 47 | # hr Croatian | ||
| 48 | # id Indonesian | ||
| 49 | # it Italian | ||
| 50 | # ja Japanese [NOT jp] | ||
| 51 | # ko Korean | ||
| 52 | # nb Norwegian Bokmål | ||
| 53 | # nl Dutch | ||
| 54 | # pl Polish | ||
| 55 | # pt_br Portuguese (Brasil) | ||
| 56 | # ru Russian | ||
| 57 | # sk Slovak | ||
| 58 | # sl Slovene | ||
| 59 | # sr Serbian (Cyrillic) | ||
| 60 | # sv Swedish | ||
| 61 | # tr Turkish [NOT tr_TR] | ||
| 62 | # ur Urdu | ||
| 63 | # zh_cn Chinese (Simplified) | ||
| 64 | # | ||
| 65 | # If you want to use Nikola with a non-supported language you have to provide | ||
| 66 | # a module containing the necessary translations | ||
| 67 | # (cf. the modules at nikola/data/themes/base/messages/). | ||
| 68 | # If a specific post is not translated to a language, then the version | ||
| 69 | # in the default language will be shown instead. | ||
| 70 | |||
| 71 | # What is the default language? | ||
| 72 | DEFAULT_LANG = "en" | ||
| 73 | |||
| 74 | # What other languages do you have? | ||
| 75 | # The format is {"translationcode" : "path/to/translation" } | ||
| 76 | # the path will be used as a prefix for the generated pages location | ||
| 77 | TRANSLATIONS = { | ||
| 78 | DEFAULT_LANG: "", | ||
| 79 | } | ||
| 80 | |||
| 81 | # What will translated input files be named like? | ||
| 82 | |||
| 83 | # If you have a page something.rst, then something.pl.rst will be considered | ||
| 84 | # its Polish translation. | ||
| 85 | # (in the above example: path == "something", ext == "rst", lang == "pl") | ||
| 86 | # this pattern is also used for metadata: | ||
| 87 | # something.meta -> something.pl.meta | ||
| 88 | |||
| 89 | TRANSLATIONS_PATTERN = "{path}.{lang}.{ext}" | ||
| 90 | |||
| 91 | # Links for the sidebar / navigation bar. (translatable) | ||
| 92 | # This is a dict. The keys are languages, and values are tuples. | ||
| 93 | # | ||
| 94 | # For regular links: | ||
| 95 | # ('http://getnikola.com/', 'Nikola Homepage') | ||
| 96 | # | ||
| 97 | # For submenus: | ||
| 98 | # ( | ||
| 99 | # ( | ||
| 100 | # ('http://apple.com/', 'Apple'), | ||
| 101 | # ('http://orange.com/', 'Orange'), | ||
| 102 | # ), | ||
| 103 | # 'Fruits' | ||
| 104 | # ) | ||
| 105 | # | ||
| 106 | # WARNING: Support for submenus is theme-dependent. | ||
| 107 | # Only one level of submenus is supported. | ||
| 108 | # WARNING: Some themes, including the default Bootstrap 3 theme, | ||
| 109 | # may present issues if the menu is too large. | ||
| 110 | # (in bootstrap3, the navbar can grow too large and cover contents.) | ||
| 111 | # WARNING: If you link to directories, make sure to follow | ||
| 112 | # ``STRIP_INDEXES``. If it’s set to ``True``, end your links | ||
| 113 | # with a ``/``, otherwise end them with ``/index.html`` — or | ||
| 114 | # else they won’t be highlighted when active. | ||
| 115 | |||
| 116 | NAVIGATION_LINKS = { | ||
| 117 | DEFAULT_LANG: ( | ||
| 118 | ('/', 'Home', 'icon-home' ), | ||
| 119 | ('/about/', 'About', 'icon-user' ), | ||
| 120 | ('/blog/', 'Blog', 'icon-comment' ), | ||
| 121 | ('/music/', 'Music', 'icon-music' ), | ||
| 122 | ('/poetry/', 'Poetry', 'icon-pencil' ), | ||
| 123 | # ('https://github.com/erdgeist', 'erdgeist on github', 'icon-github-circled' ), | ||
| 124 | # ('https://twitter.com/erdgeist', 'erdgeist on Twitter', 'icon-twitter'), | ||
| 125 | ) | ||
| 126 | } | ||
| 127 | |||
| 128 | # Name of the theme to use. | ||
| 129 | THEME="erdgeist" | ||
| 130 | |||
| 131 | # Below this point, everything is optional | ||
| 132 | |||
| 133 | # Post's dates are considered in UTC by default, if you want to use | ||
| 134 | # another time zone, please set TIMEZONE to match. Check the available | ||
| 135 | # list from Wikipedia: | ||
| 136 | # http://en.wikipedia.org/wiki/List_of_tz_database_time_zones | ||
| 137 | # (e.g. 'Europe/Zurich') | ||
| 138 | # Also, if you want to use a different time zone in some of your posts, | ||
| 139 | # you can use the ISO 8601/RFC 3339 format (ex. 2012-03-30T23:00:00+02:00) | ||
| 140 | TIMEZONE = "Europe/Berlin" | ||
| 141 | |||
| 142 | # If you want to use ISO 8601 (also valid RFC 3339) throughout Nikola | ||
| 143 | # (especially in new_post), set this to True. | ||
| 144 | # Note that this does not affect DATE_FORMAT. | ||
| 145 | # FORCE_ISO8601 = False | ||
| 146 | |||
| 147 | # Date format used to display post dates. | ||
| 148 | # (str used by datetime.datetime.strftime) | ||
| 149 | # DATE_FORMAT = '%Y-%m-%d %H:%M' | ||
| 150 | |||
| 151 | # Date format used to display post dates, if local dates are used. | ||
| 152 | # (str used by moment.js) | ||
| 153 | # JS_DATE_FORMAT = 'YYYY-MM-DD HH:mm' | ||
| 154 | |||
| 155 | # Date fanciness. | ||
| 156 | # | ||
| 157 | # 0 = using DATE_FORMAT and TIMEZONE | ||
| 158 | # 1 = using JS_DATE_FORMAT and local user time (via moment.js) | ||
| 159 | # 2 = using a string like “2 days ago” | ||
| 160 | # | ||
| 161 | # Your theme must support it, bootstrap and bootstrap3 already do. | ||
| 162 | # DATE_FANCINESS = 0 | ||
| 163 | |||
| 164 | # While Nikola can select a sensible locale for each language, | ||
| 165 | # sometimes explicit control can come handy. | ||
| 166 | # In this file we express locales in the string form that | ||
| 167 | # python's locales will accept in your OS, by example | ||
| 168 | # "en_US.utf8" in Unix-like OS, "English_United States" in Windows. | ||
| 169 | # LOCALES = dict mapping language --> explicit locale for the languages | ||
| 170 | # in TRANSLATIONS. You can omit one or more keys. | ||
| 171 | # LOCALE_FALLBACK = locale to use when an explicit locale is unavailable | ||
| 172 | # LOCALE_DEFAULT = locale to use for languages not mentioned in LOCALES; if | ||
| 173 | # not set the default Nikola mapping is used. | ||
| 174 | |||
| 175 | # POSTS and PAGES contains (wildcard, destination, template) tuples. | ||
| 176 | # | ||
| 177 | # The wildcard is used to generate a list of reSt source files | ||
| 178 | # (whatever/thing.txt). | ||
| 179 | # | ||
| 180 | # That fragment could have an associated metadata file (whatever/thing.meta), | ||
| 181 | # and optionally translated files (example for Spanish, with code "es"): | ||
| 182 | # whatever/thing.es.txt and whatever/thing.es.meta | ||
| 183 | # | ||
| 184 | # This assumes you use the default TRANSLATIONS_PATTERN. | ||
| 185 | # | ||
| 186 | # From those files, a set of HTML fragment files will be generated: | ||
| 187 | # cache/whatever/thing.html (and maybe cache/whatever/thing.html.es) | ||
| 188 | # | ||
| 189 | # These files are combined with the template to produce rendered | ||
| 190 | # pages, which will be placed at | ||
| 191 | # output / TRANSLATIONS[lang] / destination / pagename.html | ||
| 192 | # | ||
| 193 | # where "pagename" is the "slug" specified in the metadata file. | ||
| 194 | # | ||
| 195 | # The difference between POSTS and PAGES is that POSTS are added | ||
| 196 | # to feeds and are considered part of a blog, while PAGES are | ||
| 197 | # just independent HTML pages. | ||
| 198 | # | ||
| 199 | |||
| 200 | POSTS = ( | ||
| 201 | ("blog/*.rst", "posts", "post.tmpl"), | ||
| 202 | ("blog/*.md", "posts", "post.tmpl"), | ||
| 203 | ("blog/*.txt", "posts", "post.tmpl"), | ||
| 204 | ) | ||
| 205 | PAGES = ( | ||
| 206 | ("stories/*.rst", "", "story.tmpl"), | ||
| 207 | ("stories/*.md", "", "story.tmpl"), | ||
| 208 | ("stories/*.txt", "", "story.tmpl"), | ||
| 209 | ) | ||
| 210 | |||
| 211 | # One or more folders containing files to be copied as-is into the output. | ||
| 212 | # The format is a dictionary of {source: relative destination}. | ||
| 213 | # Default is: | ||
| 214 | # FILES_FOLDERS = {'files': ''} | ||
| 215 | # Which means copy 'files' into 'output' | ||
| 216 | |||
| 217 | # One or more folders containing listings to be processed and stored into | ||
| 218 | # the output. The format is a dictionary of {source: relative destination}. | ||
| 219 | # Default is: | ||
| 220 | # LISTINGS_FOLDERS = {'listings': 'listings'} | ||
| 221 | # Which means process listings from 'listings' into 'output/listings' | ||
| 222 | |||
| 223 | # A mapping of languages to file-extensions that represent that language. | ||
| 224 | # Feel free to add or delete extensions to any list, but don't add any new | ||
| 225 | # compilers unless you write the interface for it yourself. | ||
| 226 | # | ||
| 227 | # 'rest' is reStructuredText | ||
| 228 | # 'markdown' is MarkDown | ||
| 229 | # 'html' assumes the file is HTML and just copies it | ||
| 230 | COMPILERS = { | ||
| 231 | "rest": ('.rst', '.txt'), | ||
| 232 | "markdown": ('.md', '.mdown', '.markdown'), | ||
| 233 | "textile": ('.textile',), | ||
| 234 | "txt2tags": ('.t2t',), | ||
| 235 | "bbcode": ('.bb',), | ||
| 236 | "wiki": ('.wiki',), | ||
| 237 | "ipynb": ('.ipynb',), | ||
| 238 | "html": ('.html', '.htm'), | ||
| 239 | # PHP files are rendered the usual way (i.e. with the full templates). | ||
| 240 | # The resulting files have .php extensions, making it possible to run | ||
| 241 | # them without reconfiguring your server to recognize them. | ||
| 242 | "php": ('.php',), | ||
| 243 | # Pandoc detects the input from the source filename | ||
| 244 | # but is disabled by default as it would conflict | ||
| 245 | # with many of the others. | ||
| 246 | # "pandoc": ('.rst', '.md', '.txt'), | ||
| 247 | } | ||
| 248 | |||
| 249 | # Create by default posts in one file format? | ||
| 250 | # Set to False for two-file posts, with separate metadata. | ||
| 251 | # ONE_FILE_POSTS = True | ||
| 252 | |||
| 253 | # If this is set to True, the DEFAULT_LANG version will be displayed for | ||
| 254 | # untranslated posts. | ||
| 255 | # If this is set to False, then posts that are not translated to a language | ||
| 256 | # LANG will not be visible at all in the pages in that language. | ||
| 257 | # Formerly known as HIDE_UNTRANSLATED_POSTS (inverse) | ||
| 258 | # SHOW_UNTRANSLATED_POSTS = True | ||
| 259 | |||
| 260 | # Nikola supports logo display. If you have one, you can put the URL here. | ||
| 261 | # Final output is <img src="LOGO_URL" id="logo" alt="BLOG_TITLE">. | ||
| 262 | # The URL may be relative to the site root. | ||
| 263 | # LOGO_URL = '' | ||
| 264 | |||
| 265 | # If you want to hide the title of your website (for example, if your logo | ||
| 266 | # already contains the text), set this to False. | ||
| 267 | SHOW_BLOG_TITLE = False | ||
| 268 | |||
| 269 | # Writes tag cloud data in form of tag_cloud_data.json. | ||
| 270 | # Warning: this option will change its default value to False in v8! | ||
| 271 | WRITE_TAG_CLOUD = False | ||
| 272 | |||
| 273 | # Paths for different autogenerated bits. These are combined with the | ||
| 274 | # translation paths. | ||
| 275 | |||
| 276 | # Final locations are: | ||
| 277 | # output / TRANSLATION[lang] / TAG_PATH / index.html (list of tags) | ||
| 278 | # output / TRANSLATION[lang] / TAG_PATH / tag.html (list of posts for a tag) | ||
| 279 | # output / TRANSLATION[lang] / TAG_PATH / tag.xml (RSS feed for a tag) | ||
| 280 | # TAG_PATH = "categories" | ||
| 281 | |||
| 282 | # If TAG_PAGES_ARE_INDEXES is set to True, each tag's page will contain | ||
| 283 | # the posts themselves. If set to False, it will be just a list of links. | ||
| 284 | # TAG_PAGES_ARE_INDEXES = False | ||
| 285 | |||
| 286 | # Set descriptions for tag pages to make them more interesting. The | ||
| 287 | # default is no description. The value is used in the meta description | ||
| 288 | # and displayed underneath the tag list or index page’s title. | ||
| 289 | # TAG_PAGES_DESCRIPTIONS = { | ||
| 290 | # DEFAULT_LANG: { | ||
| 291 | # "blogging": "Meta-blog posts about blogging about blogging.", | ||
| 292 | # "open source": "My contributions to my many, varied, ever-changing, and eternal libre software projects." | ||
| 293 | # }, | ||
| 294 | #} | ||
| 295 | |||
| 296 | # Only include tags on the tag list/overview page if there are at least | ||
| 297 | # TAGLIST_MINIMUM_POSTS number of posts or more with every tag. Every tag | ||
| 298 | # page is still generated, linked from posts, and included in the sitemap. | ||
| 299 | # However, more obscure tags can be hidden from the tag index page. | ||
| 300 | # TAGLIST_MINIMUM_POSTS = 1 | ||
| 301 | |||
| 302 | # Final locations are: | ||
| 303 | # output / TRANSLATION[lang] / CATEGORY_PATH / index.html (list of categories) | ||
| 304 | # output / TRANSLATION[lang] / CATEGORY_PATH / CATEGORY_PREFIX category.html (list of posts for a category) | ||
| 305 | # output / TRANSLATION[lang] / CATEGORY_PATH / CATEGORY_PREFIX category.xml (RSS feed for a category) | ||
| 306 | # CATEGORY_PATH = "categories" | ||
| 307 | # CATEGORY_PREFIX = "cat_" | ||
| 308 | |||
| 309 | # If CATEGORY_PAGES_ARE_INDEXES is set to True, each category's page will contain | ||
| 310 | # the posts themselves. If set to False, it will be just a list of links. | ||
| 311 | # CATEGORY_PAGES_ARE_INDEXES = False | ||
| 312 | |||
| 313 | # Set descriptions for category pages to make them more interesting. The | ||
| 314 | # default is no description. The value is used in the meta description | ||
| 315 | # and displayed underneath the category list or index page’s title. | ||
| 316 | # CATEGORY_PAGES_DESCRIPTIONS = { | ||
| 317 | # DEFAULT_LANG: { | ||
| 318 | # "blogging": "Meta-blog posts about blogging about blogging.", | ||
| 319 | # "open source": "My contributions to my many, varied, ever-changing, and eternal libre software projects." | ||
| 320 | # }, | ||
| 321 | #} | ||
| 322 | |||
| 323 | # Final location for the main blog page and sibling paginated pages is | ||
| 324 | # output / TRANSLATION[lang] / INDEX_PATH / index-*.html | ||
| 325 | INDEX_PATH = "blog" | ||
| 326 | |||
| 327 | # Create per-month archives instead of per-year | ||
| 328 | # CREATE_MONTHLY_ARCHIVE = False | ||
| 329 | # Create one large archive instead of per-year | ||
| 330 | # CREATE_SINGLE_ARCHIVE = False | ||
| 331 | # Create year, month, and day archives each with a (long) list of posts | ||
| 332 | # (overrides both CREATE_MONTHLY_ARCHIVE and CREATE_SINGLE_ARCHIVE) | ||
| 333 | # CREATE_FULL_ARCHIVES = False | ||
| 334 | # If monthly archives or full archives are created, adds also one archive per day | ||
| 335 | # CREATE_DAILY_ARCHIVE = False | ||
| 336 | # Final locations for the archives are: | ||
| 337 | # output / TRANSLATION[lang] / ARCHIVE_PATH / ARCHIVE_FILENAME | ||
| 338 | # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / index.html | ||
| 339 | # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / index.html | ||
| 340 | # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / DAY / index.html | ||
| 341 | # ARCHIVE_PATH = "" | ||
| 342 | # ARCHIVE_FILENAME = "archive.html" | ||
| 343 | |||
| 344 | # If ARCHIVES_ARE_INDEXES is set to True, each archive page which contains a list | ||
| 345 | # of posts will contain the posts themselves. If set to False, it will be just a | ||
| 346 | # list of links. | ||
| 347 | # ARCHIVES_ARE_INDEXES = False | ||
| 348 | |||
| 349 | # URLs to other posts/pages can take 3 forms: | ||
| 350 | # rel_path: a relative URL to the current page/post (default) | ||
| 351 | # full_path: a URL with the full path from the root | ||
| 352 | # absolute: a complete URL (that includes the SITE_URL) | ||
| 353 | # URL_TYPE = 'rel_path' | ||
| 354 | |||
| 355 | # Final location for the blog main RSS feed is: | ||
| 356 | # output / TRANSLATION[lang] / RSS_PATH / rss.xml | ||
| 357 | RSS_PATH = "blog/" | ||
| 358 | |||
| 359 | # Number of posts in RSS feeds | ||
| 360 | # FEED_LENGTH = 10 | ||
| 361 | |||
| 362 | # Slug the Tag URL easier for users to type, special characters are | ||
| 363 | # often removed or replaced as well. | ||
| 364 | # SLUG_TAG_PATH = True | ||
| 365 | |||
| 366 | # A list of redirection tuples, [("foo/from.html", "/bar/to.html")]. | ||
| 367 | # | ||
| 368 | # A HTML file will be created in output/foo/from.html that redirects | ||
| 369 | # to the "/bar/to.html" URL. notice that the "from" side MUST be a | ||
| 370 | # relative URL. | ||
| 371 | # | ||
| 372 | # If you don't need any of these, just set to [] | ||
| 373 | REDIRECTIONS = [] | ||
| 374 | |||
| 375 | # Presets of commands to execute to deploy. Can be anything, for | ||
| 376 | # example, you may use rsync: | ||
| 377 | # "rsync -rav --delete output/ joe@my.site:/srv/www/site" | ||
| 378 | # And then do a backup, or run `nikola ping` from the `ping` | ||
| 379 | # plugin (`nikola plugin -i ping`). Or run `nikola check -l`. | ||
| 380 | # You may also want to use github_deploy (see below). | ||
| 381 | # You can define multiple presets and specify them as arguments | ||
| 382 | # to `nikola deploy`. If no arguments are specified, a preset | ||
| 383 | # named `default` will be executed. You can use as many presets | ||
| 384 | # in a `nikola deploy` command as you like. | ||
| 385 | DEPLOY_COMMANDS = { | ||
| 386 | 'default': [ | ||
| 387 | "rsync -av --delete output/ erdgeist.org:erdgeist.org/new/", | ||
| 388 | ] | ||
| 389 | } | ||
| 390 | |||
| 391 | # For user.github.io OR organization.github.io pages, the DEPLOY branch | ||
| 392 | # MUST be 'master', and 'gh-pages' for other repositories. | ||
| 393 | # GITHUB_SOURCE_BRANCH = 'master' | ||
| 394 | # GITHUB_DEPLOY_BRANCH = 'gh-pages' | ||
| 395 | |||
| 396 | # The name of the remote where you wish to push to, using github_deploy. | ||
| 397 | # GITHUB_REMOTE_NAME = 'origin' | ||
| 398 | |||
| 399 | # Where the output site should be located | ||
| 400 | # If you don't use an absolute path, it will be considered as relative | ||
| 401 | # to the location of conf.py | ||
| 402 | # OUTPUT_FOLDER = 'output' | ||
| 403 | |||
| 404 | # where the "cache" of partial generated content should be located | ||
| 405 | # default: 'cache' | ||
| 406 | # CACHE_FOLDER = 'cache' | ||
| 407 | |||
| 408 | # Filters to apply to the output. | ||
| 409 | # A directory where the keys are either: a file extensions, or | ||
| 410 | # a tuple of file extensions. | ||
| 411 | # | ||
| 412 | # And the value is a list of commands to be applied in order. | ||
| 413 | # | ||
| 414 | # Each command must be either: | ||
| 415 | # | ||
| 416 | # A string containing a '%s' which will | ||
| 417 | # be replaced with a filename. The command *must* produce output | ||
| 418 | # in place. | ||
| 419 | # | ||
| 420 | # Or: | ||
| 421 | # | ||
| 422 | # A python callable, which will be called with the filename as | ||
| 423 | # argument. | ||
| 424 | # | ||
| 425 | # By default, only .php files uses filters to inject PHP into | ||
| 426 | # Nikola’s templates. All other filters must be enabled through FILTERS. | ||
| 427 | # | ||
| 428 | # Many filters are shipped with Nikola. A list is available in the manual: | ||
| 429 | # <http://getnikola.com/handbook.html#post-processing-filters> | ||
| 430 | # | ||
| 431 | # from nikola import filters | ||
| 432 | # FILTERS = { | ||
| 433 | # ".html": [filters.typogrify], | ||
| 434 | # ".js": [filters.closure_compiler], | ||
| 435 | # ".jpg": ["jpegoptim --strip-all -m75 -v %s"], | ||
| 436 | # } | ||
| 437 | |||
| 438 | # Expert setting! Create a gzipped copy of each generated file. Cheap server- | ||
| 439 | # side optimization for very high traffic sites or low memory servers. | ||
| 440 | # GZIP_FILES = False | ||
| 441 | # File extensions that will be compressed | ||
| 442 | # GZIP_EXTENSIONS = ('.txt', '.htm', '.html', '.css', '.js', '.json', '.xml') | ||
| 443 | # Use an external gzip command? None means no. | ||
| 444 | # Example: GZIP_COMMAND = "pigz -k {filename}" | ||
| 445 | # GZIP_COMMAND = None | ||
| 446 | # Make sure the server does not return a "Accept-Ranges: bytes" header for | ||
| 447 | # files compressed by this option! OR make sure that a ranged request does not | ||
| 448 | # return partial content of another representation for these resources. Do not | ||
| 449 | # use this feature if you do not understand what this means. | ||
| 450 | |||
| 451 | # Compiler to process LESS files. | ||
| 452 | # LESS_COMPILER = 'lessc' | ||
| 453 | |||
| 454 | # A list of options to pass to the LESS compiler. | ||
| 455 | # Final command is: LESS_COMPILER LESS_OPTIONS file.less | ||
| 456 | # LESS_OPTIONS = [] | ||
| 457 | |||
| 458 | # Compiler to process Sass files. | ||
| 459 | # SASS_COMPILER = 'sass' | ||
| 460 | |||
| 461 | # A list of options to pass to the Sass compiler. | ||
| 462 | # Final command is: SASS_COMPILER SASS_OPTIONS file.s(a|c)ss | ||
| 463 | # SASS_OPTIONS = [] | ||
| 464 | |||
| 465 | # ############################################################################# | ||
| 466 | # Image Gallery Options | ||
| 467 | # ############################################################################# | ||
| 468 | |||
| 469 | # One or more folders containing galleries. The format is a dictionary of | ||
| 470 | # {"source": "relative_destination"}, where galleries are looked for in | ||
| 471 | # "source/" and the results will be located in | ||
| 472 | # "OUTPUT_PATH/relative_destination/gallery_name" | ||
| 473 | # Default is: | ||
| 474 | # GALLERY_FOLDERS = {"gallery": "gallery", "images" : "pics" } | ||
| 475 | # More gallery options: | ||
| 476 | THUMBNAIL_SIZE = 180 | ||
| 477 | MAX_IMAGE_SIZE = 480 | ||
| 478 | # USE_FILENAME_AS_TITLE = True | ||
| 479 | # EXTRA_IMAGE_EXTENSIONS = [] | ||
| 480 | # | ||
| 481 | # If set to False, it will sort by filename instead. Defaults to True | ||
| 482 | # GALLERY_SORT_BY_DATE = True | ||
| 483 | # | ||
| 484 | # Folders containing images to be used in normal posts or | ||
| 485 | # pages. Images will be scaled down according to THUMBNAIL_SIZE and | ||
| 486 | # MAX_IMAGE_SIZE options, but will have to be referenced manually to | ||
| 487 | # be visible on the site. The format is a dictionary of {source: | ||
| 488 | # relative destination}. | ||
| 489 | # | ||
| 490 | IMAGE_FOLDERS = {'images': 'about'} | ||
| 491 | |||
| 492 | # ############################################################################# | ||
| 493 | # HTML fragments and diverse things that are used by the templates | ||
| 494 | # ############################################################################# | ||
| 495 | |||
| 496 | # Data about post-per-page indexes. | ||
| 497 | # INDEXES_PAGES defaults to ' old posts, page %d' or ' page %d' (translated), | ||
| 498 | # depending on the value of INDEXES_PAGES_MAIN. | ||
| 499 | # | ||
| 500 | # (translatable) If the following is empty, defaults to BLOG_TITLE: | ||
| 501 | # INDEXES_TITLE = "" | ||
| 502 | # | ||
| 503 | # (translatable) If the following is empty, defaults to ' [old posts,] page %d' (see above): | ||
| 504 | # INDEXES_PAGES = "" | ||
| 505 | # | ||
| 506 | # If the following is True, INDEXES_PAGES is also displayed on the main (the | ||
| 507 | # newest) index page (index.html): | ||
| 508 | # INDEXES_PAGES_MAIN = False | ||
| 509 | # | ||
| 510 | # If the following is True, index-1.html has the oldest posts, index-2.html the | ||
| 511 | # second-oldest posts, etc., and index.html has the newest posts. This ensures | ||
| 512 | # that all posts on index-x.html will forever stay on that page, now matter how | ||
| 513 | # many new posts are added. | ||
| 514 | # If False, index-1.html has the second-newest posts, index-2.html the third-newest, | ||
| 515 | # and index-n.html the oldest posts. When this is active, old posts can be moved | ||
| 516 | # to other index pages when new posts are added. | ||
| 517 | # INDEXES_STATIC = True | ||
| 518 | # | ||
| 519 | # (translatable) If PRETTY_URLS is set to True, this setting will be used to create | ||
| 520 | # more pretty URLs for index pages, such as page/2/index.html instead of index-2.html. | ||
| 521 | # Valid values for this settings are: | ||
| 522 | # * False, | ||
| 523 | # * a list or tuple, specifying the path to be generated, | ||
| 524 | # * a dictionary mapping languages to lists or tuples. | ||
| 525 | # Every list or tuple must consist of strings which are used to combine the path; | ||
| 526 | # for example: | ||
| 527 | # ['page', '{number}', '{index_file}'] | ||
| 528 | # The replacements | ||
| 529 | # {number} --> (logical) page number; | ||
| 530 | # {old_number} --> the page number inserted into index-n.html before (zero for | ||
| 531 | # the main page); | ||
| 532 | # {index_file} --> value of option INDEX_FILE | ||
| 533 | # are made. | ||
| 534 | # Note that in case INDEXES_PAGES_MAIN is set to True, a redirection will be created | ||
| 535 | # for the full URL with the page number of the main page to the normal (shorter) main | ||
| 536 | # page URL. | ||
| 537 | # INDEXES_PRETTY_PAGE_URL = False | ||
| 538 | |||
| 539 | # Color scheme to be used for code blocks. If your theme provides | ||
| 540 | # "assets/css/code.css" this is ignored. | ||
| 541 | # Can be any of autumn borland bw colorful default emacs friendly fruity manni | ||
| 542 | # monokai murphy native pastie perldoc rrt tango trac vim vs | ||
| 543 | # CODE_COLOR_SCHEME = 'default' | ||
| 544 | |||
| 545 | # If you use 'site-reveal' theme you can select several subthemes | ||
| 546 | # THEME_REVEAL_CONFIG_SUBTHEME = 'sky' | ||
| 547 | # You can also use: beige/serif/simple/night/default | ||
| 548 | |||
| 549 | # Again, if you use 'site-reveal' theme you can select several transitions | ||
| 550 | # between the slides | ||
| 551 | # THEME_REVEAL_CONFIG_TRANSITION = 'cube' | ||
| 552 | # You can also use: page/concave/linear/none/default | ||
| 553 | |||
| 554 | # FAVICONS contains (name, file, size) tuples. | ||
| 555 | # Used for create favicon link like this: | ||
| 556 | # <link rel="name" href="file" sizes="size"/> | ||
| 557 | # FAVICONS = { | ||
| 558 | # ("icon", "/favicon.ico", "16x16"), | ||
| 559 | # ("icon", "/icon_128x128.png", "128x128"), | ||
| 560 | # } | ||
| 561 | |||
| 562 | # Show only teasers in the index pages? Defaults to False. | ||
| 563 | # INDEX_TEASERS = False | ||
| 564 | |||
| 565 | # HTML fragments with the Read more... links. | ||
| 566 | # The following tags exist and are replaced for you: | ||
| 567 | # {link} A link to the full post page. | ||
| 568 | # {read_more} The string “Read more” in the current language. | ||
| 569 | # {reading_time} An estimate of how long it will take to read the post. | ||
| 570 | # {remaining_reading_time} An estimate of how long it will take to read the post, sans the teaser. | ||
| 571 | # {min_remaining_read} The string “{remaining_reading_time} min remaining to read” in the current language. | ||
| 572 | # {paragraph_count} The amount of paragraphs in the post. | ||
| 573 | # {remaining_paragraph_count} The amount of paragraphs in the post, sans the teaser. | ||
| 574 | # {{ A literal { (U+007B LEFT CURLY BRACKET) | ||
| 575 | # }} A literal } (U+007D RIGHT CURLY BRACKET) | ||
| 576 | |||
| 577 | # 'Read more...' for the index page, if INDEX_TEASERS is True (translatable) | ||
| 578 | INDEX_READ_MORE_LINK = '<p class="more"><a href="{link}">{read_more}…</a></p>' | ||
| 579 | # 'Read more...' for the RSS_FEED, if RSS_TEASERS is True (translatable) | ||
| 580 | RSS_READ_MORE_LINK = '<p><a href="{link}">{read_more}…</a> ({min_remaining_read})</p>' | ||
| 581 | |||
| 582 | # Append a URL query to the RSS_READ_MORE_LINK and the //rss/item/link in | ||
| 583 | # RSS feeds. Minimum example for Piwik "pk_campaign=rss" and Google Analytics | ||
| 584 | # "utm_source=rss&utm_medium=rss&utm_campaign=rss". Advanced option used for | ||
| 585 | # traffic source tracking. | ||
| 586 | RSS_LINKS_APPEND_QUERY = False | ||
| 587 | |||
| 588 | # A HTML fragment describing the license, for the sidebar. | ||
| 589 | # (translatable) | ||
| 590 | LICENSE = "" | ||
| 591 | # I recommend using the Creative Commons' wizard: | ||
| 592 | # http://creativecommons.org/choose/ | ||
| 593 | # LICENSE = """ | ||
| 594 | # <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/ar/"> | ||
| 595 | # <img alt="Creative Commons License BY-NC-SA" | ||
| 596 | # style="border-width:0; margin-bottom:12px;" | ||
| 597 | # src="http://i.creativecommons.org/l/by-nc-sa/2.5/ar/88x31.png"></a>""" | ||
| 598 | |||
| 599 | # A small copyright notice for the page footer (in HTML). | ||
| 600 | # (translatable) | ||
| 601 | CONTENT_FOOTER = "" | ||
| 602 | # 'Contents © {date} <a href="mailto:{email}">{author}</a> - Powered by <a href="http://getnikola.com" rel="nofollow">Nikola</a> {license}' | ||
| 603 | |||
| 604 | # Things that will be passed to CONTENT_FOOTER.format(). This is done | ||
| 605 | # for translatability, as dicts are not formattable. Nikola will | ||
| 606 | # intelligently format the setting properly. | ||
| 607 | # The setting takes a dict. The keys are languages. The values are | ||
| 608 | # tuples of tuples of positional arguments and dicts of keyword arguments | ||
| 609 | # to format(). For example, {'en': (('Hello'), {'target': 'World'})} | ||
| 610 | # results in CONTENT_FOOTER['en'].format('Hello', target='World'). | ||
| 611 | # WARNING: If you do not use multiple languages with CONTENT_FOOTER, this | ||
| 612 | # still needs to be a dict of this format. (it can be empty if you | ||
| 613 | # do not need formatting) | ||
| 614 | # (translatable) | ||
| 615 | CONTENT_FOOTER_FORMATS = { | ||
| 616 | DEFAULT_LANG: ( | ||
| 617 | (), | ||
| 618 | { | ||
| 619 | "email": BLOG_EMAIL, | ||
| 620 | # "author": BLOG_AUTHOR, | ||
| 621 | "date": time.gmtime().tm_year, | ||
| 622 | "license": LICENSE | ||
| 623 | } | ||
| 624 | ) | ||
| 625 | } | ||
| 626 | |||
| 627 | # To use comments, you can choose between different third party comment | ||
| 628 | # systems. The following comment systems are supported by Nikola: | ||
| 629 | # disqus, facebook, googleplus, intensedebate, isso, livefyre, muut | ||
| 630 | # You can leave this option blank to disable comments. | ||
| 631 | COMMENT_SYSTEM = "" | ||
| 632 | # And you also need to add your COMMENT_SYSTEM_ID which | ||
| 633 | # depends on what comment system you use. The default is | ||
| 634 | # "nikolademo" which is a test account for Disqus. More information | ||
| 635 | # is in the manual. | ||
| 636 | COMMENT_SYSTEM_ID = "" | ||
| 637 | |||
| 638 | # Enable annotations using annotateit.org? | ||
| 639 | # If set to False, you can still enable them for individual posts and pages | ||
| 640 | # setting the "annotations" metadata. | ||
| 641 | # If set to True, you can disable them for individual posts and pages using | ||
| 642 | # the "noannotations" metadata. | ||
| 643 | # ANNOTATIONS = False | ||
| 644 | |||
| 645 | # Create index.html for page (story) folders? | ||
| 646 | # WARNING: if a page would conflict with the index file (usually | ||
| 647 | # caused by setting slug to `index`), the STORY_INDEX | ||
| 648 | # will not be generated for that directory. | ||
| 649 | # STORY_INDEX = False | ||
| 650 | # Enable comments on story pages? | ||
| 651 | # COMMENTS_IN_STORIES = False | ||
| 652 | # Enable comments on picture gallery pages? | ||
| 653 | # COMMENTS_IN_GALLERIES = False | ||
| 654 | |||
| 655 | # What file should be used for directory indexes? | ||
| 656 | # Defaults to index.html | ||
| 657 | # Common other alternatives: default.html for IIS, index.php | ||
| 658 | # INDEX_FILE = "index.html" | ||
| 659 | |||
| 660 | # If a link ends in /index.html, drop the index.html part. | ||
| 661 | # http://mysite/foo/bar/index.html => http://mysite/foo/bar/ | ||
| 662 | # (Uses the INDEX_FILE setting, so if that is, say, default.html, | ||
| 663 | # it will instead /foo/default.html => /foo) | ||
| 664 | # (Note: This was briefly STRIP_INDEX_HTML in v 5.4.3 and 5.4.4) | ||
| 665 | # Default = False | ||
| 666 | STRIP_INDEXES = True | ||
| 667 | |||
| 668 | # Should the sitemap list directories which only include other directories | ||
| 669 | # and no files. | ||
| 670 | # Default to True | ||
| 671 | # If this is False | ||
| 672 | # e.g. /2012 includes only /01, /02, /03, /04, ...: don't add it to the sitemap | ||
| 673 | # if /2012 includes any files (including index.html)... add it to the sitemap | ||
| 674 | # SITEMAP_INCLUDE_FILELESS_DIRS = True | ||
| 675 | |||
| 676 | # List of files relative to the server root (!) that will be asked to be excluded | ||
| 677 | # from indexing and other robotic spidering. * is supported. Will only be effective | ||
| 678 | # if SITE_URL points to server root. The list is used to exclude resources from | ||
| 679 | # /robots.txt and /sitemap.xml, and to inform search engines about /sitemapindex.xml. | ||
| 680 | # ROBOTS_EXCLUSIONS = ["/archive.html", "/category/*.html"] | ||
| 681 | |||
| 682 | # Instead of putting files in <slug>.html, put them in | ||
| 683 | # <slug>/index.html. Also enables STRIP_INDEXES | ||
| 684 | # This can be disabled on a per-page/post basis by adding | ||
| 685 | # .. pretty_url: False | ||
| 686 | # to the metadata | ||
| 687 | # PRETTY_URLS = False | ||
| 688 | |||
| 689 | # If True, publish future dated posts right away instead of scheduling them. | ||
| 690 | # Defaults to False. | ||
| 691 | # FUTURE_IS_NOW = False | ||
| 692 | |||
| 693 | # If True, future dated posts are allowed in deployed output | ||
| 694 | # Only the individual posts are published/deployed; not in indexes/sitemap | ||
| 695 | # Generally, you want FUTURE_IS_NOW and DEPLOY_FUTURE to be the same value. | ||
| 696 | # DEPLOY_FUTURE = False | ||
| 697 | # If False, draft posts will not be deployed | ||
| 698 | # DEPLOY_DRAFTS = True | ||
| 699 | |||
| 700 | # Allows scheduling of posts using the rule specified here (new_post -s) | ||
| 701 | # Specify an iCal Recurrence Rule: http://www.kanzaki.com/docs/ical/rrule.html | ||
| 702 | # SCHEDULE_RULE = '' | ||
| 703 | # If True, use the scheduling rule to all posts by default | ||
| 704 | # SCHEDULE_ALL = False | ||
| 705 | |||
| 706 | # Do you want a add a Mathjax config file? | ||
| 707 | # MATHJAX_CONFIG = "" | ||
| 708 | |||
| 709 | # If you are using the compile-ipynb plugin, just add this one: | ||
| 710 | # MATHJAX_CONFIG = """ | ||
| 711 | # <script type="text/x-mathjax-config"> | ||
| 712 | # MathJax.Hub.Config({ | ||
| 713 | # tex2jax: { | ||
| 714 | # inlineMath: [ ['$','$'], ["\\\(","\\\)"] ], | ||
| 715 | # displayMath: [ ['$$','$$'], ["\\\[","\\\]"] ], | ||
| 716 | # processEscapes: true | ||
| 717 | # }, | ||
| 718 | # displayAlign: 'left', // Change this to 'center' to center equations. | ||
| 719 | # "HTML-CSS": { | ||
| 720 | # styles: {'.MathJax_Display': {"margin": 0}} | ||
| 721 | # } | ||
| 722 | # }); | ||
| 723 | # </script> | ||
| 724 | # """ | ||
| 725 | |||
| 726 | # Do you want to customize the nbconversion of your IPython notebook? | ||
| 727 | # IPYNB_CONFIG = {} | ||
| 728 | # With the following example configuration you can use a custom jinja template | ||
| 729 | # called `toggle.tpl` which has to be located in your site/blog main folder: | ||
| 730 | # IPYNB_CONFIG = {'Exporter':{'template_file': 'toggle'}} | ||
| 731 | |||
| 732 | # What Markdown extensions to enable? | ||
| 733 | # You will also get gist, nikola and podcast because those are | ||
| 734 | # done in the code, hope you don't mind ;-) | ||
| 735 | # Note: most Nikola-specific extensions are done via the Nikola plugin system, | ||
| 736 | # with the MarkdownExtension class and should not be added here. | ||
| 737 | # MARKDOWN_EXTENSIONS = ['fenced_code', 'codehilite'] | ||
| 738 | |||
| 739 | # Extra options to pass to the pandoc comand. | ||
| 740 | # by default, it's empty, is a list of strings, for example | ||
| 741 | # ['-F', 'pandoc-citeproc', '--bibliography=/Users/foo/references.bib'] | ||
| 742 | # PANDOC_OPTIONS = [] | ||
| 743 | |||
| 744 | # Social buttons. This is sample code for AddThis (which was the default for a | ||
| 745 | # long time). Insert anything you want here, or even make it empty. | ||
| 746 | # (translatable) | ||
| 747 | SOCIAL_BUTTONS_CODE = "" | ||
| 748 | # <!-- Social buttons --> | ||
| 749 | # <div id="addthisbox" class="addthis_toolbox addthis_peekaboo_style addthis_default_style addthis_label_style addthis_32x32_style"> | ||
| 750 | # <a class="addthis_button_more">Share</a> | ||
| 751 | # <ul><li><a class="addthis_button_facebook"></a> | ||
| 752 | # <li><a class="addthis_button_google_plusone_share"></a> | ||
| 753 | # <li><a class="addthis_button_linkedin"></a> | ||
| 754 | # <li><a class="addthis_button_twitter"></a> | ||
| 755 | # </ul> | ||
| 756 | # </div> | ||
| 757 | # <script src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-4f7088a56bb93798"></script> | ||
| 758 | # <!-- End of social buttons --> | ||
| 759 | # """ | ||
| 760 | |||
| 761 | # Show link to source for the posts? | ||
| 762 | # Formerly known as HIDE_SOURCELINK (inverse) | ||
| 763 | SHOW_SOURCELINK = False | ||
| 764 | # Copy the source files for your pages? | ||
| 765 | # Setting it to False implies SHOW_SOURCELINK = False | ||
| 766 | COPY_SOURCES = False | ||
| 767 | |||
| 768 | # Modify the number of Post per Index Page | ||
| 769 | # Defaults to 10 | ||
| 770 | INDEX_DISPLAY_POST_COUNT = 23 | ||
| 771 | |||
| 772 | # By default, Nikola generates RSS files for the website and for tags, and | ||
| 773 | # links to it. Set this to False to disable everything RSS-related. | ||
| 774 | GENERATE_RSS = True | ||
| 775 | |||
| 776 | # RSS_LINK is a HTML fragment to link the RSS or Atom feeds. If set to None, | ||
| 777 | # the base.tmpl will use the feed Nikola generates. However, you may want to | ||
| 778 | # change it for a FeedBurner feed or something else. | ||
| 779 | # RSS_LINK = None | ||
| 780 | |||
| 781 | # Show only teasers in the RSS feed? Default to True | ||
| 782 | # RSS_TEASERS = True | ||
| 783 | |||
| 784 | # Strip HTML in the RSS feed? Default to False | ||
| 785 | # RSS_PLAIN = False | ||
| 786 | |||
| 787 | # A search form to search this site, for the sidebar. You can use a Google | ||
| 788 | # custom search (http://www.google.com/cse/) | ||
| 789 | # Or a DuckDuckGo search: https://duckduckgo.com/search_box.html | ||
| 790 | # Default is no search form. | ||
| 791 | # (translatable) | ||
| 792 | # SEARCH_FORM = "" | ||
| 793 | # | ||
| 794 | # This search form works for any site and looks good in the "site" theme where | ||
| 795 | # it appears on the navigation bar: | ||
| 796 | # | ||
| 797 | # SEARCH_FORM = """ | ||
| 798 | # <!-- Custom search --> | ||
| 799 | # <form method="get" id="search" action="//duckduckgo.com/" | ||
| 800 | # class="navbar-form pull-left"> | ||
| 801 | # <input type="hidden" name="sites" value="%s"/> | ||
| 802 | # <input type="hidden" name="k8" value="#444444"/> | ||
| 803 | # <input type="hidden" name="k9" value="#D51920"/> | ||
| 804 | # <input type="hidden" name="kt" value="h"/> | ||
| 805 | # <input type="text" name="q" maxlength="255" | ||
| 806 | # placeholder="Search…" class="span2" style="margin-top: 4px;"/> | ||
| 807 | # <input type="submit" value="DuckDuckGo Search" style="visibility: hidden;" /> | ||
| 808 | # </form> | ||
| 809 | # <!-- End of custom search --> | ||
| 810 | # """ % SITE_URL | ||
| 811 | # | ||
| 812 | # If you prefer a Google search form, here's an example that should just work: | ||
| 813 | # SEARCH_FORM = """ | ||
| 814 | # <!-- Custom search with Google--> | ||
| 815 | # <form id="search" action="//www.google.com/search" method="get" class="navbar-form pull-left"> | ||
| 816 | # <input type="hidden" name="q" value="site:%s" /> | ||
| 817 | # <input type="text" name="q" maxlength="255" results="0" placeholder="Search"/> | ||
| 818 | # </form> | ||
| 819 | # <!-- End of custom search --> | ||
| 820 | #""" % SITE_URL | ||
| 821 | |||
| 822 | # Use content distribution networks for jQuery, twitter-bootstrap css and js, | ||
| 823 | # and html5shiv (for older versions of Internet Explorer) | ||
| 824 | # If this is True, jQuery and html5shiv are served from the Google CDN and | ||
| 825 | # Bootstrap is served from BootstrapCDN (provided by MaxCDN) | ||
| 826 | # Set this to False if you want to host your site without requiring access to | ||
| 827 | # external resources. | ||
| 828 | USE_CDN = False | ||
| 829 | |||
| 830 | # Check for USE_CDN compatibility. | ||
| 831 | # If you are using custom themes, have configured the CSS properly and are | ||
| 832 | # receiving warnings about incompatibility but believe they are incorrect, you | ||
| 833 | # can set this to False. | ||
| 834 | # USE_CDN_WARNING = True | ||
| 835 | |||
| 836 | # Extra things you want in the pages HEAD tag. This will be added right | ||
| 837 | # before </head> | ||
| 838 | # (translatable) | ||
| 839 | # EXTRA_HEAD_DATA = "" | ||
| 840 | # Google Analytics or whatever else you use. Added to the bottom of <body> | ||
| 841 | # in the default template (base.tmpl). | ||
| 842 | # (translatable) | ||
| 843 | # BODY_END = "" | ||
| 844 | |||
| 845 | # The possibility to extract metadata from the filename by using a | ||
| 846 | # regular expression. | ||
| 847 | # To make it work you need to name parts of your regular expression. | ||
| 848 | # The following names will be used to extract metadata: | ||
| 849 | # - title | ||
| 850 | # - slug | ||
| 851 | # - date | ||
| 852 | # - tags | ||
| 853 | # - link | ||
| 854 | # - description | ||
| 855 | # | ||
| 856 | # An example re is the following: | ||
| 857 | # '(?P<date>\d{4}-\d{2}-\d{2})-(?P<slug>.*)-(?P<title>.*)\.md' | ||
| 858 | # FILE_METADATA_REGEXP = None | ||
| 859 | |||
| 860 | # If you hate "Filenames with Capital Letters and Spaces.md", you should | ||
| 861 | # set this to true. | ||
| 862 | UNSLUGIFY_TITLES = False | ||
| 863 | |||
| 864 | # Additional metadata that is added to a post when creating a new_post | ||
| 865 | # ADDITIONAL_METADATA = {} | ||
| 866 | |||
| 867 | # Nikola supports Open Graph Protocol data for enhancing link sharing and | ||
| 868 | # discoverability of your site on Facebook, Google+, and other services. | ||
| 869 | # Open Graph is enabled by default. | ||
| 870 | # USE_OPEN_GRAPH = True | ||
| 871 | |||
| 872 | # Nikola supports Twitter Card summaries, but they are disabled by default. | ||
| 873 | # They make it possible for you to attach media to Tweets that link | ||
| 874 | # to your content. | ||
| 875 | # | ||
| 876 | # IMPORTANT: | ||
| 877 | # Please note, that you need to opt-in for using Twitter Cards! | ||
| 878 | # To do this please visit https://cards-dev.twitter.com/validator | ||
| 879 | # | ||
| 880 | # Uncomment and modify to following lines to match your accounts. | ||
| 881 | # Images displayed come from the `previewimage` meta tag. | ||
| 882 | # You can specify the card type by using the `card` parameter in TWITTER_CARD. | ||
| 883 | # TWITTER_CARD = { | ||
| 884 | # # 'use_twitter_cards': True, # enable Twitter Cards | ||
| 885 | # # 'card': 'summary', # Card type, you can also use 'summary_large_image', | ||
| 886 | # # see https://dev.twitter.com/cards/types | ||
| 887 | # # 'site': '@website', # twitter nick for the website | ||
| 888 | # # 'creator': '@username', # Username for the content creator / author. | ||
| 889 | # } | ||
| 890 | |||
| 891 | # If webassets is installed, bundle JS and CSS to make site loading faster | ||
| 892 | # USE_BUNDLES = True | ||
| 893 | |||
| 894 | # Plugins you don't want to use. Be careful :-) | ||
| 895 | # DISABLED_PLUGINS = ["render_galleries"] | ||
| 896 | |||
| 897 | # Add the absolute paths to directories containing plugins to use them. | ||
| 898 | # For example, the `plugins` directory of your clone of the Nikola plugins | ||
| 899 | # repository. | ||
| 900 | # EXTRA_PLUGINS_DIRS = [] | ||
| 901 | |||
| 902 | # List of regular expressions, links matching them will always be considered | ||
| 903 | # valid by "nikola check -l" | ||
| 904 | # LINK_CHECK_WHITELIST = [] | ||
| 905 | |||
| 906 | # If set to True, enable optional hyphenation in your posts (requires pyphen) | ||
| 907 | # HYPHENATE = False | ||
| 908 | |||
| 909 | # The <hN> tags in HTML generated by certain compilers (reST/Markdown) | ||
| 910 | # will be demoted by that much (1 → h1 will become h2 and so on) | ||
| 911 | # This was a hidden feature of the Markdown and reST compilers in the | ||
| 912 | # past. Useful especially if your post titles are in <h1> tags too, for | ||
| 913 | # example. | ||
| 914 | # (defaults to 1.) | ||
| 915 | # DEMOTE_HEADERS = 1 | ||
| 916 | |||
| 917 | # If you don’t like slugified file names ([a-z0-9] and a literal dash), | ||
| 918 | # and would prefer to use all the characters your file system allows. | ||
| 919 | # USE WITH CARE! This is also not guaranteed to be perfect, and may | ||
| 920 | # sometimes crash Nikola, your web server, or eat your cat. | ||
| 921 | # USE_SLUGIFY = True | ||
| 922 | |||
| 923 | # You can configure the logging handlers installed as plugins or change the | ||
| 924 | # log level of the default stderr handler. | ||
| 925 | # WARNING: The stderr handler allows only the loglevels of 'INFO' and 'DEBUG'. | ||
| 926 | # This is done for safety reasons, as blocking out anything other | ||
| 927 | # than 'DEBUG' may hide important information and break the user | ||
| 928 | # experience! | ||
| 929 | |||
| 930 | LOGGING_HANDLERS = { | ||
| 931 | 'stderr': {'loglevel': 'INFO', 'bubble': True}, | ||
| 932 | # 'smtp': { | ||
| 933 | # 'from_addr': 'test-errors@example.com', | ||
| 934 | # 'recipients': ('test@example.com'), | ||
| 935 | # 'credentials':('testusername', 'password'), | ||
| 936 | # 'server_addr': ('127.0.0.1', 25), | ||
| 937 | # 'secure': (), | ||
| 938 | # 'level': 'DEBUG', | ||
| 939 | # 'bubble': True | ||
| 940 | # } | ||
| 941 | } | ||
| 942 | |||
| 943 | # Templates will use those filters, along with the defaults. | ||
| 944 | # Consult your engine's documentation on filters if you need help defining | ||
| 945 | # those. | ||
| 946 | # TEMPLATE_FILTERS = {} | ||
| 947 | |||
| 948 | # Put in global_context things you want available on all your templates. | ||
| 949 | # It can be anything, data, functions, modules, etc. | ||
| 950 | GLOBAL_CONTEXT = {} | ||
| 951 | |||
| 952 | # Add functions here and they will be called with template | ||
| 953 | # GLOBAL_CONTEXT as parameter when the template is about to be | ||
| 954 | # rendered | ||
| 955 | GLOBAL_CONTEXT_FILLER = [] | ||
