Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/suin/esa-toc

このライブラリは esa.io の HTML から目次(table of contents)データを生成する関数を提供します。
https://github.com/suin/esa-toc

esa-io

Last synced: about 1 month ago
JSON representation

このライブラリは esa.io の HTML から目次(table of contents)データを生成する関数を提供します。

Awesome Lists containing this project

README

        

# @suin/esa-toc

このライブラリは esa.io の HTML から目次(table of contents)データを生成する関数を提供します。

## インストール

```bash
yarn add @suin/esa-toc
# or
npm install @suin/esa-toc
```

## 使い方

```typescript
import { getToc } from '@suin/esa-toc'

const html = `


見出し1



見出し2



見出し3


`
const toc = getToc(html)
console.log(toc)
```

```json
[
{
"tag": "h1",
"depth": 1,
"text": "見出し1",
"href": "#%E8%A6%8B%E5%87%BA%E3%81%971"
},
{
"tag": "h2",
"depth": 2,
"text": "見出し2",
"href": "#%E8%A6%8B%E5%87%BA%E3%81%972"
},
{
"tag": "h3",
"depth": 3,
"text": "見出し3",
"href": "#%E8%A6%8B%E5%87%BA%E3%81%973"
}
]
```

## 仕様

- esa.io の仕様に合わせて、h1, h2, h3 のみ対応しています。h4 以下は未対応。
- h1 の直下に h3 が来る場合、h3 の`depth`は`3`になります。