conf.py 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals
  3. import time
  4. ##############################################
  5. # Configuration, please edit
  6. ##############################################
  7. # Data about this site
  8. BLOG_AUTHOR = "Thomas Dy"
  9. BLOG_TITLE = "Pleasant Programmer"
  10. # This is the main URL for your site. It will be used
  11. # in a prominent link
  12. SITE_URL = "http://thatsmydoing.github.io"
  13. # This is the URL where nikola's output will be deployed.
  14. # If not set, defaults to SITE_URL
  15. # BASE_URL = "http://nikola.ralsina.com.ar"
  16. BLOG_EMAIL = ""
  17. BLOG_DESCRIPTION = ""
  18. # Nikola is multilingual!
  19. #
  20. # Currently supported languages are:
  21. # English -> en
  22. # Greek -> gr
  23. # German -> de
  24. # French -> fr
  25. # Polish -> pl
  26. # Russian -> ru
  27. # Spanish -> es
  28. # Italian -> it
  29. # Simplified Chinese -> zh-cn
  30. #
  31. # If you want to use Nikola with a non-supported language you have to provide
  32. # a module containing the necessary translations
  33. # (p.e. look at the modules at: ./nikola/data/themes/default/messages/fr.py).
  34. # If a specific post is not translated to a language, then the version
  35. # in the default language will be shown instead.
  36. # What is the default language?
  37. DEFAULT_LANG = "en"
  38. # What other languages do you have?
  39. # The format is {"translationcode" : "path/to/translation" }
  40. # the path will be used as a prefix for the generated pages location
  41. TRANSLATIONS = {
  42. DEFAULT_LANG: "",
  43. # Example for another language:
  44. # "es": "./es",
  45. }
  46. # Links for the sidebar / navigation bar.
  47. # You should provide a key-value pair for each used language.
  48. SIDEBAR_LINKS = {
  49. DEFAULT_LANG: (
  50. ('/archive.html', 'Archives'),
  51. ('/categories/index.html', 'Tags'),
  52. ('/rss.xml', 'RSS'),
  53. ),
  54. }
  55. ##############################################
  56. # Below this point, everything is optional
  57. ##############################################
  58. # post_pages contains (wildcard, destination, template, use_in_feed) tuples.
  59. #
  60. # The wildcard is used to generate a list of reSt source files
  61. # (whatever/thing.txt).
  62. # That fragment must have an associated metadata file (whatever/thing.meta),
  63. # and opcionally translated files (example for spanish, with code "es"):
  64. # whatever/thing.txt.es and whatever/thing.meta.es
  65. #
  66. # From those files, a set of HTML fragment files will be generated:
  67. # cache/whatever/thing.html (and maybe cache/whatever/thing.html.es)
  68. #
  69. # These files are combinated with the template to produce rendered
  70. # pages, which will be placed at
  71. # output / TRANSLATIONS[lang] / destination / pagename.html
  72. #
  73. # where "pagename" is specified in the metadata file.
  74. #
  75. # if use_in_feed is True, then those posts will be added to the site's
  76. # rss feeds.
  77. #
  78. post_pages = (
  79. ("posts/*.md", "posts", "post.tmpl", True),
  80. ("stories/*.md", "stories", "story.tmpl", False),
  81. )
  82. # One or more folders containing files to be copied as-is into the output.
  83. # The format is a dictionary of "source" "relative destination".
  84. # Default is:
  85. # FILES_FOLDERS = {'files': '' }
  86. # Which means copy 'files' into 'output'
  87. # A mapping of languages to file-extensions that represent that language.
  88. # Feel free to add or delete extensions to any list, but don't add any new
  89. # compilers unless you write the interface for it yourself.
  90. #
  91. # 'rest' is reStructuredText
  92. # 'markdown' is MarkDown
  93. # 'html' assumes the file is html and just copies it
  94. post_compilers = {
  95. # "rest": ('.txt', '.rst'),
  96. "markdown": ('.md', '.mdown', '.markdown')
  97. # "textile": ('.textile',),
  98. # "txt2tags": ('.t2t',),
  99. # "bbcode": ('.bb',),
  100. # "wiki": ('.wiki',),
  101. # "ipynb": ('.ipynb',),
  102. # "html": ('.html', '.htm')
  103. }
  104. # Create by default posts in one file format?
  105. # Set to False for two-file posts, with separate metadata.
  106. # ONE_FILE_POSTS = True
  107. # If this is set to True, then posts that are not translated to a language
  108. # LANG will not be visible at all in the pages in that language.
  109. # If set to False, the DEFAULT_LANG version will be displayed for
  110. # untranslated posts.
  111. # HIDE_UNTRANSLATED_POSTS = False
  112. # Paths for different autogenerated bits. These are combined with the
  113. # translation paths.
  114. # Final locations are:
  115. # output / TRANSLATION[lang] / TAG_PATH / index.html (list of tags)
  116. # output / TRANSLATION[lang] / TAG_PATH / tag.html (list of posts for a tag)
  117. # output / TRANSLATION[lang] / TAG_PATH / tag.xml (RSS feed for a tag)
  118. # TAG_PATH = "categories"
  119. # If TAG_PAGES_ARE_INDEXES is set to True, each tag's page will contain
  120. # the posts themselves. If set to False, it will be just a list of links.
  121. # TAG_PAGES_ARE_INDEXES = True
  122. # Final location is output / TRANSLATION[lang] / INDEX_PATH / index-*.html
  123. # INDEX_PATH = ""
  124. # Create per-month archives instead of per-year
  125. # CREATE_MONTHLY_ARCHIVE = False
  126. # Final locations for the archives are:
  127. # output / TRANSLATION[lang] / ARCHIVE_PATH / ARCHIVE_FILENAME
  128. # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / index.html
  129. # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / index.html
  130. # ARCHIVE_PATH = ""
  131. # ARCHIVE_FILENAME = "archive.html"
  132. # Final locations are:
  133. # output / TRANSLATION[lang] / RSS_PATH / rss.xml
  134. # RSS_PATH = ""
  135. # Slug the Tag URL easier for users to type, special characters are
  136. # often removed or replaced as well.
  137. # SLUG_TAG_PATH = True
  138. # A list of redirection tuples, [("foo/from.html", "/bar/to.html")].
  139. #
  140. # A HTML file will be created in output/foo/from.html that redirects
  141. # to the "/bar/to.html" URL. notice that the "from" side MUST be a
  142. # relative URL.
  143. #
  144. # If you don't need any of these, just set to []
  145. # REDIRECTIONS = []
  146. # Commands to execute to deploy. Can be anything, for example,
  147. # you may use rsync:
  148. # "rsync -rav output/* joe@my.site:/srv/www/site"
  149. # And then do a backup, or ping pingomatic.
  150. # To do manual deployment, set it to []
  151. DEPLOY_COMMANDS = [
  152. 'git commit-tree -p master -m "updated" source:output | xargs git update-ref refs/heads/master',
  153. 'git push'
  154. ]
  155. # Where the output site should be located
  156. # If you don't use an absolute path, it will be considered as relative
  157. # to the location of conf.py
  158. # OUTPUT_FOLDER = 'output'
  159. # where the "cache" of partial generated content should be located
  160. # default: 'cache'
  161. # CACHE_FOLDER = 'cache'
  162. # Filters to apply to the output.
  163. # A directory where the keys are either: a file extensions, or
  164. # a tuple of file extensions.
  165. #
  166. # And the value is a list of commands to be applied in order.
  167. #
  168. # Each command must be either:
  169. #
  170. # A string containing a '%s' which will
  171. # be replaced with a filename. The command *must* produce output
  172. # in place.
  173. #
  174. # Or:
  175. #
  176. # A python callable, which will be called with the filename as
  177. # argument.
  178. #
  179. # By default, there are no filters.
  180. # FILTERS = {
  181. # ".jpg": ["jpegoptim --strip-all -m75 -v %s"],
  182. # }
  183. # Create a gzipped copy of each generated file. Cheap server-side optimization.
  184. # GZIP_FILES = False
  185. # File extensions that will be compressed
  186. # GZIP_EXTENSIONS = ('.txt', '.htm', '.html', '.css', '.js', '.json')
  187. # #############################################################################
  188. # Image Gallery Options
  189. # #############################################################################
  190. # Galleries are folders in galleries/
  191. # Final location of galleries will be output / GALLERY_PATH / gallery_name
  192. # GALLERY_PATH = "galleries"
  193. # THUMBNAIL_SIZE = 180
  194. # MAX_IMAGE_SIZE = 1280
  195. # USE_FILENAME_AS_TITLE = True
  196. # #############################################################################
  197. # HTML fragments and diverse things that are used by the templates
  198. # #############################################################################
  199. # Data about post-per-page indexes
  200. # INDEXES_TITLE = "" # If this is empty, the default is BLOG_TITLE
  201. # INDEXES_PAGES = "" # If this is empty, the default is 'old posts page %d' translated
  202. # Name of the theme to use.
  203. THEME = 'site'
  204. # Color scheme to be used for code blocks. If your theme provide "assets/css/code.css" this
  205. # is ignored.
  206. # Can be any of autumn borland bw colorful default emacs friendly fruity manni monokai
  207. # murphy native pastie perldoc rrt tango trac vim vs
  208. # CODE_COLOR_SCHEME = default
  209. # If you use 'site-reveal' theme you can select several subthemes
  210. # THEME_REVEAL_CONGIF_SUBTHEME = 'sky' # You can also use: beige/serif/simple/night/default
  211. # Again, if you use 'site-reveal' theme you can select several transitions between the slides
  212. # THEME_REVEAL_CONGIF_TRANSITION = 'cube' # You can also use: page/concave/linear/none/default
  213. # date format used to display post dates. (str used by datetime.datetime.strftime)
  214. # DATE_FORMAT = '%Y-%m-%d %H:%M'
  215. # FAVICONS contains (name, file, size) tuples.
  216. # Used for create favicon link like this:
  217. # <link rel="name" href="file" sizes="size"/>
  218. # about favicons, see: http://www.netmagazine.com/features/create-perfect-favicon
  219. # FAVICONS = {
  220. # ("icon", "/favicon.ico", "16x16"),
  221. # ("icon", "/icon_128x128.png", "128x128"),
  222. # }
  223. # Show only teasers in the index pages? Defaults to False.
  224. # INDEX_TEASERS = False
  225. # A HTML fragment describing the license, for the sidebar. Default is "".
  226. # I recommend using the Creative Commons' wizard:
  227. # http://creativecommons.org/choose/
  228. LICENSE = """
  229. <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/ar/">
  230. <img alt="Creative Commons License BY-NC-SA"
  231. style="border-width:0; margin-bottom:12px;"
  232. src="http://i.creativecommons.org/l/by-nc-sa/2.5/ar/88x31.png"></a>"""
  233. # A small copyright notice for the page footer (in HTML).
  234. # Default is ''
  235. CONTENT_FOOTER = '<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US"><img alt="Creative Commons License" 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://nikola.ralsina.com.ar">Nikola</a>'
  236. CONTENT_FOOTER = CONTENT_FOOTER.format(email=BLOG_EMAIL,
  237. author=BLOG_AUTHOR,
  238. date=time.gmtime().tm_year)
  239. # To enable comments via Disqus, you need to create a forum at
  240. # http://disqus.com, and set DISQUS_FORUM to the short name you selected.
  241. # If you want to disable comments, set it to False.
  242. # Default is "nikolademo", used by the demo sites
  243. # DISQUS_FORUM = "nikolademo"
  244. DISQUS_FORUM = False
  245. # Create index.html for story folders?
  246. # STORY_INDEX = False
  247. # Enable comments on story pages?
  248. # COMMENTS_IN_STORIES = False
  249. # Enable comments on picture gallery pages?
  250. # COMMENTS_IN_GALLERIES = False
  251. # If a link ends in /index.html, drop the index.html part.
  252. # http://mysite/foo/bar/index.html => http://mysite/foo/bar/
  253. # Default = False
  254. # STRIP_INDEX_HTML = False
  255. # Do you want a add a Mathjax config file?
  256. # MATHJAX_CONFIG = ""
  257. # If you are using the compile-ipynb plugin, just add this one:
  258. #MATHJAX_CONFIG = """
  259. #<script type="text/x-mathjax-config">
  260. #MathJax.Hub.Config({
  261. # tex2jax: {
  262. # inlineMath: [ ['$','$'], ["\\\(","\\\)"] ],
  263. # displayMath: [ ['$$','$$'], ["\\\[","\\\]"] ]
  264. # },
  265. # displayAlign: 'left', // Change this to 'center' to center equations.
  266. # "HTML-CSS": {
  267. # styles: {'.MathJax_Display': {"margin": 0}}
  268. # }
  269. #});
  270. #</script>
  271. #"""
  272. # Enable Addthis social buttons?
  273. # Defaults to true
  274. ADD_THIS_BUTTONS = False
  275. # Modify the number of Post per Index Page
  276. # Defaults to 10
  277. # INDEX_DISPLAY_POST_COUNT = 10
  278. # RSS_LINK is a HTML fragment to link the RSS or Atom feeds. If set to None,
  279. # the base.tmpl will use the feed Nikola generates. However, you may want to
  280. # change it for a feedburner feed or something else.
  281. # RSS_LINK = None
  282. # Show only teasers in the RSS feed? Default to True
  283. # RSS_TEASERS = True
  284. # A search form to search this site, for the sidebar. You can use a google
  285. # custom search (http://www.google.com/cse/)
  286. # Or a duckduckgo search: https://duckduckgo.com/search_box.html
  287. # Default is no search form.
  288. # SEARCH_FORM = ""
  289. #
  290. # This search form works for any site and looks good in the "site" theme where it
  291. # appears on the navigation bar
  292. #SEARCH_FORM = """
  293. #<!-- Custom search -->
  294. #<form method="get" id="search" action="http://duckduckgo.com/"
  295. # class="navbar-form pull-left">
  296. #<input type="hidden" name="sites" value="%s"/>
  297. #<input type="hidden" name="k8" value="#444444"/>
  298. #<input type="hidden" name="k9" value="#D51920"/>
  299. #<input type="hidden" name="kt" value="h"/>
  300. #<input type="text" name="q" maxlength="255"
  301. # placeholder="Search&hellip;" class="span2" style="margin-top: 4px;"/>
  302. #<input type="submit" value="DuckDuckGo Search" style="visibility: hidden;" />
  303. #</form>
  304. #<!-- End of custom search -->
  305. #""" % BLOG_URL
  306. #
  307. # Also, there is a local search plugin you can use.
  308. # Use content distribution networks for jquery and twitter-bootstrap css and js
  309. # If this is True, jquery is served from the Google CDN and twitter-bootstrap
  310. # is served from the NetDNA CDN
  311. # Set this to False if you want to host your site without requiring access to
  312. # external resources.
  313. # USE_CDN = False
  314. # Extra things you want in the pages HEAD tag. This will be added right
  315. # before </HEAD>
  316. # EXTRA_HEAD_DATA = ''
  317. # Google analytics or whatever else you use. Added to the bottom of <body>
  318. # in the default template (base.tmpl).
  319. # ANALYTICS = ""
  320. # The possibility to extract metadata from the filename by using a
  321. # regular expression.
  322. # To make it work you need to name parts of your regular expression.
  323. # The following names will be used to extract metadata:
  324. # - title
  325. # - slug
  326. # - date
  327. # - tags
  328. # - link
  329. # - description
  330. #
  331. # An example re is the following:
  332. # '(?P<date>\d{4}-\d{2}-\d{2})-(?P<slug>.*)-(?P<title>.*)\.md'
  333. # FILE_METADATA_REGEXP = None
  334. # Nikola supports Twitter Card summaries / Open Graph.
  335. # Twitter cards make it possible for you to attach media to Tweets
  336. # that link to your content.
  337. #
  338. # IMPORTANT:
  339. # Please note, that you need to opt-in for using Twitter Cards!
  340. # To do this please visit https://dev.twitter.com/form/participate-twitter-cards
  341. #
  342. # Uncomment and modify to following lines to match your accounts.
  343. # Specifying the id for either 'site' or 'creator' will be preferred
  344. # over the cleartext username. Specifying an ID is not necessary.
  345. # Displaying images is currently not supported.
  346. # TWITTER_CARD = {
  347. # # 'use_twitter_cards': True, # enable Twitter Cards / Open Graph
  348. # # 'site': '@website', # twitter nick for the website
  349. # # 'site:id': 123456, # Same as site, but the website's Twitter user ID instead.
  350. # # 'creator': '@username', # Username for the content creator / author.
  351. # # 'creator:id': 654321, # Same as creator, but the Twitter user's ID.
  352. # }
  353. # If you want to use formatted post time in W3C-DTF Format(ex. 2012-03-30T23:00:00+02:00),
  354. # set timzone if you want a localized posted date.
  355. #
  356. # TIMEZONE = 'Asia/Manila'
  357. # If webassets is installed, bundle JS and CSS to make site loading faster
  358. # USE_BUNDLES = True
  359. # Plugins you don't want to use. Be careful :-)
  360. # DISABLED_PLUGINS = ["render_galleries"]
  361. # Experimental plugins - use at your own risk.
  362. # They probably need some manual adjustments - please see their respective readme.
  363. # ENABLED_EXTRAS = [
  364. # 'planetoid',
  365. # 'ipynb',
  366. # 'localsearch',
  367. # 'mustache',
  368. # ]
  369. # Put in global_context things you want available on all your templates.
  370. # It can be anything, data, functions, modules, etc.
  371. GLOBAL_CONTEXT = {}