You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1407 lines
54KB

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