conf.py 38 KB

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