facebook / facebook/docusaurus

Support Level 1 title (H1) in table of contents

Open
#11,041 5 comments 0 reactions 0 assignees View on GitHub
feature status: needs triage
Dominant language
TypeScript
Stars
66.2k
Forks
10k
Avg merge
1d 3h
Merged PRs (30d)
52

Description

### Have you read the Contributing Guidelines on issues?

- [x] I have read the [Contributing Guidelines on issues](https://github.com/facebook/docusaurus/blob/main/CONTRIBUTING.md#issues).

### Description

Currently, the setting `toc_min_heading_level` must be set to 2 or greater. In some markdown documents, it would be nice to a table of contents that includes level 1 (h1) titles. For example:

```
---
hide_title: true
---

# Part 1

## Part 1a

## Part 1b

# Part 2

## Part 2a

```

The default setting of `toc_min_heading_level=2` could be left unchanged, so this would have no effect any current setups (validation prevents trying to set `toc_min_headiner_level=1`). But it would enable the option to have a table of contents use level one headers as desired.

### Has this been requested on Canny?

_No response_

### Motivation

I often use level 1 titles on my markdown documents and it would be nice for them to be able to be included in the TOC.

### API design

_No response_

### Have you tried building it?

I took a quick pass and changed the validation to allow for setting `toc_min_heading_level=1` but it didn't change the generated table of contents. I poked around at packages/docusaurus-theme-common/src/utils/tocUtils.ts and it seemed like it should work for a min of 1 as well as higher, but that's as far as I got.

### Self-service

- [ ] I'd be willing to contribute this feature to Docusaurus myself.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.