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

Thebe clashes with hide-cell tag in Jupyter-book #26

Open
fortierq opened this issue Jun 8, 2021 · 3 comments
Open

Thebe clashes with hide-cell tag in Jupyter-book #26

fortierq opened this issue Jun 8, 2021 · 3 comments
Labels
bug Something isn't working

Comments

@fortierq
Copy link

fortierq commented Jun 8, 2021

Describe the bug

Thebe prevents cells with hide-cell tag from opening in Jupyter-book. "Click to show" does nothing. This is because the ID of the div is overwritten by shpinx-thebe, and the "click to show" button uses the original ID to toggle visibility.

To Reproduce

Steps to reproduce the behavior:

  1. Define a code cell for Jupyter-book:
```{code-cell} ipython3
:tags: [hide-cell]
(1 + 5**0.5)/2
```
  1. Launch Thebe inside Jupyter-book
  2. "Click to show" does not show hidden cell.

Expected behavior

"Click to show" should show the hidden cell.

Environment

  • Python Version: 3.8.5
  • Package versions or output of jupyter-book --version: 0.11.1
  • Operating System: Ubuntu

Additional context

The following line of code change the id of an hidden cell, preventing to toggle its hidden status:

const codeCells = document.querySelectorAll(thebe_selector)
codeCells.forEach((codeCell, index) => {
const codeCellId = index => `codecell${index}`;
codeCell.id = codeCellId(index);

Why do we need to change this codeCell.id? Can we modify only the id of non-hidden cells?

I would happily try to submit a PR if needed :)

PS: in https://jupyterbook.org/interactive/thebe.html, an example is provided with a hide-input cell. This works because the corresponding HTML element has class cell-input and not class cell (like hide-cell tag), and thus its id is not modified.

@fortierq fortierq added the bug Something isn't working label Jun 8, 2021
@welcome
Copy link

welcome bot commented Jun 8, 2021

Thanks for opening your first issue here! Engagement like this is essential for open source projects! 🤗

If you haven't done so already, check out EBP's Code of Conduct. Also, please try to follow the issue template as it helps other community members to contribute more effectively.

If your issue is a feature request, others may react to it, to raise its prominence (see Feature Voting).

Welcome to the EBP community! 🎉

@choldgraf
Copy link
Member

@fortierq thanks for opening this one up - I think that your diagnosis is correct that we are overwriting and ID. I think that we could try:

If a cell already has an ID, then we don't assign it a new one. If we can confirm that the behavior still works the same way, then maybe we are fine to stop there.

Want to give that a shot?

@fortierq
Copy link
Author

Thanks @choldgraf! I'm afraid I'm too busy at the moment to work on this at the moment. Maybe later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants