neotoc
Version:
Ultra-smooth table of contents UI generator for your docs and blogs.
56 lines (42 loc) β’ 2.97 kB
Markdown
<a href="https://neotoc.vercel.app" target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ashutoshbw/neotoc/refs/heads/main/.github/assets/readme-banner-dark.png">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/ashutoshbw/neotoc/refs/heads/main/.github/assets/readme-banner-light.png">
<img alt="Neotoc" src="https://raw.githubusercontent.com/ashutoshbw/neotoc/refs/heads/main/.github/assets/readme-banner-light.png">
</picture>
</a>
<p align="center">
<p align="center">
Ultra-smooth table of contents generator for your docs and blogs.
<br/>
<b><a href="https://neotoc.vercel.app/" target="_blank">Documentation</a></b> | <b><a href="https://codepen.io/ashutoshbw/pen/Jojvvbp" target="_blank">CodePen</a></b>
</p>
</p>
<div align="center">
<img src="https://img.shields.io/npm/v/neotoc?style=flat-square" alt="npm version">
<img src="https://img.shields.io/github/license/ashutoshbw/neotoc?style=flat-square" alt="GitHub license">
<img src="https://img.shields.io/npm/dm/neotoc?style=flat-square" alt="npm monthly downloads">
<img src="https://data.jsdelivr.com/v1/package/npm/neotoc/badge" alt="">
<img src="https://img.shields.io/bundlephobia/minzip/neotoc?style=flat-square" alt="bundle size">
<img src="https://img.shields.io/github/stars/ashutoshbw/neotoc?style=flat-square" alt="GitHub Repo stars">
</div>
<br/>
## πͺ Features
- **Ultra-smooth**: It accurately highlights exactly where you are on the page, resulting in an ultra-smooth user experience.
- **Auto-scroll**: Neotoc keeps itself in sync with your scroll, so you never have to hunt for your position.
- **Foldable**: Easily fold and unfold nested sections.
- **Opinionated**: Neotoc focuses on a single DOM structure and convention of style, so it stays efficient and free of bloat.
- **Ready-made styles**: Get styled easily with carefully crafted base styles and color schemes.
- **Framework-agnostic**: Neotoc is not tied to any particular library or framework, freeing you to use it anywhere DOM exists.
- **Zero dependencies**: Built entirely from scratch, with no external dependencies.
- **Browser support**: Works smoothly across all modern and popular web browsers.
- **Lightweight**: The JavaScript bundle is 4.2KB, with ready-made CSS bundle weighing about 2.1KB (both minified and gzipped).
- **Accessible**: Accessible with keyboards, touchscreens and screen readers.
## π Documentation
For documentation, visit [neotoc.vercel.app](https://neotoc.vercel.app/).
## π€ Contributing
Interested in contributing? Get started by reading [CONTRIBUTING.md](https://github.com/ashutoshbw/neotoc/blob/main/CONTRIBUTING.md).
## π License
The Neotoc is licensed under the [MIT License](https://github.com/ashutoshbw/neotoc/blob/main/LICENSE).
## π
Acknowledgments
The TOC tree view is inspired by GitHubβs file tree interface.