Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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)データを生成する関数を提供します。
- Host: GitHub
- URL: https://github.com/suin/esa-toc
- Owner: suin
- License: mit
- Created: 2020-06-09T06:05:16.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T08:23:04.000Z (almost 2 years ago)
- Last Synced: 2024-08-11T09:53:34.276Z (5 months ago)
- Topics: esa-io
- Language: HTML
- Homepage:
- Size: 3.57 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
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見出し1
> 見出し2見出し2
> 見出し3見出し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`になります。