![Publish Status](https://github.com/ether/ep_table_of_contents/workflows/Node.js%20Package/badge.svg) [![Backend Tests Status](https://github.com/ether/ep_table_of_contents/actions/workflows/test-and-release.yml/badge.svg)](https://github.com/ether/ep_table_of_contents/actions/workflows/test-and-release.yml)

# Builds a table of contents into the Etherpad interface

Enable under settings.
Create headings, watch the TOC populate in real time.

## Installation

Install the way Etherpad expects plugins to be installed — via the admin
UI (**Admin → Manage Plugins → Search** for `ep_table_of_contents` and
click *Install*), or from the Etherpad root directory:

```sh
pnpm run plugins install ep_table_of_contents
```

> ⚠️ Don't run `npm i ep_table_of_contents` yourself from the Etherpad
> source tree. It adds the plugin to the top-level `package.json` but
> doesn't hook it into Etherpad's own plugin registry, which can leave
> Etherpad unable to start with `npm ls` errors (see #154).

After installing, restart Etherpad.

## Configuration

If you want to have the TOC shown by default, add following snippet to your `settings.json`:

```json
"ep_toc": {
  "disable_by_default": false
},
```

You can also set this on a per-pad basis by setting the URL parameter `toc` to `true` or `false`.

If you want to have a button in the toolbar to toggle the TOC, add following snippet to your `settings.json`:

```json
"ep_toc": {
  "show_button": true
},
```

## Installation

Install from the Etherpad admin UI (**Admin → Manage Plugins**,
search for `ep_table_of_contents` and click *Install*), or from the Etherpad
root directory:

```sh
pnpm run plugins install ep_table_of_contents
```

> ⚠️ Don't run `npm i` / `npm install` yourself from the Etherpad
> source tree — Etherpad tracks installed plugins through its own
> plugin-manager, and hand-editing `package.json` can leave the
> server unable to start.

After installing, restart Etherpad.

## License
Copyright 2014, John McLear

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

