# -*- coding: utf-8 -*- import time # !! This is the configuration of Nikola. !! # # !! You should edit it to your liking. !! # # ! Some settings can be different in different languages. # ! A comment stating (translatable) is used to denote those. # ! There are two ways to specify a translatable setting: # ! (a) BLOG_TITLE = "My Blog" # ! (b) BLOG_TITLE = {"en": "My Blog", "es": "Mi Blog"} # ! Option (a) is used when you don't want that setting translated. # ! Option (b) is used for settings that are different in different languages. # Data about this site BLOG_AUTHOR = "Vicky Rampin" # (translatable) BLOG_TITLE = "Vicky Rampin" # (translatable) # This is the main URL for your site. It will be used # in a prominent link. Don't forget the protocol (http/https)! SITE_URL = "https://vicky.rampin.org/" # This is the URL where Nikola's output will be deployed. # If not set, defaults to SITE_URL # BASE_URL = "https://vicky.rampin.org/" BLOG_EMAIL = "vicky@rampin.org" BLOG_DESCRIPTION = "Vicky Rampin's website." # (translatable) # Nikola is multilingual! # # Currently supported languages are: # # en English # af Afrikaans # ar Arabic # az Azerbaijani # bg Bulgarian # bs Bosnian # ca Catalan # cs Czech [ALTERNATIVELY cz] # da Danish # de German # el Greek [NOT gr] # eo Esperanto # es Spanish # et Estonian # eu Basque # fa Persian # fi Finnish # fr French # fur Friulian # gl Galician # he Hebrew # hi Hindi # hr Croatian # hu Hungarian # ia Interlingua # id Indonesian # it Italian # ja Japanese [NOT jp] # ko Korean # lt Lithuanian # ml Malayalam # mr Marathi # nb Norwegian (Bokmål) # nl Dutch # pa Punjabi # pl Polish # pt Portuguese # pt_br Portuguese (Brazil) # ru Russian # sk Slovak # sl Slovene # sq Albanian # sr Serbian (Cyrillic) # sr_latin Serbian (Latin) # sv Swedish # te Telugu # th Thai # tr Turkish [NOT tr_TR] # uk Ukrainian # ur Urdu # vi Vietnamese # zh_cn Chinese (Simplified) # zh_tw Chinese (Traditional) # # If you want to use Nikola with a non-supported language you have to provide # a module containing the necessary translations # (cf. the modules at nikola/data/themes/base/messages/). # If a specific post is not translated to a language, then the version # in the default language will be shown instead. # What is the default language? DEFAULT_LANG = "en" # What other languages do you have? # The format is {"translationcode" : "path/to/translation" } # the path will be used as a prefix for the generated pages location TRANSLATIONS = { DEFAULT_LANG: "", # Example for another language: # "es": "./es", } # What will translated input files be named like? # If you have a page something.rst, then something.pl.rst will be considered # its Polish translation. # (in the above example: path == "something", ext == "rst", lang == "pl") # this pattern is also used for metadata: # something.meta -> something.pl.meta TRANSLATIONS_PATTERN = '{path}.{lang}.{ext}' # Links for the sidebar / navigation bar. (translatable) # This is a dict. The keys are languages, and values are tuples. # # For regular links: # ('https://getnikola.com/', 'Nikola Homepage') # # For submenus: # ( # ( # ('https://apple.com/', 'Apple'), # ('https://orange.com/', 'Orange'), # ), # 'Fruits' # ) # # WARNING: Support for submenus is theme-dependent. # Only one level of submenus is supported. # WARNING: Some themes, including the default Bootstrap 4 theme, # may present issues if the menu is too large. # (in Bootstrap, the navbar can grow too large and cover contents.) # WARNING: If you link to directories, make sure to follow # ``STRIP_INDEXES``. If it’s set to ``True``, end your links # with a ``/``, otherwise end them with ``/index.html`` — or # else they won’t be highlighted when active. NAVIGATION_LINKS = { DEFAULT_LANG: ( ("/resume", "Resume"), ("/ideas/", "Free Research Ideas"), ( ( ("https://osf.io/7mj2q/", "Open Science Framework ⬈"), ("https://gitlab.com/VickyRampin", "GitLab ⬈"), ("https://github.com/VickyRampin", "GitHub ⬈"), ), 'Data & Code' ), ( ( ("https://octodon.social/@vickyrampin", "Mastodon ⬈"), ("https://pixelfed.social/VickyZelda", "PixelFed ⬈"), ("https://twitter.com/VickyRampin", "Twitter ⬈"), ("https://www.linkedin.com/in/vickyrampin", "LinkedIn ⬈"), ), 'Social' ), ), } # Alternative navigation links. Works the same way NAVIGATION_LINKS does, # although themes may not always support them. (translatable) # (Bootstrap 4: right-side of navbar, Bootblog 4: right side of title) NAVIGATION_ALT_LINKS = { DEFAULT_LANG: () } # Name of the theme to use. THEME = "custom" # A theme color. In default themes, it might be displayed by some browsers as # the browser UI color (eg. Chrome on Android). Other themes might also use it # as an accent color (the default ones don’t). Must be a HEX value. THEME_COLOR = '#5670d4' # Theme configuration. Fully theme-dependent. (translatable) # Samples for bootblog4 (enabled) and bootstrap4 (commented) follow. # bootblog4 supports: featured_large featured_small featured_on_mobile # featured_large_image_on_mobile featured_strip_html sidebar # bootstrap4 supports: navbar_light (defaults to False) # navbar_custom_bg (defaults to '') # Config for bootblog4: #THEME_CONFIG = { # DEFAULT_LANG: { # # Show the latest featured post in a large box, with the previewimage as its background. # 'featured_large': False, # # Show the first (remaining) two featured posts in small boxes. # 'featured_small': False, # # Show featured posts on mobile. # 'featured_on_mobile': True, # # Show image in `featured_large` on mobile. # # `featured_small` displays them only on desktop. # 'featured_large_image_on_mobile': True, # # Strip HTML from featured post text. # 'featured_strip_html': False, # # Contents of the sidebar, If empty, the sidebar is not displayed. # 'sidebar': '' # } #} # Config for bootstrap4: THEME_CONFIG = { DEFAULT_LANG: { # Use a light navbar with dark text. Defaults to False. 'navbar_light': True, # Use a custom navbar color. If unset, 'navbar_light' sets text + # background color. If set, navbar_light controls only background # color. Supported values: bg-dark, bg-light, bg-primary, bg-secondary, # bg-success, bg-danger, bg-warning, bg-info, bg-white, bg-transparent. 'navbar_custom_bg': '', } } # POSTS and PAGES contains (wildcard, destination, template) tuples. # (translatable) # # The wildcard is used to generate a list of source files # (whatever/thing.rst, for example). # # That fragment could have an associated metadata file (whatever/thing.meta), # and optionally translated files (example for Spanish, with code "es"): # whatever/thing.es.rst and whatever/thing.es.meta # # This assumes you use the default TRANSLATIONS_PATTERN. # # From those files, a set of HTML fragment files will be generated: # cache/whatever/thing.html (and maybe cache/whatever/thing.html.es) # # These files are combined with the template to produce rendered # pages, which will be placed at # output/TRANSLATIONS[lang]/destination/pagename.html # # where "pagename" is the "slug" specified in the metadata file. # The page might also be placed in /destination/pagename/index.html # if PRETTY_URLS are enabled. # # The difference between POSTS and PAGES is that POSTS are added # to feeds, indexes, tag lists and archives and are considered part # of a blog, while PAGES are just independent HTML pages. # # Finally, note that destination can be translated, i.e. you can # specify a different translation folder per language. Example: # PAGES = ( # ("pages/*.rst", {"en": "pages", "de": "seiten"}, "page.tmpl"), # ("pages/*.md", {"en": "pages", "de": "seiten"}, "page.tmpl"), # ) POSTS = ( ("posts/*.rst", "ideas", "post.tmpl"), ("posts/*.md", "ideas", "post.tmpl"), ("posts/*.txt", "ideas", "post.tmpl"), ("posts/*.html", "ideas", "post.tmpl"), ) PAGES = ( ("pages/*.rst", "", "page.tmpl"), ("pages/*.md", "", "page.tmpl"), ("pages/*.txt", "", "page.tmpl"), ("pages/*.html", "", "page.tmpl"), ) # Below this point, everything is optional # Post's dates are considered in UTC by default, if you want to use # another time zone, please set TIMEZONE to match. Check the available # list from Wikipedia: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones # (e.g. 'Europe/Zurich') # Also, if you want to use a different time zone in some of your posts, # you can use the ISO 8601/RFC 3339 format (ex. 2012-03-30T23:00:00+02:00) TIMEZONE = "America/New_York" # If you want to use ISO 8601 (also valid RFC 3339) throughout Nikola # (especially in new_post), set this to True. # Note that this does not affect DATE_FORMAT. # FORCE_ISO8601 = False # Date format used to display post dates. (translatable) # Used by babel.dates, CLDR style: http://cldr.unicode.org/translation/date-time-1/date-time # You can also use 'full', 'long', 'medium', or 'short' # DATE_FORMAT = 'yyyy-MM-dd HH:mm' # Date format used to display post dates, if local dates are used. (translatable) # Used by Luxon: https://moment.github.io/luxon/docs/manual/formatting # Example for presets: {'preset': True, 'format': 'DATE_FULL'} # LUXON_DATE_FORMAT = { # DEFAULT_LANG: {'preset': False, 'format': 'yyyy-MM-dd HH:mm'}, # } # Date fanciness. # # 0 = using DATE_FORMAT and TIMEZONE (without JS) # 1 = using LUXON_DATE_FORMAT and local user time (JS, using Luxon) # 2 = using a string like “2 days ago” (JS, using Luxon) # # Your theme must support it, Bootstrap already does. # DATE_FANCINESS = 0 # Customize the locale/region used for a language. # For example, to use British instead of US English: LOCALES = {'en': 'en_GB'} # LOCALES = {} # One or more folders containing files to be copied as-is into the output. # The format is a dictionary of {source: relative destination}. # Default is: # FILES_FOLDERS = {'files': ''} # Which means copy 'files' into 'output' # One or more folders containing code listings to be processed and published on # the site. The format is a dictionary of {source: relative destination}. # Default is: # LISTINGS_FOLDERS = {'listings': 'listings'} # Which means process listings from 'listings' into 'output/listings' # A mapping of languages to file-extensions that represent that language. # Feel free to add or delete extensions to any list, but don't add any new # compilers unless you write the interface for it yourself. # # The default compiler for `new_post` is the first entry in the POSTS tuple. # # 'rest' is reStructuredText # 'markdown' is Markdown # 'html' assumes the file is HTML and just copies it COMPILERS = { "rest": ['.rst', '.txt'], "markdown": ['.md', '.mdown', '.markdown'], "textile": ['.textile'], "txt2tags": ['.t2t'], "bbcode": ['.bb'], "wiki": ['.wiki'], "ipynb": ['.ipynb'], "html": ['.html', '.htm'], # PHP files are rendered the usual way (i.e. with the full templates). # The resulting files have .php extensions, making it possible to run # them without reconfiguring your server to recognize them. "php": ['.php'], # Pandoc detects the input from the source filename # but is disabled by default as it would conflict # with many of the others. # "pandoc": ['.rst', '.md', '.txt'], } # Enable reST directives that insert the contents of external files such # as "include" and "raw." This maps directly to the docutils file_insertion_enabled # config. See: https://docutils.sourceforge.io/docs/user/config.html#file-insertion-enabled # REST_FILE_INSERTION_ENABLED = True # Create by default posts in one file format? # Set to False for two-file posts, with separate metadata. # ONE_FILE_POSTS = True # Preferred metadata format for new posts # "Nikola": reST comments, wrapped in a HTML comment if needed (default) # "YAML": YAML wrapped in "---" # "TOML": TOML wrapped in "+++" # "Pelican": Native markdown metadata or reST docinfo fields. Nikola style for other formats. # METADATA_FORMAT = "Nikola" # Use date-based path when creating posts? # Can be enabled on a per-post basis with `nikola new_post -d`. # The setting is ignored when creating pages. # NEW_POST_DATE_PATH = False # What format to use when creating posts with date paths? # Default is '%Y/%m/%d', other possibilities include '%Y' or '%Y/%m'. # NEW_POST_DATE_PATH_FORMAT = '%Y/%m/%d' # If this is set to True, the DEFAULT_LANG version will be displayed for # untranslated posts. # If this is set to False, then posts that are not translated to a language # LANG will not be visible at all in the pages in that language. # SHOW_UNTRANSLATED_POSTS = True # Nikola supports logo display. If you have one, you can put the URL here. # Final output is . # The URL may be relative to the site root. # LOGO_URL = '' # When linking posts to social media, Nikola provides Open Graph metadata # which is used to show a nice preview. This includes an image preview # taken from the post's previewimage metadata field. # This option lets you use an image to be used if the post doesn't have it. # The default is None, valid values are URLs or output paths like # "/images/foo.jpg" # DEFAULT_PREVIEW_IMAGE = None # If you want to hide the title of your website (for example, if your logo # already contains the text), set this to False. # Note: if your logo is a SVG image, and you set SHOW_BLOG_TITLE = False, # you should explicitly set a height for #logo in CSS. # SHOW_BLOG_TITLE = True # Paths for different autogenerated bits. These are combined with the # translation paths. # Final locations are: # output / TRANSLATION[lang] / TAG_PATH / index.html (list of tags) # output / TRANSLATION[lang] / TAG_PATH / tag.html (list of posts for a tag) # output / TRANSLATION[lang] / TAG_PATH / tag RSS_EXTENSION (RSS feed for a tag) # (translatable) # TAG_PATH = "categories" # By default, the list of tags is stored in # output / TRANSLATION[lang] / TAG_PATH / index.html # (see explanation for TAG_PATH). This location can be changed to # output / TRANSLATION[lang] / TAGS_INDEX_PATH # with an arbitrary relative path TAGS_INDEX_PATH. # (translatable) # TAGS_INDEX_PATH = "tags.html" # If TAG_PAGES_ARE_INDEXES is set to True, each tag's page will contain # the posts themselves. If set to False, it will be just a list of links. # TAG_PAGES_ARE_INDEXES = False # Set descriptions for tag pages to make them more interesting. The # default is no description. The value is used in the meta description # and displayed underneath the tag list or index page’s title. # TAG_DESCRIPTIONS = { # DEFAULT_LANG: { # "blogging": "Meta-blog posts about blogging.", # "open source": "My contributions to my many, varied, ever-changing, and eternal libre software projects." # }, # } # Set special titles for tag pages. The default is "Posts about TAG". # TAG_TITLES = { # DEFAULT_LANG: { # "blogging": "Meta-posts about blogging", # "open source": "Posts about open source software" # }, # } # If you do not want to display a tag publicly, you can mark it as hidden. # The tag will not be displayed on the tag list page and posts. # Tag pages will still be generated. HIDDEN_TAGS = ['mathjax'] # Only include tags on the tag list/overview page if there are at least # TAGLIST_MINIMUM_POSTS number of posts or more with every tag. Every tag # page is still generated, linked from posts, and included in the sitemap. # However, more obscure tags can be hidden from the tag index page. # TAGLIST_MINIMUM_POSTS = 1 # A list of dictionaries specifying tags which translate to each other. # Format: a list of dicts {language: translation, language2: translation2, …} # For example: # [ # {'en': 'private', 'de': 'Privat'}, # {'en': 'work', 'fr': 'travail', 'de': 'Arbeit'}, # ] # TAG_TRANSLATIONS = [] # If set to True, a tag in a language will be treated as a translation # of the literally same tag in all other languages. Enable this if you # do not translate tags, for example. # TAG_TRANSLATIONS_ADD_DEFAULTS = True # Final locations are: # output / TRANSLATION[lang] / CATEGORY_PATH / index.html (list of categories) # output / TRANSLATION[lang] / CATEGORY_PATH / CATEGORY_PREFIX category.html (list of posts for a category) # output / TRANSLATION[lang] / CATEGORY_PATH / CATEGORY_PREFIX category RSS_EXTENSION (RSS feed for a category) # (translatable) # CATEGORY_PATH = "categories" # CATEGORY_PREFIX = "cat_" # By default, the list of categories is stored in # output / TRANSLATION[lang] / CATEGORY_PATH / index.html # (see explanation for CATEGORY_PATH). This location can be changed to # output / TRANSLATION[lang] / CATEGORIES_INDEX_PATH # with an arbitrary relative path CATEGORIES_INDEX_PATH. # (translatable) # CATEGORIES_INDEX_PATH = "categories.html" # If CATEGORY_ALLOW_HIERARCHIES is set to True, categories can be organized in # hierarchies. For a post, the whole path in the hierarchy must be specified, # using a forward slash ('/') to separate paths. Use a backslash ('\') to escape # a forward slash or a backslash (i.e. '\//\\' is a path specifying the # subcategory called '\' of the top-level category called '/'). CATEGORY_ALLOW_HIERARCHIES = False # If CATEGORY_OUTPUT_FLAT_HIERARCHY is set to True, the output written to output # contains only the name of the leaf category and not the whole path. CATEGORY_OUTPUT_FLAT_HIERARCHY = False # If CATEGORY_PAGES_ARE_INDEXES is set to True, each category's page will contain # the posts themselves. If set to False, it will be just a list of links. # CATEGORY_PAGES_ARE_INDEXES = False # Set descriptions for category pages to make them more interesting. The # default is no description. The value is used in the meta description # and displayed underneath the category list or index page’s title. # CATEGORY_DESCRIPTIONS = { # DEFAULT_LANG: { # "blogging": "Meta-blog posts about blogging.", # "open source": "My contributions to my many, varied, ever-changing, and eternal libre software projects." # }, # } # Set special titles for category pages. The default is "Posts about CATEGORY". # CATEGORY_TITLES = { # DEFAULT_LANG: { # "blogging": "Meta-posts about blogging", # "open source": "Posts about open source software" # }, # } # If you do not want to display a category publicly, you can mark it as hidden. # The category will not be displayed on the category list page. # Category pages will still be generated. HIDDEN_CATEGORIES = [] # A list of dictionaries specifying categories which translate to each other. # Format: a list of dicts {language: translation, language2: translation2, …} # See TAG_TRANSLATIONS example above. # CATEGORY_TRANSLATIONS = [] # If set to True, a category in a language will be treated as a translation # of the literally same category in all other languages. Enable this if you # do not translate categories, for example. # CATEGORY_TRANSLATIONS_ADD_DEFAULTS = True # If no category is specified in a post, the destination path of the post # can be used in its place. This replaces the sections feature. Using # category hierarchies is recommended. # CATEGORY_DESTPATH_AS_DEFAULT = False # If True, the prefix will be trimmed from the category name, eg. if the # POSTS destination is "foo/bar", and the path is "foo/bar/baz/quux", # the category will be "baz/quux" (or "baz" if only the first directory is considered). # Note that prefixes coming from translations are always ignored. # CATEGORY_DESTPATH_TRIM_PREFIX = False # If True, only the first directory of a path will be used. # CATEGORY_DESTPATH_FIRST_DIRECTORY_ONLY = True # Map paths to prettier category names. (translatable) # CATEGORY_DESTPATH_NAMES = { # DEFAULT_LANG: { # 'webdev': 'Web Development', # 'webdev/django': 'Web Development/Django', # 'random': 'Odds and Ends', # }, # } # By default, category indexes will appear in CATEGORY_PATH and use # CATEGORY_PREFIX. If this is enabled, those settings will be ignored (except # for the index) and instead, they will follow destination paths (eg. category # 'foo' might appear in 'posts/foo'). If the category does not come from a # destpath, first entry in POSTS followed by the category name will be used. # For this setting, category hierarchies are required and cannot be flattened. # CATEGORY_PAGES_FOLLOW_DESTPATH = False # If ENABLE_AUTHOR_PAGES is set to True and there is more than one # author, author pages are generated. # ENABLE_AUTHOR_PAGES = True # Path to author pages. Final locations are: # output / TRANSLATION[lang] / AUTHOR_PATH / index.html (list of authors) # output / TRANSLATION[lang] / AUTHOR_PATH / author.html (list of posts by an author) # output / TRANSLATION[lang] / AUTHOR_PATH / author RSS_EXTENSION (RSS feed for an author) # (translatable) # AUTHOR_PATH = "authors" # If AUTHOR_PAGES_ARE_INDEXES is set to True, each author's page will contain # the posts themselves. If set to False, it will be just a list of links. # AUTHOR_PAGES_ARE_INDEXES = False # Set descriptions for author pages to make them more interesting. The # default is no description. The value is used in the meta description # and displayed underneath the author list or index page’s title. # AUTHOR_PAGES_DESCRIPTIONS = { # DEFAULT_LANG: { # "Juanjo Conti": "Python coder and writer.", # "Roberto Alsina": "Nikola father." # }, # } # If you do not want to display an author publicly, you can mark it as hidden. # The author will not be displayed on the author list page and posts. # Tag pages will still be generated. HIDDEN_AUTHORS = ['Guest'] # Allow multiple, comma-separated authors for a post? (Requires theme support, present in built-in themes) # MULTIPLE_AUTHORS_PER_POST = False # Final location for the main blog page and sibling paginated pages is # output / TRANSLATION[lang] / INDEX_PATH / index-*.html # (translatable) INDEX_PATH = "ideas" # Optional HTML that displayed on “main” blog index.html files. # May be used for a greeting. (translatable) FRONT_INDEX_HEADER = { DEFAULT_LANG: '
Free research ideas licensed CC BY 4.0. Take any idea and run with it, just please cite me as the ideator!
' } # Create per-month archives instead of per-year # CREATE_MONTHLY_ARCHIVE = False # Create one large archive instead of per-year # CREATE_SINGLE_ARCHIVE = False # Create year, month, and day archives each with a (long) list of posts # (overrides both CREATE_MONTHLY_ARCHIVE and CREATE_SINGLE_ARCHIVE) # CREATE_FULL_ARCHIVES = False # If monthly archives or full archives are created, adds also one archive per day # CREATE_DAILY_ARCHIVE = False # Create previous, up, next navigation links for archives # CREATE_ARCHIVE_NAVIGATION = False # Final locations for the archives are: # output / TRANSLATION[lang] / ARCHIVE_PATH / ARCHIVE_FILENAME # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / index.html # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / index.html # output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / DAY / index.html # (translatable) # ARCHIVE_PATH = "" # ARCHIVE_FILENAME = "archive.html" # If ARCHIVES_ARE_INDEXES is set to True, each archive page which contains a list # of posts will contain the posts themselves. If set to False, it will be just a # list of links. # ARCHIVES_ARE_INDEXES = False # URLs to other posts/pages can take 3 forms: # rel_path: a relative URL to the current page/post (default) # full_path: a URL with the full path from the root # absolute: a complete URL (that includes the SITE_URL) # URL_TYPE = 'rel_path' # Extension for RSS feed files # RSS_EXTENSION = ".xml" # RSS filename base (without extension); used for indexes and galleries. # (translatable) # RSS_FILENAME_BASE = "rss" # Final location for the blog main RSS feed is: # output / TRANSLATION[lang] / RSS_PATH / RSS_FILENAME_BASE RSS_EXTENSION # (translatable) # RSS_PATH = "" # Final location for the blog main Atom feed is: # output / TRANSLATION[lang] / ATOM_PATH / ATOM_FILENAME_BASE ATOM_EXTENSION # (translatable) # ATOM_PATH = "" # Atom filename base (without extension); used for indexes. # (translatable) ATOM_FILENAME_BASE = "feed" # Extension for Atom feed files # ATOM_EXTENSION = ".atom" # Slug the Tag URL. Easier for users to type, special characters are # often removed or replaced as well. # SLUG_TAG_PATH = True # Slug the Author URL. Easier for users to type, special characters are # often removed or replaced as well. # SLUG_AUTHOR_PATH = True # A list of redirection tuples, [("foo/from.html", "/bar/to.html")]. # # A HTML file will be created in output/foo/from.html that redirects # to the "/bar/to.html" URL. notice that the "from" side MUST be a # relative URL. # # If you don't need any of these, just set to [] REDIRECTIONS = [] # Presets of commands to execute to deploy. Can be anything, for # example, you may use rsync: # "rsync -rav --delete output/ joe@my.site:/srv/www/site" # And then do a backup, or run `nikola ping` from the `ping` # plugin (`nikola plugin -i ping`). Or run `nikola check -l`. # You may also want to use github_deploy (see below). # You can define multiple presets and specify them as arguments # to `nikola deploy`. If no arguments are specified, a preset # named `default` will be executed. You can use as many presets # in a `nikola deploy` command as you like. # DEPLOY_COMMANDS = { # 'default': [ # "rsync -rav --delete output/ joe@my.site:/srv/www/site", # ] # } # github_deploy configuration # For more details, read the manual: # https://getnikola.com/handbook.html#deploying-to-github # You will need to configure the deployment branch on GitHub. # GITHUB_SOURCE_BRANCH = 'src' # GITHUB_DEPLOY_BRANCH = 'master' # The name of the remote where you wish to push to, using github_deploy. # GITHUB_REMOTE_NAME = 'origin' # Whether or not github_deploy should commit to the source branch automatically # before deploying. # GITHUB_COMMIT_SOURCE = True # Where the output site should be located # If you don't use an absolute path, it will be considered as relative # to the location of conf.py OUTPUT_FOLDER = 'public' # where the "cache" of partial generated content should be located # default: 'cache' # CACHE_FOLDER = 'cache' # Filters to apply to the output. # A directory where the keys are either: a file extensions, or # a tuple of file extensions. # # And the value is a list of commands to be applied in order. # # Each command must be either: # # A string containing a '%s' which will # be replaced with a filename. The command *must* produce output # in place. # # Or: # # A python callable, which will be called with the filename as # argument. # # By default, only .php files uses filters to inject PHP into # Nikola’s templates. All other filters must be enabled through FILTERS. # # Many filters are shipped with Nikola. A list is available in the manual: #{read_more}… ({min_remaining_read})
' # Append a URL query to the FEED_READ_MORE_LINK in Atom and RSS feeds. Advanced # option used for traffic source tracking. # Minimum example for use with Piwik: "pk_campaign=feed" # The following tags exist and are replaced for you: # {feedRelUri} A relative link to the feed. # {feedFormat} The name of the syndication format. # Example using replacement for use with Google Analytics: # "utm_source={feedRelUri}&utm_medium=nikola_feed&utm_campaign={feedFormat}_feed" FEED_LINKS_APPEND_QUERY = False # A HTML fragment describing the license, for the sidebar. # (translatable) LICENSE = "" # I recommend using the Creative Commons' wizard: # https://creativecommons.org/choose/ # LICENSE = """ # # """ # A small copyright notice for the page footer (in HTML). # (translatable) CONTENT_FOOTER = 'Contents © {date} {author}. Free Research Ideas licensed CC BY 4.0.' # Things that will be passed to CONTENT_FOOTER.format(). This is done # for translatability, as dicts are not formattable. Nikola will # intelligently format the setting properly. # The setting takes a dict. The keys are languages. The values are # tuples of tuples of positional arguments and dicts of keyword arguments # to format(). For example, {'en': (('Hello'), {'target': 'World'})} # results in CONTENT_FOOTER['en'].format('Hello', target='World'). # If you need to use the literal braces '{' and '}' in your footer text, use # '{{' and '}}' to escape them (str.format is used) # WARNING: If you do not use multiple languages with CONTENT_FOOTER, this # still needs to be a dict of this format. (it can be empty if you # do not need formatting) # (translatable) CONTENT_FOOTER_FORMATS = { DEFAULT_LANG: ( (), { "email": BLOG_EMAIL, "author": BLOG_AUTHOR, "date": time.gmtime().tm_year, "license": LICENSE } ) } # A simple copyright tag for inclusion in RSS feeds that works just # like CONTENT_FOOTER and CONTENT_FOOTER_FORMATS RSS_COPYRIGHT = 'Contents © {date} {author}. Free Research Ideas licensed CC BY 4.0.' RSS_COPYRIGHT_PLAIN = 'Contents © {date} {author}. Free Research Ideas licensed CC BY 4.0.' RSS_COPYRIGHT_FORMATS = CONTENT_FOOTER_FORMATS # To use comments, you can choose between different third party comment # systems. The following comment systems are supported by Nikola: # disqus, facebook, intensedebate, isso, muut, commento, utterances # You can leave this option blank to disable comments. COMMENT_SYSTEM = "" # And you also need to add your COMMENT_SYSTEM_ID which # depends on what comment system you use. The default is # "nikolademo" which is a test account for Disqus. More information # is in the manual. COMMENT_SYSTEM_ID = "" # Create index.html for page folders? # WARNING: if a page would conflict with the index file (usually # caused by setting slug to `index`), the PAGE_INDEX # will not be generated for that directory. # PAGE_INDEX = False # Enable comments on pages (i.e. not posts)? # COMMENTS_IN_PAGES = False # Enable comments on picture gallery pages? # COMMENTS_IN_GALLERIES = False # What file should be used for directory indexes? # Defaults to index.html # Common other alternatives: default.html for IIS, index.php # INDEX_FILE = "index.html" # If a link ends in /index.html, drop the index.html part. # http://mysite/foo/bar/index.html => http://mysite/foo/bar/ # (Uses the INDEX_FILE setting, so if that is, say, default.html, # it will instead /foo/default.html => /foo) STRIP_INDEXES = True # List of files relative to the server root (!) that will be asked to be excluded # from indexing and other robotic spidering. * is supported. Will only be effective # if SITE_URL points to server root. The list is used to exclude resources from # /robots.txt and /sitemap.xml, and to inform search engines about /sitemapindex.xml. # ROBOTS_EXCLUSIONS = ["/archive.html", "/category/*.html"] # Instead of putting files in