Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add notebook loader and custom template #211

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

lzfxxx
Copy link

@lzfxxx lzfxxx commented Jun 12, 2018

No description provided.

@lzfxxx
Copy link
Author

lzfxxx commented Jun 12, 2018

Related reviews are in origin pull request #210 (which mixed some unrelated changes, so I closed it)

klaus/markup.py Outdated

def render_notebook(content):
nb = nbformat.reads(content, nbformat.NO_CONVERT)
(output, resources) = nbconvert.HTMLExporter(template_file='./klaus/templates/my_full.tpl').from_notebook_node(nb)
Copy link
Author

@lzfxxx lzfxxx Jun 12, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved from #210
jonashaag: my_full? Confusing name :-D

lzfxxx: It's just a little CSS modification of nbconvert template 'full', cause the width in @media setting of that template will make the html overflow the markup div. The naming is not very clear, do you have any suggestions?

jonashaag: I see! In this case could we simply use the default template and add the CSS fixes to klaus' CSS file? Or if that doesn't work, can we use inheritance to override the CSS instead of copy-pasting the whole file?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@lzfxxx
Copy link
Author

lzfxxx commented Jun 12, 2018

Moved from #210
jonashaag:
In terms of security, XSS problems are possible at the least. So we have to account for that. Two ideas:

  • Apply a very restrictive Content Security Policy for the whole klaus application, and have 2 versions of .ipynb file viewer: a normal CSP-enabled version, and a a CSP-disabled version. We could toggle between them with a simple URL param e.g. ?nocsp.
  • Maybe we can use this SanitizeHTML preprocessor, haven't looked at it closely. Also we could have two versions of the viewer page, one which strips all <script>, <style>, <object> etc tags, and another one where everything is allowed.

(cherry picked from commit 8d91705)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants