Skip to content

Commit

Permalink
Up
Browse files Browse the repository at this point in the history
  • Loading branch information
JanPalasek committed Jun 29, 2022
1 parent d7a7bde commit 80db9cf
Show file tree
Hide file tree
Showing 8 changed files with 46 additions and 12 deletions.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@ Use [nbconvert](https://github.com/jupyter/nbconvert) with template pj (pretty-j
jupyter nbconvert --to html --template pj ${PATH_TO_IPYNB}
```

## Dev Installation
```sh
git clone https://github.com/JanPalasek/pretty-jupyter.git
cd pretty-jupyter
./env/install.ps1 # Or ./env/install.sh on linux
```

## Credits

Credits for styles, toc, tabs etc. go to developers of RMarkdown and its packages. A big part of this project is applying their incredible work to Jupyter.
6 changes: 4 additions & 2 deletions env/install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,7 @@ python -m pip install --upgrade wheel setuptools pip-tools
# install everything in requirements.txt
./env/sync.ps1

# install the app
pretty-jupyter install
python -m pip install -e .

# install files
pretty-jupyter install-dev
17 changes: 11 additions & 6 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,26 @@
with open("README.md", "r") as fh:
long_description = fh.read()

# this is done only to copy to the nbconvert's expected target directory
# so 'jupyter nbconvert' recognizes our new template
data_files = []
data_files.append(
("share/jupyter/nbconvert/templates/pj",
list(glob.glob('src/pretty_jupyter/templates/pj/*.j2'))
+ ["src/pretty_jupyter/templates/pj/conf.json"])
("share/jupyter/nbconvert/templates/pj", [
"src/pretty_jupyter/templates/pj/conf.json",
"src/pretty_jupyter/templates/pj/index.html.j2",
"src/pretty_jupyter/templates/pj/base.html.j2"])
)
data_files.append(
("share/jupyter/nbconvert/templates/pj/static",
list(glob.glob("src/pretty_jupyter/templates/static/*")))
("share/jupyter/nbconvert/templates/pj/static", [
"src/pretty_jupyter/templates/pj/static/pj.js",
"src/pretty_jupyter/templates/pj/static/pj.css"
])
)

setuptools.setup(
name='pretty-jupyter',
author="Jan Palasek",
version='0.1b1',
version='0.2a0',
description="",
long_description=long_description,
long_description_content_type="text/markdown",
Expand Down
18 changes: 17 additions & 1 deletion src/pretty_jupyter/console.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import os
import shutil
import subprocess
import sys
import click
from traitlets.config import Config
Expand Down Expand Up @@ -34,9 +33,26 @@ def nbconvert(input, out, include_input):
file.write(res[0])


@click.command("install-dev")
def install_dev():
"""
Installs this package and makes it callable by `jupyter nbconvert` without the need to specify extra_template_basedirs.
"""
src_folder = os.path.join(pkg_resources.resource_filename("pretty_jupyter", "templates"), "pj")
target_folder = os.path.join(sys.prefix, "share/jupyter/nbconvert/templates/pj")

# for backward compatibility, otherwise copytree has dirs_exist_ok param
if os.path.exists(target_folder):
shutil.rmtree(target_folder)
shutil.copytree(src_folder, target_folder)



@click.version_option()
@click.group()
def cli():
pass


cli.add_command(nbconvert)
cli.add_command(install_dev)
4 changes: 2 additions & 2 deletions src/pretty_jupyter/templates/pj/index.html.j2
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
<script src="data:application/javascript;base64,LyohCiAgIENvcHlyaWdodCAyMDA5LTIwMTkgU3ByeU1lZGlhIEx0ZC4KCiBUaGlzIHNvdXJjZSBmaWxlIGlzIGZyZWUgc29mdHdhcmUsIGF2YWlsYWJsZSB1bmRlciB0aGUgZm9sbG93aW5nIGxpY2Vuc2U6CiAgIE1JVCBsaWNlbnNlIC0gaHR0cDovL2RhdGF0YWJsZXMubmV0L2xpY2Vuc2UvbWl0CgogVGhpcyBzb3VyY2UgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZCiBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBsaWNlbnNlIGZpbGVzIGZvciBkZXRhaWxzLgoKIEZvciBkZXRhaWxzIHBsZWFzZSByZWZlciB0bzogaHR0cDovL3d3dy5kYXRhdGFibGVzLm5ldAogRml4ZWRIZWFkZXIgMy4xLjYKIMKpMjAwOS0yMDE5IFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiovCnZhciAkanNjb21wPSRqc2NvbXB8fHt9OyRqc2NvbXAuc2NvcGU9e307JGpzY29tcC5maW5kSW50ZXJuYWw9ZnVuY3Rpb24oYyxmLGcpe2MgaW5zdGFuY2VvZiBTdHJpbmcmJihjPVN0cmluZyhjKSk7Zm9yKHZhciBsPWMubGVuZ3RoLGg9MDtoPGw7aCsrKXt2YXIgbj1jW2hdO2lmKGYuY2FsbChnLG4saCxjKSlyZXR1cm57aTpoLHY6bn19cmV0dXJue2k6LTEsdjp2b2lkIDB9fTskanNjb21wLkFTU1VNRV9FUzU9ITE7JGpzY29tcC5BU1NVTUVfTk9fTkFUSVZFX01BUD0hMTskanNjb21wLkFTU1VNRV9OT19OQVRJVkVfU0VUPSExOyRqc2NvbXAuU0lNUExFX0ZST1VORF9QT0xZRklMTD0hMTsKJGpzY29tcC5kZWZpbmVQcm9wZXJ0eT0kanNjb21wLkFTU1VNRV9FUzV8fCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYyxmLGcpe2MhPUFycmF5LnByb3RvdHlwZSYmYyE9T2JqZWN0LnByb3RvdHlwZSYmKGNbZl09Zy52YWx1ZSl9OyRqc2NvbXAuZ2V0R2xvYmFsPWZ1bmN0aW9uKGMpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3c9PT1jP2M6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWwmJm51bGwhPWdsb2JhbD9nbG9iYWw6Y307JGpzY29tcC5nbG9iYWw9JGpzY29tcC5nZXRHbG9iYWwodGhpcyk7CiRqc2NvbXAucG9seWZpbGw9ZnVuY3Rpb24oYyxmLGcsbCl7aWYoZil7Zz0kanNjb21wLmdsb2JhbDtjPWMuc3BsaXQoIi4iKTtmb3IobD0wO2w8Yy5sZW5ndGgtMTtsKyspe3ZhciBoPWNbbF07aCBpbiBnfHwoZ1toXT17fSk7Zz1nW2hdfWM9Y1tjLmxlbmd0aC0xXTtsPWdbY107Zj1mKGwpO2YhPWwmJm51bGwhPWYmJiRqc2NvbXAuZGVmaW5lUHJvcGVydHkoZyxjLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Zn0pfX07JGpzY29tcC5wb2x5ZmlsbCgiQXJyYXkucHJvdG90eXBlLmZpbmQiLGZ1bmN0aW9uKGMpe3JldHVybiBjP2M6ZnVuY3Rpb24oYyxnKXtyZXR1cm4gJGpzY29tcC5maW5kSW50ZXJuYWwodGhpcyxjLGcpLnZ9fSwiZXM2IiwiZXMzIik7CihmdW5jdGlvbihjKXsiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiLCJkYXRhdGFibGVzLm5ldCJdLGZ1bmN0aW9uKGYpe3JldHVybiBjKGYsd2luZG93LGRvY3VtZW50KX0pOiJvYmplY3QiPT09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZixnKXtmfHwoZj13aW5kb3cpO2cmJmcuZm4uZGF0YVRhYmxlfHwoZz1yZXF1aXJlKCJkYXRhdGFibGVzLm5ldCIpKGYsZykuJCk7cmV0dXJuIGMoZyxmLGYuZG9jdW1lbnQpfTpjKGpRdWVyeSx3aW5kb3csZG9jdW1lbnQpfSkoZnVuY3Rpb24oYyxmLGcsbCl7dmFyIGg9Yy5mbi5kYXRhVGFibGUsbj0wLG09ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBtKSl0aHJvdyJGaXhlZEhlYWRlciBtdXN0IGJlIGluaXRpYWxpc2VkIHdpdGggdGhlICduZXcnIGtleXdvcmQuIjshMD09PWImJihiPXt9KTthPW5ldyBoLkFwaShhKTt0aGlzLmM9Yy5leHRlbmQoITAsCnt9LG0uZGVmYXVsdHMsYik7dGhpcy5zPXtkdDphLHBvc2l0aW9uOnt0aGVhZFRvcDowLHRib2R5VG9wOjAsdGZvb3RUb3A6MCx0Zm9vdEJvdHRvbTowLHdpZHRoOjAsbGVmdDowLHRmb290SGVpZ2h0OjAsdGhlYWRIZWlnaHQ6MCx3aW5kb3dIZWlnaHQ6YyhmKS5oZWlnaHQoKSx2aXNpYmxlOiEwfSxoZWFkZXJNb2RlOm51bGwsZm9vdGVyTW9kZTpudWxsLGF1dG9XaWR0aDphLnNldHRpbmdzKClbMF0ub0ZlYXR1cmVzLmJBdXRvV2lkdGgsbmFtZXNwYWNlOiIuZHRmYyIrbisrLHNjcm9sbExlZnQ6e2hlYWRlcjotMSxmb290ZXI6LTF9LGVuYWJsZTohMH07dGhpcy5kb209e2Zsb2F0aW5nSGVhZGVyOm51bGwsdGhlYWQ6YyhhLnRhYmxlKCkuaGVhZGVyKCkpLHRib2R5OmMoYS50YWJsZSgpLmJvZHkoKSksdGZvb3Q6YyhhLnRhYmxlKCkuZm9vdGVyKCkpLGhlYWRlcjp7aG9zdDpudWxsLGZsb2F0aW5nOm51bGwscGxhY2Vob2xkZXI6bnVsbH0sZm9vdGVyOntob3N0Om51bGwsZmxvYXRpbmc6bnVsbCwKcGxhY2Vob2xkZXI6bnVsbH19O3RoaXMuZG9tLmhlYWRlci5ob3N0PXRoaXMuZG9tLnRoZWFkLnBhcmVudCgpO3RoaXMuZG9tLmZvb3Rlci5ob3N0PXRoaXMuZG9tLnRmb290LnBhcmVudCgpO2E9YS5zZXR0aW5ncygpWzBdO2lmKGEuX2ZpeGVkSGVhZGVyKXRocm93IkZpeGVkSGVhZGVyIGFscmVhZHkgaW5pdGlhbGlzZWQgb24gdGFibGUgIithLm5UYWJsZS5pZDthLl9maXhlZEhlYWRlcj10aGlzO3RoaXMuX2NvbnN0cnVjdG9yKCl9O2MuZXh0ZW5kKG0ucHJvdG90eXBlLHtkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5zLmR0Lm9mZigiLmR0ZmMiKTtjKGYpLm9mZih0aGlzLnMubmFtZXNwYWNlKTt0aGlzLmMuaGVhZGVyJiZ0aGlzLl9tb2RlQ2hhbmdlKCJpbi1wbGFjZSIsImhlYWRlciIsITApO3RoaXMuYy5mb290ZXImJnRoaXMuZG9tLnRmb290Lmxlbmd0aCYmdGhpcy5fbW9kZUNoYW5nZSgiaW4tcGxhY2UiLCJmb290ZXIiLCEwKX0sZW5hYmxlOmZ1bmN0aW9uKGEsYil7dGhpcy5zLmVuYWJsZT0KYTtpZihifHxiPT09bCl0aGlzLl9wb3NpdGlvbnMoKSx0aGlzLl9zY3JvbGwoITApfSxlbmFibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucy5lbmFibGV9LGhlYWRlck9mZnNldDpmdW5jdGlvbihhKXthIT09bCYmKHRoaXMuYy5oZWFkZXJPZmZzZXQ9YSx0aGlzLnVwZGF0ZSgpKTtyZXR1cm4gdGhpcy5jLmhlYWRlck9mZnNldH0sZm9vdGVyT2Zmc2V0OmZ1bmN0aW9uKGEpe2EhPT1sJiYodGhpcy5jLmZvb3Rlck9mZnNldD1hLHRoaXMudXBkYXRlKCkpO3JldHVybiB0aGlzLmMuZm9vdGVyT2Zmc2V0fSx1cGRhdGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnMuZHQudGFibGUoKS5ub2RlKCk7YyhhKS5pcygiOnZpc2libGUiKT90aGlzLmVuYWJsZSghMCwhMSk6dGhpcy5lbmFibGUoITEsITEpO3RoaXMuX3Bvc2l0aW9ucygpO3RoaXMuX3Njcm9sbCghMCl9LF9jb25zdHJ1Y3RvcjpmdW5jdGlvbigpe3ZhciBhPXRoaXMsYj10aGlzLnMuZHQ7YyhmKS5vbigic2Nyb2xsIit0aGlzLnMubmFtZXNwYWNlLApmdW5jdGlvbigpe2EuX3Njcm9sbCgpfSkub24oInJlc2l6ZSIrdGhpcy5zLm5hbWVzcGFjZSxoLnV0aWwudGhyb3R0bGUoZnVuY3Rpb24oKXthLnMucG9zaXRpb24ud2luZG93SGVpZ2h0PWMoZikuaGVpZ2h0KCk7YS51cGRhdGUoKX0sNTApKTt2YXIgZT1jKCIuZmgtZml4ZWRIZWFkZXIiKTshdGhpcy5jLmhlYWRlck9mZnNldCYmZS5sZW5ndGgmJih0aGlzLmMuaGVhZGVyT2Zmc2V0PWUub3V0ZXJIZWlnaHQoKSk7ZT1jKCIuZmgtZml4ZWRGb290ZXIiKTshdGhpcy5jLmZvb3Rlck9mZnNldCYmZS5sZW5ndGgmJih0aGlzLmMuZm9vdGVyT2Zmc2V0PWUub3V0ZXJIZWlnaHQoKSk7Yi5vbigiY29sdW1uLXJlb3JkZXIuZHQuZHRmYyBjb2x1bW4tdmlzaWJpbGl0eS5kdC5kdGZjIGRyYXcuZHQuZHRmYyBjb2x1bW4tc2l6aW5nLmR0LmR0ZmMgcmVzcG9uc2l2ZS1kaXNwbGF5LmR0LmR0ZmMiLGZ1bmN0aW9uKCl7YS51cGRhdGUoKX0pO2Iub24oImRlc3Ryb3kuZHRmYyIsZnVuY3Rpb24oKXthLmRlc3Ryb3koKX0pOwp0aGlzLl9wb3NpdGlvbnMoKTt0aGlzLl9zY3JvbGwoKX0sX2Nsb25lOmZ1bmN0aW9uKGEsYil7dmFyIGU9dGhpcy5zLmR0LGQ9dGhpcy5kb21bYV0saz0iaGVhZGVyIj09PWE/dGhpcy5kb20udGhlYWQ6dGhpcy5kb20udGZvb3Q7IWImJmQuZmxvYXRpbmc/ZC5mbG9hdGluZy5yZW1vdmVDbGFzcygiZml4ZWRIZWFkZXItZmxvYXRpbmcgZml4ZWRIZWFkZXItbG9ja2VkIik6KGQuZmxvYXRpbmcmJihkLnBsYWNlaG9sZGVyLnJlbW92ZSgpLHRoaXMuX3Vuc2l6ZShhKSxkLmZsb2F0aW5nLmNoaWxkcmVuKCkuZGV0YWNoKCksZC5mbG9hdGluZy5yZW1vdmUoKSksZC5mbG9hdGluZz1jKGUudGFibGUoKS5ub2RlKCkuY2xvbmVOb2RlKCExKSkuY3NzKCJ0YWJsZS1sYXlvdXQiLCJmaXhlZCIpLmF0dHIoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLnJlbW92ZUF0dHIoImlkIikuYXBwZW5kKGspLmFwcGVuZFRvKCJib2R5IiksZC5wbGFjZWhvbGRlcj1rLmNsb25lKCExKSxkLnBsYWNlaG9sZGVyLmZpbmQoIipbaWRdIikucmVtb3ZlQXR0cigiaWQiKSwKZC5ob3N0LnByZXBlbmQoZC5wbGFjZWhvbGRlciksdGhpcy5fbWF0Y2hXaWR0aHMoZC5wbGFjZWhvbGRlcixkLmZsb2F0aW5nKSl9LF9tYXRjaFdpZHRoczpmdW5jdGlvbihhLGIpe3ZhciBlPWZ1bmN0aW9uKGIpe3JldHVybiBjKGIsYSkubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGModGhpcykud2lkdGgoKX0pLnRvQXJyYXkoKX0sZD1mdW5jdGlvbihhLGQpe2MoYSxiKS5lYWNoKGZ1bmN0aW9uKGEpe2ModGhpcykuY3NzKHt3aWR0aDpkW2FdLG1pbldpZHRoOmRbYV19KX0pfSxrPWUoInRoIik7ZT1lKCJ0ZCIpO2QoInRoIixrKTtkKCJ0ZCIsZSl9LF91bnNpemU6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5kb21bYV0uZmxvYXRpbmc7YiYmKCJmb290ZXIiPT09YXx8ImhlYWRlciI9PT1hJiYhdGhpcy5zLmF1dG9XaWR0aCk/YygidGgsIHRkIixiKS5jc3Moe3dpZHRoOiIiLG1pbldpZHRoOiIifSk6YiYmImhlYWRlciI9PT1hJiZjKCJ0aCwgdGQiLGIpLmNzcygibWluLXdpZHRoIiwiIil9LApfaG9yaXpvbnRhbDpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZG9tW2FdLGQ9dGhpcy5zLnBvc2l0aW9uLGs9dGhpcy5zLnNjcm9sbExlZnQ7Yy5mbG9hdGluZyYma1thXSE9PWImJihjLmZsb2F0aW5nLmNzcygibGVmdCIsZC5sZWZ0LWIpLGtbYV09Yil9LF9tb2RlQ2hhbmdlOmZ1bmN0aW9uKGEsYixlKXt2YXIgZD10aGlzLmRvbVtiXSxrPXRoaXMucy5wb3NpdGlvbixmPXRoaXMuZG9tWyJmb290ZXIiPT09Yj8idGZvb3QiOiJ0aGVhZCJdLGg9Yy5jb250YWlucyhmWzBdLGcuYWN0aXZlRWxlbWVudCk/Zy5hY3RpdmVFbGVtZW50Om51bGw7aCYmaC5ibHVyKCk7ImluLXBsYWNlIj09PWE/KGQucGxhY2Vob2xkZXImJihkLnBsYWNlaG9sZGVyLnJlbW92ZSgpLGQucGxhY2Vob2xkZXI9bnVsbCksdGhpcy5fdW5zaXplKGIpLCJoZWFkZXIiPT09Yj9kLmhvc3QucHJlcGVuZChmKTpkLmhvc3QuYXBwZW5kKGYpLGQuZmxvYXRpbmcmJihkLmZsb2F0aW5nLnJlbW92ZSgpLGQuZmxvYXRpbmc9Cm51bGwpKToiaW4iPT09YT8odGhpcy5fY2xvbmUoYixlKSxkLmZsb2F0aW5nLmFkZENsYXNzKCJmaXhlZEhlYWRlci1mbG9hdGluZyIpLmNzcygiaGVhZGVyIj09PWI/InRvcCI6ImJvdHRvbSIsdGhpcy5jW2IrIk9mZnNldCJdKS5jc3MoImxlZnQiLGsubGVmdCsicHgiKS5jc3MoIndpZHRoIixrLndpZHRoKyJweCIpLCJmb290ZXIiPT09YiYmZC5mbG9hdGluZy5jc3MoInRvcCIsIiIpKToiYmVsb3ciPT09YT8odGhpcy5fY2xvbmUoYixlKSxkLmZsb2F0aW5nLmFkZENsYXNzKCJmaXhlZEhlYWRlci1sb2NrZWQiKS5jc3MoInRvcCIsay50Zm9vdFRvcC1rLnRoZWFkSGVpZ2h0KS5jc3MoImxlZnQiLGsubGVmdCsicHgiKS5jc3MoIndpZHRoIixrLndpZHRoKyJweCIpKToiYWJvdmUiPT09YSYmKHRoaXMuX2Nsb25lKGIsZSksZC5mbG9hdGluZy5hZGRDbGFzcygiZml4ZWRIZWFkZXItbG9ja2VkIikuY3NzKCJ0b3AiLGsudGJvZHlUb3ApLmNzcygibGVmdCIsay5sZWZ0KyJweCIpLmNzcygid2lkdGgiLAprLndpZHRoKyJweCIpKTtoJiZoIT09Zy5hY3RpdmVFbGVtZW50JiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aC5mb2N1cygpfSwxMCk7dGhpcy5zLnNjcm9sbExlZnQuaGVhZGVyPS0xO3RoaXMucy5zY3JvbGxMZWZ0LmZvb3Rlcj0tMTt0aGlzLnNbYisiTW9kZSJdPWF9LF9wb3NpdGlvbnM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnMuZHQudGFibGUoKSxiPXRoaXMucy5wb3NpdGlvbixlPXRoaXMuZG9tO2E9YyhhLm5vZGUoKSk7dmFyIGQ9YS5jaGlsZHJlbigidGhlYWQiKSxrPWEuY2hpbGRyZW4oInRmb290Iik7ZT1lLnRib2R5O2IudmlzaWJsZT1hLmlzKCI6dmlzaWJsZSIpO2Iud2lkdGg9YS5vdXRlcldpZHRoKCk7Yi5sZWZ0PWEub2Zmc2V0KCkubGVmdDtiLnRoZWFkVG9wPWQub2Zmc2V0KCkudG9wO2IudGJvZHlUb3A9ZS5vZmZzZXQoKS50b3A7Yi50Ym9keUhlaWdodD1lLm91dGVySGVpZ2h0KCk7Yi50aGVhZEhlaWdodD1iLnRib2R5VG9wLWIudGhlYWRUb3A7ay5sZW5ndGg/KGIudGZvb3RUb3A9Cmsub2Zmc2V0KCkudG9wLGIudGZvb3RCb3R0b209Yi50Zm9vdFRvcCtrLm91dGVySGVpZ2h0KCksYi50Zm9vdEhlaWdodD1iLnRmb290Qm90dG9tLWIudGZvb3RUb3ApOihiLnRmb290VG9wPWIudGJvZHlUb3ArZS5vdXRlckhlaWdodCgpLGIudGZvb3RCb3R0b209Yi50Zm9vdFRvcCxiLnRmb290SGVpZ2h0PWIudGZvb3RUb3ApfSxfc2Nyb2xsOmZ1bmN0aW9uKGEpe3ZhciBiPWMoZykuc2Nyb2xsVG9wKCksZT1jKGcpLnNjcm9sbExlZnQoKSxkPXRoaXMucy5wb3NpdGlvbixrO2lmKHRoaXMuYy5oZWFkZXIpe3ZhciBmPXRoaXMucy5lbmFibGU/IWQudmlzaWJsZXx8Yjw9ZC50aGVhZFRvcC10aGlzLmMuaGVhZGVyT2Zmc2V0PyJpbi1wbGFjZSI6Yjw9ZC50Zm9vdFRvcC1kLnRoZWFkSGVpZ2h0LXRoaXMuYy5oZWFkZXJPZmZzZXQ/ImluIjoiYmVsb3ciOiJpbi1wbGFjZSI7KGF8fGYhPT10aGlzLnMuaGVhZGVyTW9kZSkmJnRoaXMuX21vZGVDaGFuZ2UoZiwiaGVhZGVyIixhKTt0aGlzLl9ob3Jpem9udGFsKCJoZWFkZXIiLAplKX10aGlzLmMuZm9vdGVyJiZ0aGlzLmRvbS50Zm9vdC5sZW5ndGgmJih0aGlzLnMuZW5hYmxlJiYoaz0hZC52aXNpYmxlfHxiK2Qud2luZG93SGVpZ2h0Pj1kLnRmb290Qm90dG9tK3RoaXMuYy5mb290ZXJPZmZzZXQ/ImluLXBsYWNlIjpkLndpbmRvd0hlaWdodCtiPmQudGJvZHlUb3ArZC50Zm9vdEhlaWdodCt0aGlzLmMuZm9vdGVyT2Zmc2V0PyJpbiI6ImFib3ZlIiksKGF8fGshPT10aGlzLnMuZm9vdGVyTW9kZSkmJnRoaXMuX21vZGVDaGFuZ2UoaywiZm9vdGVyIixhKSx0aGlzLl9ob3Jpem9udGFsKCJmb290ZXIiLGUpKX19KTttLnZlcnNpb249IjMuMS42IjttLmRlZmF1bHRzPXtoZWFkZXI6ITAsZm9vdGVyOiExLGhlYWRlck9mZnNldDowLGZvb3Rlck9mZnNldDowfTtjLmZuLmRhdGFUYWJsZS5GaXhlZEhlYWRlcj1tO2MuZm4uRGF0YVRhYmxlLkZpeGVkSGVhZGVyPW07YyhnKS5vbigiaW5pdC5kdC5kdGZoIixmdW5jdGlvbihhLGIsZSl7ImR0Ij09PWEubmFtZXNwYWNlJiYKKGE9Yi5vSW5pdC5maXhlZEhlYWRlcixlPWguZGVmYXVsdHMuZml4ZWRIZWFkZXIsIWEmJiFlfHxiLl9maXhlZEhlYWRlcnx8KGU9Yy5leHRlbmQoe30sZSxhKSwhMSE9PWEmJm5ldyBtKGIsZSkpKX0pO2guQXBpLnJlZ2lzdGVyKCJmaXhlZEhlYWRlcigpIixmdW5jdGlvbigpe30pO2guQXBpLnJlZ2lzdGVyKCJmaXhlZEhlYWRlci5hZGp1c3QoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEpeyhhPWEuX2ZpeGVkSGVhZGVyKSYmYS51cGRhdGUoKX0pfSk7aC5BcGkucmVnaXN0ZXIoImZpeGVkSGVhZGVyLmVuYWJsZSgpIixmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGIpe2I9Yi5fZml4ZWRIZWFkZXI7YT1hIT09bD9hOiEwO2ImJmEhPT1iLmVuYWJsZWQoKSYmYi5lbmFibGUoYSl9KX0pO2guQXBpLnJlZ2lzdGVyKCJmaXhlZEhlYWRlci5lbmFibGVkKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGV4dC5sZW5ndGgmJgpmaD9maC5lbmFibGVkKCk6ITF9KTtoLkFwaS5yZWdpc3RlcigiZml4ZWRIZWFkZXIuZGlzYWJsZSgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYSl7KGE9YS5fZml4ZWRIZWFkZXIpJiZhLmVuYWJsZWQoKSYmYS5lbmFibGUoITEpfSl9KTtjLmVhY2goWyJoZWFkZXIiLCJmb290ZXIiXSxmdW5jdGlvbihhLGIpe2guQXBpLnJlZ2lzdGVyKCJmaXhlZEhlYWRlci4iK2IrIk9mZnNldCgpIixmdW5jdGlvbihhKXt2YXIgYz10aGlzLmNvbnRleHQ7cmV0dXJuIGE9PT1sP2MubGVuZ3RoJiZjWzBdLl9maXhlZEhlYWRlcj9jWzBdLl9maXhlZEhlYWRlcltiKyJPZmZzZXQiXSgpOmw6dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGMpe2lmKGM9Yy5fZml4ZWRIZWFkZXIpY1tiKyJPZmZzZXQiXShhKX0pfSl9KTtyZXR1cm4gbX0pOwo="></script>

{% block notebook_css %}
{{ resources.include_css("static/rmd.css") }}
{{ resources.include_css("static/pj.css") }}
{% endblock notebook_css %}

{% for css in resources.inlining.css -%}
Expand Down Expand Up @@ -117,7 +117,7 @@
</div>

{% block notebook_js %}
{{ resources.include_js("static/rmd.js") }}
{{ resources.include_js("static/pj.js") }}
{% endblock notebook_js %}

</body>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/* a lot of this code was taken from rmd styles directly included in the output html page, license was not present there but it is GPL3 */

code {
white-space: pre-wrap;
color: inherit;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/* a lot of this code was taken from rmd styles directly included in the output html page, license was not present there but it is GPL3 */

// custom preprocessing

$(document).ready(function () {
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ python =
deps =
pytest
commands =
pretty-jupyter install
pretty-jupyter install-dev
pytest tests/

0 comments on commit 80db9cf

Please sign in to comment.