conf.py 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616
  1. ## -*- coding: utf-8 -*-
  2. # -*- coding: utf-8 -*-
  3. from __future__ import unicode_literals
  4. import time
  5. ##############################################
  6. # Configuration, please edit
  7. ##############################################
  8. # Data about this site
  9. BLOG_AUTHOR = "Thomas Dy"
  10. BLOG_TITLE = "Pleasant Programmer"
  11. # This is the main URL for your site. It will be used
  12. # in a prominent link
  13. SITE_URL = "http://pleasantprogrammer.com/"
  14. # This is the URL where nikola's output will be deployed.
  15. # If not set, defaults to SITE_URL
  16. # BASE_URL = "${SITE_URL}"
  17. BLOG_EMAIL = ""
  18. BLOG_DESCRIPTION = ""
  19. # Nikola is multilingual!
  20. #
  21. # Currently supported languages are:
  22. # bg Bulgarian
  23. # ca Catalan
  24. # de German
  25. # el Greek [NOT gr!]
  26. # en English
  27. # eo Esperanto
  28. # es Spanish
  29. # fa Persian
  30. # fr French
  31. # hr Croatian
  32. # it Italian
  33. # jp Japanese
  34. # nl Dutch
  35. # pt_br Portuguese (Brasil)
  36. # pl Polish
  37. # ru Russian
  38. # tr_tr Turkish (Turkey)
  39. # zh_cn Chinese (Simplified)
  40. #
  41. # If you want to use Nikola with a non-supported language you have to provide
  42. # a module containing the necessary translations
  43. # (p.e. look at the modules at: ./nikola/data/themes/default/messages/fr.py).
  44. # If a specific post is not translated to a language, then the version
  45. # in the default language will be shown instead.
  46. # What is the default language?
  47. DEFAULT_LANG = "en"
  48. # What other languages do you have?
  49. # The format is {"translationcode" : "path/to/translation" }
  50. # the path will be used as a prefix for the generated pages location
  51. TRANSLATIONS = {
  52. DEFAULT_LANG: "",
  53. # Example for another language:
  54. # "es": "./es",
  55. }
  56. # Links for the sidebar / navigation bar.
  57. # You should provide a key-value pair for each used language.
  58. NAVIGATION_LINKS = {
  59. DEFAULT_LANG: (
  60. ('/archive.html', 'Archives'),
  61. ('/categories/index.html', 'Tags'),
  62. ('/rss.xml', 'RSS'),
  63. ),
  64. }
  65. USE_BUNDLES = False
  66. WRITE_TAG_CLOUD = False
  67. ##############################################
  68. # Below this point, everything is optional
  69. ##############################################
  70. # POSTS and PAGES contains (wildcard, destination, template) tuples.
  71. #
  72. # The wildcard is used to generate a list of reSt source files
  73. # (whatever/thing.txt).
  74. #
  75. # That fragment could have an associated metadata file (whatever/thing.meta),
  76. # and opcionally translated files (example for spanish, with code "es"):
  77. # whatever/thing.txt.es and whatever/thing.meta.es
  78. #
  79. # From those files, a set of HTML fragment files will be generated:
  80. # cache/whatever/thing.html (and maybe cache/whatever/thing.html.es)
  81. #
  82. # These files are combinated with the template to produce rendered
  83. # pages, which will be placed at
  84. # output / TRANSLATIONS[lang] / destination / pagename.html
  85. #
  86. # where "pagename" is the "slug" specified in the metadata file.
  87. #
  88. # The difference between POSTS and PAGES is that POSTS are added
  89. # to feeds and are considered part of a blog, while PAGES are
  90. # just independent HTML pages.
  91. #
  92. POSTS = (
  93. ("posts/*.md", "posts", "post.tmpl"),
  94. ("posts/*.txt", "posts", "post.tmpl")
  95. )
  96. PAGES = (
  97. ("stories/*.md", "stories", "story.tmpl"),
  98. ("stories/*.txt", "stories", "story.tmpl")
  99. )
  100. # One or more folders containing files to be copied as-is into the output.
  101. # The format is a dictionary of "source" "relative destination".
  102. # Default is:
  103. # FILES_FOLDERS = {'files': '' }
  104. # Which means copy 'files' into 'output'
  105. # A mapping of languages to file-extensions that represent that language.
  106. # Feel free to add or delete extensions to any list, but don't add any new
  107. # compilers unless you write the interface for it yourself.
  108. #
  109. # 'rest' is reStructuredText
  110. # 'markdown' is MarkDown
  111. # 'html' assumes the file is html and just copies it
  112. COMPILERS = {
  113. "markdown": ('.md', '.mdown', '.markdown')
  114. }
  115. # Create by default posts in one file format?
  116. # Set to False for two-file posts, with separate metadata.
  117. # ONE_FILE_POSTS = True
  118. # If this is set to True, then posts that are not translated to a language
  119. # LANG will not be visible at all in the pages in that language.
  120. # If set to False, the DEFAULT_LANG version will be displayed for
  121. # untranslated posts.
  122. # HIDE_UNTRANSLATED_POSTS = False
  123. # Paths for different autogenerated bits. These are combined with the
  124. # translation paths.
  125. # Final locations are:
  126. # output / TRANSLATION[lang] / TAG_PATH / index.html (list of tags)
  127. # output / TRANSLATION[lang] / TAG_PATH / tag.html (list of posts for a tag)
  128. # output / TRANSLATION[lang] / TAG_PATH / tag.xml (RSS feed for a tag)
  129. # TAG_PATH = "categories"
  130. # If TAG_PAGES_ARE_INDEXES is set to True, each tag's page will contain
  131. # the posts themselves. If set to False, it will be just a list of links.
  132. # TAG_PAGES_ARE_INDEXES = True
  133. # Final location is output / TRANSLATION[lang] / INDEX_PATH / index-*.html
  134. # INDEX_PATH = ""
  135. # Create per-month archives instead of per-year
  136. # CREATE_MONTHLY_ARCHIVE = False
  137. # Final locations for the archives are:
  138. # output / TRANSLATION[lang] / ARCHIVE_PATH / ARCHIVE_FILENAME
  139. # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / index.html
  140. # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / index.html
  141. # ARCHIVE_PATH = ""
  142. # ARCHIVE_FILENAME = "archive.html"
  143. # Final locations are:
  144. # output / TRANSLATION[lang] / RSS_PATH / rss.xml
  145. # RSS_PATH = ""
  146. # Number of posts in RSS feeds
  147. # FEED_LENGTH = 10
  148. # Slug the Tag URL easier for users to type, special characters are
  149. # often removed or replaced as well.
  150. # SLUG_TAG_PATH = True
  151. # A list of redirection tuples, [("foo/from.html", "/bar/to.html")].
  152. #
  153. # A HTML file will be created in output/foo/from.html that redirects
  154. # to the "/bar/to.html" URL. notice that the "from" side MUST be a
  155. # relative URL.
  156. #
  157. # If you don't need any of these, just set to []
  158. # REDIRECTIONS = ${REDIRECTIONS}
  159. # Commands to execute to deploy. Can be anything, for example,
  160. # you may use rsync:
  161. # "rsync -rav output/* joe@my.site:/srv/www/site"
  162. # And then do a backup, or ping pingomatic.
  163. # To do manual deployment, set it to []
  164. DEPLOY_COMMANDS = {
  165. 'default': [
  166. 'git commit-tree -p master -m "updated" source:output | xargs git update-ref refs/heads/master',
  167. 'git push'
  168. ]
  169. }
  170. # Where the output site should be located
  171. # If you don't use an absolute path, it will be considered as relative
  172. # to the location of conf.py
  173. # OUTPUT_FOLDER = 'output'
  174. # where the "cache" of partial generated content should be located
  175. # default: 'cache'
  176. # CACHE_FOLDER = 'cache'
  177. # Filters to apply to the output.
  178. # A directory where the keys are either: a file extensions, or
  179. # a tuple of file extensions.
  180. #
  181. # And the value is a list of commands to be applied in order.
  182. #
  183. # Each command must be either:
  184. #
  185. # A string containing a '%s' which will
  186. # be replaced with a filename. The command *must* produce output
  187. # in place.
  188. #
  189. # Or:
  190. #
  191. # A python callable, which will be called with the filename as
  192. # argument.
  193. #
  194. # By default, there are no filters.
  195. #
  196. # Many filters are shipped with Nikola. A list is available in the manual:
  197. # <http://getnikola.com/handbook.html#post-processing-filters>
  198. # FILTERS = {
  199. # ".jpg": ["jpegoptim --strip-all -m75 -v %s"],
  200. # }
  201. # Create a gzipped copy of each generated file. Cheap server-side optimization.
  202. # GZIP_FILES = False
  203. # File extensions that will be compressed
  204. # GZIP_EXTENSIONS = ('.txt', '.htm', '.html', '.css', '.js', '.json')
  205. # Use an external gzip command? None means no.
  206. # Example: GZIP_COMMAND = "pigz -k {filename}"
  207. # GZIP_COMMAND = None
  208. # #############################################################################
  209. # Image Gallery Options
  210. # #############################################################################
  211. # Galleries are folders in galleries/
  212. # Final location of galleries will be output / GALLERY_PATH / gallery_name
  213. # GALLERY_PATH = "galleries"
  214. # THUMBNAIL_SIZE = 180
  215. # MAX_IMAGE_SIZE = 1280
  216. # USE_FILENAME_AS_TITLE = True
  217. #
  218. # If set to False, it will sort by filename instead. Defaults to True
  219. # GALLERY_SORT_BY_DATE = True
  220. # #############################################################################
  221. # HTML fragments and diverse things that are used by the templates
  222. # #############################################################################
  223. # Data about post-per-page indexes
  224. # INDEXES_TITLE = "" # If this is empty, the default is BLOG_TITLE
  225. # INDEXES_PAGES = "" # If this is empty, the default is 'old posts page %d'
  226. # translated
  227. # Name of the theme to use.
  228. THEME = "pleasant3"
  229. # Color scheme to be used for code blocks. If your theme provides
  230. # "assets/css/code.css" this is ignored.
  231. # Can be any of autumn borland bw colorful default emacs friendly fruity manni
  232. # monokai murphy native pastie perldoc rrt tango trac vim vs
  233. # CODE_COLOR_SCHEME = 'default'
  234. # If you use 'site-reveal' theme you can select several subthemes
  235. # THEME_REVEAL_CONFIG_SUBTHEME = 'sky'
  236. # You can also use: beige/serif/simple/night/default
  237. # Again, if you use 'site-reveal' theme you can select several transitions
  238. # between the slides
  239. # THEME_REVEAL_CONFIG_TRANSITION = 'cube'
  240. # You can also use: page/concave/linear/none/default
  241. # date format used to display post dates.
  242. # (str used by datetime.datetime.strftime)
  243. # DATE_FORMAT = '%Y-%m-%d %H:%M'
  244. # FAVICONS contains (name, file, size) tuples.
  245. # Used for create favicon link like this:
  246. # <link rel="name" href="file" sizes="size"/>
  247. # For creating favicons, take a look at:
  248. # http://www.netmagazine.com/features/create-perfect-favicon
  249. # FAVICONS = {
  250. # ("icon", "/favicon.ico", "16x16"),
  251. # ("icon", "/icon_128x128.png", "128x128"),
  252. # }
  253. # Show only teasers in the index pages? Defaults to False.
  254. # INDEX_TEASERS = False
  255. # A HTML fragment with the Read more... link.
  256. # The following tags exist and are replaced for you:
  257. # {link} A link to the full post page.
  258. # {read_more} The string “Read more” in the current language.
  259. # {{ A literal { (U+007B LEFT CURLY BRACKET)
  260. # }} A literal } (U+007D RIGHT CURLY BRACKET)
  261. # READ_MORE_LINK = '<p class="more"><a href="{link}">{read_more}…</a></p>'
  262. # A HTML fragment describing the license, for the sidebar.
  263. LICENSE = """
  264. <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/ar/">
  265. <img alt="Creative Commons License BY-NC-SA"
  266. style="border-width:0; margin-bottom:12px;"
  267. src="http://i.creativecommons.org/l/by-nc-sa/2.5/ar/88x31.png"></a>"""
  268. # I recommend using the Creative Commons' wizard:
  269. # http://creativecommons.org/choose/
  270. # LICENSE = """
  271. # <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/ar/">
  272. # <img alt="Creative Commons License BY-NC-SA"
  273. # style="border-width:0; margin-bottom:12px;"
  274. # src="http://i.creativecommons.org/l/by-nc-sa/2.5/ar/88x31.png"></a>"""
  275. # A small copyright notice for the page footer (in HTML).
  276. # Default is ''
  277. CONTENT_FOOTER = '<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US"><img alt="CC-BY-SA" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png" /></a> &copy; {date} {author} - Powered by <a href="http://getnikola.com">Nikola</a>'
  278. CONTENT_FOOTER = CONTENT_FOOTER.format(email=BLOG_EMAIL,
  279. author=BLOG_AUTHOR,
  280. date=time.gmtime().tm_year)
  281. # To use comments, you can choose between different third party comment
  282. # systems, one of "disqus", "livefyre", "intensedebate", "moot",
  283. # "googleplus" or "facebook"
  284. COMMENT_SYSTEM = "disqus"
  285. # And you also need to add your COMMENT_SYSTEM_ID which
  286. # depends on what comment system you use. The default is
  287. # "nikolademo" which is a test account for Disqus. More information
  288. # is in the manual.
  289. COMMENT_SYSTEM_ID = "pleasantprog"
  290. # Enable annotations using annotateit.org?
  291. # If set to False, you can still enable them for individual posts and pages
  292. # setting the "annotations" metadata.
  293. # If set to True, you can disable them for individual posts and pages using
  294. # the "noannotations" metadata.
  295. # ANNOTATIONS = False
  296. # Create index.html for story folders?
  297. # STORY_INDEX = False
  298. # Enable comments on story pages?
  299. # COMMENTS_IN_STORIES = False
  300. # Enable comments on picture gallery pages?
  301. # COMMENTS_IN_GALLERIES = False
  302. # What file should be used for directory indexes?
  303. # Defaults to index.html
  304. # Common other alternatives: default.html for IIS, index.php
  305. # INDEX_FILE = "index.html"
  306. # If a link ends in /index.html, drop the index.html part.
  307. # http://mysite/foo/bar/index.html => http://mysite/foo/bar/
  308. # (Uses the INDEX_FILE setting, so if that is, say, default.html,
  309. # it will instead /foo/default.html => /foo)
  310. # (Note: This was briefly STRIP_INDEX_HTML in v 5.4.3 and 5.4.4)
  311. # Default = False
  312. # STRIP_INDEXES = False
  313. # Should the sitemap list directories which only include other directories
  314. # and no files.
  315. # Default to True
  316. # If this is False
  317. # e.g. /2012 includes only /01, /02, /03, /04, ...: don't add it to the sitemap
  318. # if /2012 includes any files (including index.html)... add it to the sitemap
  319. # SITEMAP_INCLUDE_FILELESS_DIRS = True
  320. # Instead of putting files in <slug>.html, put them in
  321. # <slug>/index.html. Also enables STRIP_INDEXES
  322. # This can be disabled on a per-page/post basis by adding
  323. # .. pretty_url: False
  324. # to the metadata
  325. # PRETTY_URLS = False
  326. # If True, publish future dated posts right away instead of scheduling them.
  327. # Defaults to False.
  328. # FUTURE_IS_NOW = False
  329. # If True, future dated posts are allowed in deployed output
  330. # Only the individual posts are published/deployed; not in indexes/sitemap
  331. # Generally, you want FUTURE_IS_NOW and DEPLOY_FUTURE to be the same value.
  332. # DEPLOY_FUTURE = False
  333. # If False, draft posts will not be deployed
  334. # DEPLOY_DRAFTS = True
  335. # Allows scheduling of posts using the rule specified here (new_post -s)
  336. # Specify an iCal Recurrence Rule: http://www.kanzaki.com/docs/ical/rrule.html
  337. # SCHEDULE_RULE = ''
  338. # If True, use the scheduling rule to all posts by default
  339. # SCHEDULE_ALL = False
  340. # If True, schedules post to today if possible, even if scheduled hour is over
  341. # SCHEDULE_FORCE_TODAY = False
  342. # Do you want a add a Mathjax config file?
  343. # MATHJAX_CONFIG = ""
  344. # If you are using the compile-ipynb plugin, just add this one:
  345. #MATHJAX_CONFIG = """
  346. #<script type="text/x-mathjax-config">
  347. #MathJax.Hub.Config({
  348. # tex2jax: {
  349. # inlineMath: [ ['$','$'], ["\\\(","\\\)"] ],
  350. # displayMath: [ ['$$','$$'], ["\\\[","\\\]"] ]
  351. # },
  352. # displayAlign: 'left', // Change this to 'center' to center equations.
  353. # "HTML-CSS": {
  354. # styles: {'.MathJax_Display': {"margin": 0}}
  355. # }
  356. #});
  357. #</script>
  358. #"""
  359. # Do you want to customize the nbconversion of your IPython notebook?
  360. # IPYNB_CONFIG = {}
  361. # With the following example configuracion you can use a custom jinja template
  362. # called `toggle.tpl` which has to be located in your site/blog main folder:
  363. # IPYNB_CONFIG = {'Exporter':{'template_file': 'toggle'}}
  364. # What MarkDown extensions to enable?
  365. # You will also get gist, nikola and podcast because those are
  366. # done in the code, hope you don't mind ;-)
  367. # MARKDOWN_EXTENSIONS = ['fenced_code', 'codehilite']
  368. # Social buttons. This is sample code for AddThis (which was the default for a
  369. # long time). Insert anything you want here, or even make it empty.
  370. # SOCIAL_BUTTONS_CODE = """
  371. # <!-- Social buttons -->
  372. # <div id="addthisbox" class="addthis_toolbox addthis_peekaboo_style addthis_default_style addthis_label_style addthis_32x32_style">
  373. # <a class="addthis_button_more">Share</a>
  374. # <ul><li><a class="addthis_button_facebook"></a>
  375. # <li><a class="addthis_button_google_plusone_share"></a>
  376. # <li><a class="addthis_button_linkedin"></a>
  377. # <li><a class="addthis_button_twitter"></a>
  378. # </ul>
  379. # </div>
  380. # <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-4f7088a56bb93798"></script>
  381. # <!-- End of social buttons -->
  382. # """
  383. SOCIAL_BUTTONS_CODE = ""
  384. # Hide link to source for the posts?
  385. # HIDE_SOURCELINK = False
  386. # Copy the source files for your pages?
  387. # Setting it to False implies HIDE_SOURCELINK = True
  388. # COPY_SOURCES = True
  389. # Modify the number of Post per Index Page
  390. # Defaults to 10
  391. INDEX_DISPLAY_POST_COUNT = 5
  392. # RSS_LINK is a HTML fragment to link the RSS or Atom feeds. If set to None,
  393. # the base.tmpl will use the feed Nikola generates. However, you may want to
  394. # change it for a feedburner feed or something else.
  395. # RSS_LINK = None
  396. # Show only teasers in the RSS feed? Default to True
  397. # RSS_TEASERS = True
  398. # A search form to search this site, for the sidebar. You can use a google
  399. # custom search (http://www.google.com/cse/)
  400. # Or a duckduckgo search: https://duckduckgo.com/search_box.html
  401. # Default is no search form.
  402. # SEARCH_FORM = ""
  403. #
  404. # This search form works for any site and looks good in the "site" theme where
  405. # it appears on the navigation bar:
  406. #
  407. #SEARCH_FORM = """
  408. #<!-- Custom search -->
  409. #<form method="get" id="search" action="http://duckduckgo.com/"
  410. # class="navbar-form pull-left">
  411. #<input type="hidden" name="sites" value="%s"/>
  412. #<input type="hidden" name="k8" value="#444444"/>
  413. #<input type="hidden" name="k9" value="#D51920"/>
  414. #<input type="hidden" name="kt" value="h"/>
  415. #<input type="text" name="q" maxlength="255"
  416. # placeholder="Search&hellip;" class="span2" style="margin-top: 4px;"/>
  417. #<input type="submit" value="DuckDuckGo Search" style="visibility: hidden;" />
  418. #</form>
  419. #<!-- End of custom search -->
  420. #""" % SITE_URL
  421. #
  422. # If you prefer a google search form, here's an example that should just work:
  423. #SEARCH_FORM = """
  424. #<!-- Custom search with google-->
  425. #<form id="search" action="http://google.com/search" method="get" class="navbar-form pull-left">
  426. #<input type="hidden" name="q" value="site:%s" />
  427. #<input type="text" name="q" maxlength="255" results="0" placeholder="Search"/>
  428. #</form>
  429. #<!-- End of custom search -->
  430. #""" % SITE_URL
  431. # Also, there is a local search plugin you can use, based on Tipue, but it requires setting several
  432. # options:
  433. # SEARCH_FORM = """
  434. # <span class="navbar-form pull-left">
  435. # <input type="text" id="tipue_search_input">
  436. # </span>"""
  437. #
  438. # BODY_END = """
  439. # <script type="text/javascript" src="/assets/js/tipuesearch_set.js"></script>
  440. # <script type="text/javascript" src="/assets/js/tipuesearch.js"></script>
  441. # <script type="text/javascript">
  442. # $(document).ready(function() {
  443. # $('#tipue_search_input').tipuesearch({
  444. # 'mode': 'json',
  445. # 'contentLocation': '/assets/js/tipuesearch_content.json',
  446. # 'showUrl': false
  447. # });
  448. # });
  449. # </script>
  450. # """
  451. # EXTRA_HEAD_DATA = """
  452. # <link rel="stylesheet" type="text/css" href="/assets/css/tipuesearch.css">
  453. # <div id="tipue_search_content" style="margin-left: auto; margin-right: auto; padding: 20px;"></div>
  454. # """
  455. # ENABLED_EXTRAS = ['local_search']
  456. #
  457. ###### End of local search example
  458. # Use content distribution networks for jquery and twitter-bootstrap css and js
  459. # If this is True, jquery is served from the Google CDN and twitter-bootstrap
  460. # is served from the NetDNA CDN
  461. # Set this to False if you want to host your site without requiring access to
  462. # external resources.
  463. # USE_CDN = False
  464. # Extra things you want in the pages HEAD tag. This will be added right
  465. # before </HEAD>
  466. # EXTRA_HEAD_DATA = ""
  467. # Google analytics or whatever else you use. Added to the bottom of <body>
  468. # in the default template (base.tmpl).
  469. # BODY_END = ""
  470. # The possibility to extract metadata from the filename by using a
  471. # regular expression.
  472. # To make it work you need to name parts of your regular expression.
  473. # The following names will be used to extract metadata:
  474. # - title
  475. # - slug
  476. # - date
  477. # - tags
  478. # - link
  479. # - description
  480. #
  481. # An example re is the following:
  482. # '(?P<date>\d{4}-\d{2}-\d{2})-(?P<slug>.*)-(?P<title>.*)\.md'
  483. # FILE_METADATA_REGEXP = None
  484. # Additional metadata that is added to a post when creating a new_post
  485. # ADDITIONAL_METADATA = {}
  486. # Nikola supports Twitter Card summaries / Open Graph.
  487. # Twitter cards make it possible for you to attach media to Tweets
  488. # that link to your content.
  489. #
  490. # IMPORTANT:
  491. # Please note, that you need to opt-in for using Twitter Cards!
  492. # To do this please visit
  493. # https://dev.twitter.com/form/participate-twitter-cards
  494. #
  495. # Uncomment and modify to following lines to match your accounts.
  496. # Specifying the id for either 'site' or 'creator' will be preferred
  497. # over the cleartext username. Specifying an ID is not necessary.
  498. # Displaying images is currently not supported.
  499. # TWITTER_CARD = {
  500. # # 'use_twitter_cards': True, # enable Twitter Cards / Open Graph
  501. # # 'site': '@website', # twitter nick for the website
  502. # # 'site:id': 123456, # Same as site, but the website's Twitter user ID
  503. # # instead.
  504. # # 'creator': '@username', # Username for the content creator / author.
  505. # # 'creator:id': 654321, # Same as creator, but the Twitter user's ID.
  506. # }
  507. # Post's dates are considered in GMT by default, if you want to use
  508. # another timezone, please set TIMEZONE to match. Check the available
  509. # list from Wikipedia:
  510. # http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  511. # Also, if you want to use a different timezone in some of your posts,
  512. # you can use W3C-DTF Format (ex. 2012-03-30T23:00:00+02:00)
  513. #
  514. TIMEZONE = 'Asia/Manila'
  515. # If webassets is installed, bundle JS and CSS to make site loading faster
  516. # USE_BUNDLES = True
  517. # Plugins you don't want to use. Be careful :-)
  518. # DISABLED_PLUGINS = ["render_galleries"]
  519. # Experimental plugins - use at your own risk.
  520. # They probably need some manual adjustments - please see their respective
  521. # readme.
  522. # ENABLED_EXTRAS = [
  523. # 'planetoid',
  524. # 'ipynb',
  525. # 'local_search',
  526. # 'render_mustache',
  527. # ]
  528. # List of regular expressions, links matching them will always be considered
  529. # valid by "nikola check -l"
  530. # LINK_CHECK_WHITELIST = []
  531. # If set to True, enable optional hyphenation in your posts (requires pyphen)
  532. # HYPHENATE = False
  533. # Put in global_context things you want available on all your templates.
  534. # It can be anything, data, functions, modules, etc.
  535. GLOBAL_CONTEXT = {}