diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..4bca864 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,15 @@ +# Contributing + +`sphinx-external-toc` is part of the executablebooks project, who also are responsible for `jupyter-book`. + +We're excited you're here and want to contribute. + +The Jupyter Book project is run by a community of people like you, we'd love to have you +help out! + +Please take a look at the [Jupyter Book contributor guide](https://jupyterbook.org/en/stable/contribute/intro.html) +which steps you through the codebase and how to contribute to this project. +If you have any questions that aren't answered there, please let us know by +[opening an issue][link_issues]! + +Thank you for you interest in contributing ✨ diff --git a/sphinx_external_toc/events.py b/sphinx_external_toc/events.py index 23d67bd..dc57ea1 100644 --- a/sphinx_external_toc/events.py +++ b/sphinx_external_toc/events.py @@ -322,13 +322,18 @@ def ensure_index_file(app: Sphinx, exception: Optional[Exception]) -> None: exception is not None or "html" not in app.builder.format or app.config.master_doc == "index" - # TODO rewrite the redirect if master_doc has changed since last build + # TODO: rewrite the redirect if master_doc has changed since last build or index_path.exists() ): return + root_name = remove_suffix(app.config.master_doc, app.config.source_suffix) - # TODO the other way to do this would be to - # simply copy the contents of the root file? (this method was taken from jupyter-book) - redirect_text = f'\n' + + if app.builder.name == "html": + redirect_url = f"{root_name}.html" + elif app.builder.name == "dirhtml": + redirect_url = f"{root_name}/index.html" + + redirect_text = f'\n' index_path.write_text(redirect_text, encoding="utf8") logger.info("[etoc] missing index.html written as redirect to '%s.html'", root_name)