full.tpl 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. {%- extends 'basic.tpl' -%}
  2. {% from 'mathjax.tpl' import mathjax %}
  3. {%- block header -%}
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. {%- block html_head -%}
  8. <meta charset="utf-8" />
  9. {% set nb_title = nb.metadata.get('title', '') or resources['metadata']['name'] %}
  10. <title>{{nb_title}}</title>
  11. <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
  12. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
  13. {% block ipywidgets %}
  14. {%- if "widgets" in nb.metadata -%}
  15. <script>
  16. (function() {
  17. function addWidgetsRenderer() {
  18. var mimeElement = document.querySelector('script[type="application/vnd.jupyter.widget-view+json"]');
  19. var scriptElement = document.createElement('script');
  20. var widgetRendererSrc = '{{ resources.ipywidgets_base_url }}@jupyter-widgets/html-manager@*/dist/embed-amd.js';
  21. var widgetState;
  22. // Fallback for older version:
  23. try {
  24. widgetState = mimeElement && JSON.parse(mimeElement.innerHTML);
  25. if (widgetState && (widgetState.version_major < 2 || !widgetState.version_major)) {
  26. widgetRendererSrc = '{{ resources.ipywidgets_base_url }}jupyter-js-widgets@*/dist/embed.js';
  27. }
  28. } catch(e) {}
  29. scriptElement.src = widgetRendererSrc;
  30. document.body.appendChild(scriptElement);
  31. }
  32. document.addEventListener('DOMContentLoaded', addWidgetsRenderer);
  33. }());
  34. </script>
  35. {%- endif -%}
  36. {% endblock ipywidgets %}
  37. {% for css in resources.inlining.css -%}
  38. <style type="text/css">
  39. {{ css }}
  40. </style>
  41. {% endfor %}
  42. <style type="text/css">
  43. /* Overrides of notebook CSS for static HTML export */
  44. body {
  45. overflow: visible;
  46. padding: 8px;
  47. }
  48. div#notebook {
  49. overflow: visible;
  50. border-top: none;
  51. }
  52. {%- if resources.global_content_filter.no_prompt-%}
  53. div#notebook-container{
  54. padding: 6ex 12ex 8ex 12ex;
  55. }
  56. {%- endif -%}
  57. @media print {
  58. div.cell {
  59. display: block;
  60. page-break-inside: avoid;
  61. }
  62. div.output_wrapper {
  63. display: block;
  64. page-break-inside: avoid;
  65. }
  66. div.output {
  67. display: block;
  68. page-break-inside: avoid;
  69. }
  70. }
  71. </style>
  72. <!-- Custom stylesheet, it must be in the same directory as the html file -->
  73. <link rel="stylesheet" href="custom.css">
  74. <!-- Loading mathjax macro -->
  75. {{ mathjax() }}
  76. {%- endblock html_head -%}
  77. </head>
  78. {%- endblock header -%}
  79. {% block body %}
  80. <body>
  81. <div tabindex="-1" id="notebook" class="border-box-sizing">
  82. <div class="container" id="notebook-container">
  83. {{ super() }}
  84. </div>
  85. </div>
  86. </body>
  87. {%- endblock body %}
  88. {% block footer %}
  89. {{ super() }}
  90. </html>
  91. {% endblock footer %}