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)