executablebooks / sphinx-external-toc

A sphinx extension that allows the site-map to be defined in a single YAML file
https://sphinx-external-toc.readthedocs.io
MIT License
31 stars 18 forks source link

Numbered wrong when migrating from jupyter-book to Sphinx #108

Open luweizheng opened 6 months ago

luweizheng commented 6 months ago

Describe the bug

context I have built a site with jupyter-book successfully. Now I want to use the features of sphinx-book-theme so I migrate from jupyter-book to sphinx.

I use the generated conf.py with

extensions = ['sphinx_external_toc',]
external_toc_exclude_missing = True
external_toc_path = '_toc.yml'

and my _toc.yml remains the same like:

format: jb-book
root: index
parts:
  - caption: 引言
    numbered: true
    chapters:
    - file: ch-intro/index
      sections:
        - file: ch-intro/computer-architecture
        - file: ch-intro/thread-process

  - caption: Dask
    numbered: true
    chapters:
    - file: ch-dask/index
      sections:
        - file: ch-dask/dask-intro

But it turns out that it cannot continue numbers between different chapters.

image

Reproduce the bug

What do I need to do to fix this issue?

List your environment

sphinx_external_toc 0.3.1 sphinx-multitoc-numbering 0.1.3

welcome[bot] commented 6 months ago

Thanks for opening your first issue here! Engagement like this is essential for open source projects! :hugs:
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! :tada:

luweizheng commented 6 months ago

I use a workaround to fix this issue:

root: index
subtrees:
- numbered: true
  entries:
  - file: ch-intro/index
    entries:
    - file: ch-intro/computer-architecture
    - file: ch-intro/thread-process
  - file: ch-dask/index
    entries:
    - file: ch-dask/dask-intro

The UI is slightly different now:

image

mmcky commented 6 months ago

Nice workaround @luweizheng. Sorry for the delay in commenting on this.

I suspect the main issue with the first configuration is you would need to add numbered: true to the top level configuration (rather than add it to each part as the numbering resets).

https://sphinx-multitoc-numbering.readthedocs.io/en/latest/#jupyter-book-example

luweizheng commented 6 months ago

Nice workaround @luweizheng. Sorry for the delay in commenting on this.

I suspect the main issue with the first configuration is you would need to add numbered: true to the top level configuration (rather than add it to each part as the numbering resets).

https://sphinx-multitoc-numbering.readthedocs.io/en/latest/#jupyter-book-example

Thanks for you reply!

The conf in sphinx-multitoc-numbering is a little bit different from sphinx-external-toc. sphinx-external-toc's doc does not have part keyword.

luweizheng commented 6 months ago

Hi @mmcky

Are there any solutions? sphinx-external-toc's doc does not have part keyword.