diff --git a/.github/workflows/call-deploy-book.yml b/.github/workflows/call-deploy-book.yml
new file mode 100644
index 0000000..bec1772
--- /dev/null
+++ b/.github/workflows/call-deploy-book.yml
@@ -0,0 +1,24 @@
+name: call-deploy-book
+
+on:
+ push:
+ branches:
+ - '**'
+ # If your git repository has the Jupyter Book within some-subfolder next to
+ # unrelated files, you can make this run only if a file within that specific
+ # folder (or the workflow file itself) has been modified.
+ #
+ paths:
+ - book/**
+ - .github/workflows/call-deploy-book.yml
+ workflow_dispatch:
+
+jobs:
+ call-workflow:
+ uses: TeachBooks/deploy-book-workflow/.github/workflows/deploy-book.yml@main
+ secrets: inherit
+ permissions:
+ contents: read
+ pages: write
+ id-token: write
+
diff --git a/book/_config.yml b/book/_config.yml
index 4322295..3c7269e 100644
--- a/book/_config.yml
+++ b/book/_config.yml
@@ -1,5 +1,5 @@
title: TeachBooks Manual
-author: TeachBooks Team, built with Jupyter Book, CC BY 4.0
+author: TeachBooks Team from Delft university of Technology, built with TeachBooks and Jupyter Book, CC BY 4.0
logo: images/Logo_without_background.png
diff --git a/book/examples/example_gumbel.ipynb b/book/examples/example_gumbel.ipynb
index 9095c4c..e23cc7a 100644
--- a/book/examples/example_gumbel.ipynb
+++ b/book/examples/example_gumbel.ipynb
@@ -34,20 +34,6 @@
"To complete this assignment, you can use `numpy`, `matplotlib` and from the `math` library, `log` and `e` (these are imported for you when you inialize the notebook)."
]
},
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "tags": [
- "thebe-remove-input-init"
- ]
- },
- "outputs": [],
- "source": [
- "import micropip\n",
- "await micropip.install(\"ipywidgets\")"
- ]
- },
{
"cell_type": "code",
"execution_count": 2,
diff --git a/book/examples/grading.py b/book/examples/grading.py
new file mode 100644
index 0000000..c282bf3
--- /dev/null
+++ b/book/examples/grading.py
@@ -0,0 +1,16 @@
+from IPython.display import display
+import ipywidgets as widgets
+
+def check(f):
+ def wrapper(*args, **kwargs):
+ output = widgets.Output()
+ button = widgets.Button(description="Check Answer(s)")
+ @output.capture(clear_output=True,wait=True)
+ def _inner_check(button):
+ try:
+ f(*args, **kwargs)
+ except:
+ print("Something went wrong, have you filled all the functions and run the cells?")
+ button.on_click(_inner_check)
+ display(button, output)
+ return wrapper
diff --git a/book/external/deploy-book-workflow b/book/external/deploy-book-workflow
index 32e1eb8..d5eab25 160000
--- a/book/external/deploy-book-workflow
+++ b/book/external/deploy-book-workflow
@@ -1 +1 @@
-Subproject commit 32e1eb8725fe4c63612a13f7467491cc9765d95e
+Subproject commit d5eab25a29e2cc558ec449577dab669c02758a11
diff --git a/book/external/template b/book/external/template
index 1f74f5f..7165661 160000
--- a/book/external/template
+++ b/book/external/template
@@ -1 +1 @@
-Subproject commit 1f74f5f2cf71a282e29b9a96a61bb8a140b9c6ab
+Subproject commit 71656612afa24342f345d9e113553b8ff3cdf4b1
diff --git a/book/features/live_code.ipynb b/book/features/live_code.ipynb
index 0c356e7..1111605 100644
--- a/book/features/live_code.ipynb
+++ b/book/features/live_code.ipynb
@@ -85,7 +85,7 @@
"If you push to main, you can test the interactivity on the book-draft website as well.\n",
"\n",
"## Custom cell tags\n",
- "With the extended functionality of live code, additional cell tags have been developed to be added to cells in any .ipynb file, next to the [existing tags] of the jupyter book (https://jupyterbook.org/en/stable/content/metadata.html):\n",
+ "With the extended functionality of live code, additional cell tags have been developed to be added to python cells (not markdown cells) in any .ipynb file, next to the [existing tags] of the jupyter book (https://jupyterbook.org/en/stable/content/metadata.html):\n",
"- `disable-execution-cell` disables the ability to execute the cell when thebe is activated. This might be useful if you notebook file includes interactivity for only a part of the coding cells\n",
"- `disable-execution-page` disables the ability to execute the entire page. This might be useful if you use python code for creating a page, but the code is not part of the actual content of the book.\n",
"- `auto-execute-page` automatically starts the thebe live coding functionality whenever the page is opened. This is particularly useful if you're using widgets on a page.\n",
diff --git a/book/intro.md b/book/intro.md
index 1471cd6..17a384e 100644
--- a/book/intro.md
+++ b/book/intro.md
@@ -3,4 +3,5 @@
This is an introduction to Git, VS Code and Jupyter Books for teachers and teaching assistants involved in TeachBooks, our platform easing the process of making a
. This book is still work in progress, so feel free to contribute https://gitlab.tudelft.nl/interactivetextbooks-citg/jupyter-book-manual! For more information about teachbooks, visit [https://teachbooks.tudelft.nl/](https://teachbooks.tudelft.nl/).
## Contact
-If you encounter any issues, please contact Tom van Woudenberg, Robert Lanzafame or one of our TAs Julie Kirsch at TeachBooks@tudelft.nl.
\ No newline at end of file
+If you encounter any issues and you've a TU Delft account, report it by clicking --> {fa}`lightbulb` on the top right corner of this page.
+Or contact Tom van Woudenberg, Robert Lanzafame or one of our TAs Julie Kirsch at TeachBooks@tudelft.nl, also for non-TU Delft account holders.
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 5c6680c..d42b694 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,5 @@
jupyter-book
+teachbooks
sphinx-inline-tabs
jupyterlite-sphinx