--- tags: Jupyter, Jupyter-Book --- # Chris / Nicolas brainstorm on Jupyter-Book ## Newly added - [ ] performance is far from linear for larger books > 40 documents? - [ ] hidden parts for certain publics (use case: web site for both students and instructors) - [ ] harvestable course metadata with intersphinx - [ ] Lorena's use case of embedding in a page (e.g. a LMS) a section of a jupyter-book page ## Discussed - [ ] Generate notebooks along with the book, with the links resolved (bonus: myst rendered to md/html) - Wants to generate a student version of each notebook that has some stuff removed etc. Vs. a "teacher version" that might have all the answers etc. - [ ] Myst: Inconsistent metadata syntax for code and markdown cells - It is awkward that the markdown cell delimiters (`+++`) use JSON syntax, while the `{code-cell}` directive uses YAML syntax. - [ ] Internationalisation - Would be most useful to have languages _interwoven_ with each other, not in different source files. - TODO: Carpentries who are interested in i18n - [ ] Multikernel - Similar to how tab synchronization works in Jupyter Book - Don't need multiple kernels active *at the same time*, need to be able to select a kernel at the beginning and execute only cells w/ that kernel. - But have the code for kernels interwoven (similar to internationalization above) - [ ] Support for links such as `[xxx](foo.md#bar)` - https://myst-parser.readthedocs.io/en/latest/syntax/optional.html#auto-generated-header-anchors - It only works for auto-generated headers, not for non-autogenerated headers. - Enhancement: If there's a link to a source file with a `#header` component, then use it to construct the final link even if this header is not present. - [ ] Support for links such as [xxx](local file) making local file into an asset - I think that this is now supported but not yet released in Jupyter Book: - https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#markdown-links-and-referencing - It would be better if this retained the relative location of the source and asset, not sure if this is the case or not. - [ ] General brainstorming about Jupyter Book for teaching: how to make it as simple as possible to use - [ ] How to best handle multiple versions of the same file (instructor version / student version / solution version / internationalization) - Good question, feels similar to my problem here: https://github.com/choldgraf/nbclean - [ ] Support for GitLab repo - What kinds of support? For the repo / launch buttons / etc? What else? - Issue here: https://github.com/executablebooks/sphinx-book-theme/issues/114 - [ ] Execution configuration on a notebook basis - I think that this is now supported but not yet released: - https://myst-nb.readthedocs.io/en/latest/configuration.html#file-level-configuration - [ ] Support for RISE - https://github.com/executablebooks/jupyter-book/issues/792 ## Ideas - Connect to GitHub from a JupyterHub: https://blog.jupyter.org/securely-pushing-to-github-from-a-jupyterhub-3ee42dfdc54f - Preprocess a notebook as part of build process issues: - https://github.com/executablebooks/jupyter-book/issues/1740%20%20%20 - https://github.com/executablebooks/MyST-NB/issues/360 ## To Dos - Connect with: - Matt re: Education w/ Jupyter Book (RISE, generating notebooks as part of build process, need assets to be relatively links not moved links in a `_download` folder) - Francois: Carpentries conversation around internationalization