|
|
- #############################################################################
- # Copyright (c) 2018, QuantStack #
- # Copyright (c) 2018, Voila Contributors #
- # #
- # Distributed under the terms of the BSD 3-Clause License. #
- # #
- # The full license is in the file LICENSE, distributed with this software. #
- #############################################################################
-
- import traitlets.config
- from traitlets import Unicode, Bool, Dict, List
-
-
- class VoilaConfiguration(traitlets.config.Configurable):
- """Common configuration options between the server extension and the application."""
- template = Unicode(
- 'default',
- config=True,
- allow_none=True,
- help=(
- 'template name to be used by voila.'
- )
- )
- resources = Dict(
- allow_none=True,
- help="""
- extra resources used by templates;
- example use with --template=reveal
- --VoilaConfiguration.resources="{'reveal': {'transition': 'fade', 'scroll': True}}"
- """
- ).tag(config=True)
- theme = Unicode('light').tag(config=True)
- strip_sources = Bool(True, help='Strip sources from rendered html').tag(config=True)
- enable_nbextensions = Bool(False, config=True, help=('Set to True for Voila to load notebook extensions'))
-
- file_whitelist = List(
- Unicode(),
- [r'.*\.(png|jpg|gif|svg)'],
- help=r"""
- List of regular expressions for controlling which static files are served.
- All files that are served should at least match 1 whitelist rule, and no blacklist rule
- Example: --VoilaConfiguration.file_whitelist="['.*\.(png|jpg|gif|svg)', 'public.*']"
- """,
- ).tag(config=True)
-
- file_blacklist = List(
- Unicode(),
- [r'.*\.(ipynb|py)'],
- help=r"""
- List of regular expressions for controlling which static files are forbidden to be served.
- All files that are served should at least match 1 whitelist rule, and no blacklist rule
- Example:
- --VoilaConfiguration.file_whitelist="['.*']" # all files
- --VoilaConfiguration.file_blacklist="['private.*', '.*\.(ipynb)']" # except files in the private dir and notebook files
- """
- ).tag(config=True)
-
- language_kernel_mapping = Dict(
- {},
- help="""Mapping of language name to kernel name
- Example mapping python to use xeus-python, and C++11 to use xeus-cling:
- --VoilaConfiguration.extension_language_mapping='{"python": "xpython", "C++11": "xcpp11"}'
- """,
- ).tag(config=True)
-
- extension_language_mapping = Dict(
- {},
- help='''Mapping of file extension to kernel language
- Example mapping .py files to a python language kernel, and .cpp to a C++11 language kernel:
- --VoilaConfiguration.extension_language_mapping='{".py": "python", ".cpp": "C++11"}'
- ''',
- ).tag(config=True)
|