Jupyter Notebook Markdown Cells with wrong height due to jupyterlab-quarto extension

A colleague of mine has a Jupyter Notebook that some cells are show with wrong height when loaded. The following is a screenshot of the problem.

How to Reproduce

  1. Visit https://mybinder.org/
  2. GitHub repository name or URL: GitHub - taimoorkhan-nlp/latent_dirichlet_allocation: Topic modeling (LDA) extracts latent topics distributed across documents and represent them with most likely words.
  3. Git ref (branch, tag, or commit): 83e2d75e8c9b9fb91513d34c1042b3b1547f6cfc
  4. Click on “launch”

More details

When clicking on the cell, it get the correct height.

Conda Environment

name: notebook
channels:
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_gnu
  - alembic=1.14.1=pyhd8ed1ab_0
  - annotated-types=0.7.0=pyhd8ed1ab_1
  - anyio=4.8.0=pyhd8ed1ab_0
  - argon2-cffi=23.1.0=pyhd8ed1ab_1
  - argon2-cffi-bindings=21.2.0=py310ha75aee5_5
  - arrow=1.3.0=pyhd8ed1ab_1
  - asttokens=3.0.0=pyhd8ed1ab_1
  - async-lru=2.0.4=pyhd8ed1ab_1
  - async_generator=1.10=pyhd8ed1ab_2
  - attrs=25.1.0=pyh71513ae_0
  - babel=2.17.0=pyhd8ed1ab_0
  - beautifulsoup4=4.13.3=pyha770c72_0
  - bleach=6.2.0=pyh29332c3_4
  - bleach-with-css=6.2.0=h82add2a_4
  - blinker=1.9.0=pyhff2d567_0
  - brotli-python=1.1.0=py310hf71b8c6_2
  - bzip2=1.0.8=h4bc722e_7
  - ca-certificates=2025.1.31=hbcca054_0
  - cached-property=1.5.2=hd8ed1ab_1
  - cached_property=1.5.2=pyha770c72_1
  - certifi=2024.12.14=pyhd8ed1ab_0
  - certipy=0.2.1=pyhd8ed1ab_1
  - cffi=1.17.1=py310h8deb56e_0
  - charset-normalizer=3.4.1=pyhd8ed1ab_0
  - comm=0.2.2=pyhd8ed1ab_1
  - cryptography=44.0.0=py310h6c63255_1
  - debugpy=1.8.12=py310hf71b8c6_0
  - decorator=5.1.1=pyhd8ed1ab_1
  - defusedxml=0.7.1=pyhd8ed1ab_0
  - exceptiongroup=1.2.2=pyhd8ed1ab_1
  - executing=2.1.0=pyhd8ed1ab_1
  - fqdn=1.5.1=pyhd8ed1ab_1
  - greenlet=3.1.1=py310hf71b8c6_1
  - h11=0.14.0=pyhd8ed1ab_1
  - h2=4.2.0=pyhd8ed1ab_0
  - hpack=4.1.0=pyhd8ed1ab_0
  - httpcore=1.0.7=pyh29332c3_1
  - httpx=0.28.1=pyhd8ed1ab_0
  - hyperframe=6.1.0=pyhd8ed1ab_0
  - icu=75.1=he02047a_0
  - idna=3.10=pyhd8ed1ab_1
  - importlib-metadata=8.6.1=pyha770c72_0
  - importlib_resources=6.5.2=pyhd8ed1ab_0
  - ipykernel=6.29.5=pyh3099207_0
  - ipython=8.32.0=pyh907856f_0
  - ipywidgets=8.1.5=pyhd8ed1ab_1
  - isoduration=20.11.0=pyhd8ed1ab_1
  - jedi=0.19.2=pyhd8ed1ab_1
  - jinja2=3.1.5=pyhd8ed1ab_0
  - json5=0.10.0=pyhd8ed1ab_1
  - jsonpointer=3.0.0=py310hff52083_1
  - jsonschema=4.23.0=pyhd8ed1ab_1
  - jsonschema-specifications=2024.10.1=pyhd8ed1ab_1
  - jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_1
  - jupyter-lsp=2.2.5=pyhd8ed1ab_1
  - jupyter-offlinenotebook=0.3.1=pyh885dcc9_1
  - jupyter-resource-usage=1.1.0=pyhd8ed1ab_1
  - jupyter_client=8.6.3=pyhd8ed1ab_1
  - jupyter_core=5.7.2=pyh31011fe_1
  - jupyter_events=0.12.0=pyh29332c3_0
  - jupyter_server=2.15.0=pyhd8ed1ab_0
  - jupyter_server_terminals=0.5.3=pyhd8ed1ab_1
  - jupyterhub-base=5.2.1=pyh31011fe_0
  - jupyterhub-singleuser=5.2.1=pyh31011fe_0
  - jupyterlab=4.3.5=pyhd8ed1ab_0
  - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2
  - jupyterlab_server=2.27.3=pyhd8ed1ab_1
  - jupyterlab_widgets=3.0.13=pyhd8ed1ab_1
  - keyutils=1.6.1=h166bdaf_0
  - krb5=1.21.3=h659f571_0
  - ld_impl_linux-64=2.43=h712a8e2_2
  - libedit=3.1.20250104=pl5321h7949ede_0
  - libffi=3.4.2=h7f98852_5
  - libgcc=14.2.0=h77fa898_1
  - libgcc-ng=14.2.0=h69a702a_1
  - libgomp=14.2.0=h77fa898_1
  - liblzma=5.6.4=hb9d3cd8_0
  - libnsl=2.0.1=hd590300_0
  - libsodium=1.0.20=h4ab18f5_0
  - libsqlite=3.48.0=hee588c1_1
  - libstdcxx=14.2.0=hc0a3c3a_1
  - libstdcxx-ng=14.2.0=h4852527_1
  - libuuid=2.38.1=h0b41bf4_0
  - libuv=1.50.0=hb9d3cd8_0
  - libxcrypt=4.4.36=hd590300_1
  - libzlib=1.3.1=hb9d3cd8_2
  - mako=1.3.9=pyhd8ed1ab_0
  - markupsafe=3.0.2=py310h89163eb_1
  - matplotlib-inline=0.1.7=pyhd8ed1ab_1
  - mistune=3.1.1=pyhd8ed1ab_0
  - nbclient=0.10.2=pyhd8ed1ab_0
  - nbconvert-core=7.16.6=pyh29332c3_0
  - nbformat=5.10.4=pyhd8ed1ab_1
  - ncurses=6.5=h2d0b736_3
  - nest-asyncio=1.6.0=pyhd8ed1ab_1
  - nodejs=20.18.1=hc55a1b2_0
  - notebook=7.3.2=pyhd8ed1ab_0
  - notebook-shim=0.2.4=pyhd8ed1ab_1
  - oauthlib=3.2.2=pyhd8ed1ab_1
  - openssl=3.4.0=h7b32b05_1
  - overrides=7.7.0=pyhd8ed1ab_1
  - packaging=24.2=pyhd8ed1ab_2
  - pamela=1.2.0=pyhd8ed1ab_1
  - pandocfilters=1.5.0=pyhd8ed1ab_0
  - parso=0.8.4=pyhd8ed1ab_1
  - pexpect=4.9.0=pyhd8ed1ab_1
  - pickleshare=0.7.5=pyhd8ed1ab_1004
  - pip=25.0=pyh8b19718_0
  - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_2
  - platformdirs=4.3.6=pyhd8ed1ab_1
  - prometheus_client=0.21.1=pyhd8ed1ab_0
  - prompt-toolkit=3.0.50=pyha770c72_0
  - psutil=5.9.8=py310h2372a71_0
  - ptyprocess=0.7.0=pyhd8ed1ab_1
  - pure_eval=0.2.3=pyhd8ed1ab_1
  - pycparser=2.22=pyh29332c3_1
  - pydantic=2.0.3=pyhd8ed1ab_1
  - pydantic-core=2.3.0=py310hcb5633a_0
  - pygments=2.19.1=pyhd8ed1ab_0
  - pyjwt=2.10.1=pyhd8ed1ab_0
  - pysocks=1.7.1=pyha55dd90_7
  - python=3.10.16=he725a3c_1_cpython
  - python-dateutil=2.9.0.post0=pyhff2d567_1
  - python-fastjsonschema=2.21.1=pyhd8ed1ab_0
  - python-json-logger=2.0.7=pyhd8ed1ab_0
  - python_abi=3.10=5_cp310
  - pytz=2025.1=pyhd8ed1ab_0
  - pyyaml=6.0.2=py310h89163eb_2
  - pyzmq=26.2.1=py310h71f11fc_0
  - readline=8.2=h8228510_1
  - referencing=0.36.2=pyh29332c3_0
  - requests=2.32.3=pyhd8ed1ab_1
  - rfc3339-validator=0.1.4=pyhd8ed1ab_1
  - rfc3986-validator=0.1.1=pyh9f0ad1d_0
  - rpds-py=0.22.3=py310h505e2c1_0
  - send2trash=1.8.3=pyh0d859eb_1
  - setuptools=75.8.0=pyhff2d567_0
  - six=1.17.0=pyhd8ed1ab_0
  - sniffio=1.3.1=pyhd8ed1ab_1
  - soupsieve=2.5=pyhd8ed1ab_1
  - sqlalchemy=2.0.38=py310ha75aee5_0
  - stack_data=0.6.3=pyhd8ed1ab_1
  - terminado=0.18.1=pyh0d859eb_0
  - tinycss2=1.4.0=pyhd8ed1ab_0
  - tk=8.6.13=noxft_h4845f30_101
  - tomli=2.2.1=pyhd8ed1ab_1
  - tornado=6.4.2=py310ha75aee5_0
  - traitlets=5.14.3=pyhd8ed1ab_1
  - types-python-dateutil=2.9.0.20241206=pyhd8ed1ab_0
  - typing-extensions=4.12.2=hd8ed1ab_1
  - typing_extensions=4.12.2=pyha770c72_1
  - typing_utils=0.1.0=pyhd8ed1ab_1
  - uri-template=1.3.0=pyhd8ed1ab_1
  - urllib3=2.3.0=pyhd8ed1ab_0
  - wcwidth=0.2.13=pyhd8ed1ab_1
  - webcolors=24.11.1=pyhd8ed1ab_0
  - webencodings=0.5.1=pyhd8ed1ab_3
  - websocket-client=1.8.0=pyhd8ed1ab_1
  - wheel=0.45.1=pyhd8ed1ab_1
  - widgetsnbextension=4.0.13=pyhd8ed1ab_1
  - yaml=0.2.5=h7f98852_2
  - zeromq=4.3.5=h3b0a872_7
  - zipp=3.21.0=pyhd8ed1ab_1
  - zlib=1.3.1=hb9d3cd8_2
  - zstandard=0.23.0=py310ha39cb0e_1
  - zstd=1.5.6=ha6fb4c9_0
  - pip:
      - jupyterlab-quarto==0.1.45
      - numpy==2.0.2
      - pandas==2.2.3
      - tzdata==2025.1
prefix: /srv/conda/envs/notebook

The problem is jupyterlab-quarto installed in latent_dirichlet_allocation/postBuild at 83e2d75e8c9b9fb91513d34c1042b3b1547f6cfc · taimoorkhan-nlp/latent_dirichlet_allocation · GitHub. Replacing

python3 -m pip install jupyterlab-quarto==0.1.45

with

python3 -m pip install jupyterlab-quarto==0.3.3

will fix the problem.

Yes, this doesn’t seem general like you title implied, and so I added ‘due to jupyterlab-quarto extension’ at the end to highlight the quarto extension being involved in the phenomenon. Plus, I added ‘Markdown’ in the title since it seemed code and raw cells display fine when ‘shift+enter’ is hit.