# @yozora/tokenizer-admonition

> Tokenizer for processing admonitions

Latest version **2.4.1** (published 2026-09-13) · MIT license · 0 weekly downloads

## Install

```sh
npm install @yozora/tokenizer-admonition
pnpm add @yozora/tokenizer-admonition
yarn add @yozora/tokenizer-admonition
bun add @yozora/tokenizer-admonition
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 2.4.1 |
| Published | 2026-09-13 |
| First published | 2021-04-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 4 |
| Unpacked size | 52.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 157 |
| Author | guanghechen |
| Maintainers | lemonclown |
| Keywords | yozora, markdown, tokenizer, admonition |

## Links

- npm: https://www.npmjs.com/package/@yozora/tokenizer-admonition
- Repository: https://github.com/yozorajs/yozora
- Homepage: https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/admonition#readme
- npm.io page: https://npm.io/package/@yozora/tokenizer-admonition

## Dependencies (4)

- [@yozora/ast](https://npm.io/package/@yozora/ast.md) ^2.4.1
- [@yozora/character](https://npm.io/package/@yozora/character.md) ^2.4.1
- [@yozora/core-tokenizer](https://npm.io/package/@yozora/core-tokenizer.md) ^2.4.1
- [@yozora/tokenizer-fenced-block](https://npm.io/package/@yozora/tokenizer-fenced-block.md) ^2.4.1

## Alternatives

- [localforage](https://npm.io/package/localforage.md) — 6.2M weekly downloads
- [localforage-observable](https://npm.io/package/localforage-observable.md) — 30.8K weekly downloads
- [@y/y](https://npm.io/package/@y/y.md) — 30.1K weekly downloads
- [@metaobjectsdev/render](https://npm.io/package/@metaobjectsdev/render.md) — 3.5K weekly downloads
- [@ledgerhq/coin-algorand](https://npm.io/package/@ledgerhq/coin-algorand.md) — 1.1K weekly downloads

## Recent versions

- 2.4.1 (latest) — 2026-09-13
- 2.4.0 — 2026-08-01
- 2.3.17 — 2026-07-10
- 2.3.16 — 2026-03-01
- 2.3.15 — 2026-03-01
- 2.3.14 — 2026-02-28
- 2.3.13 — 2025-11-30
- 2.3.12 — 2025-02-26
- 2.3.11 — 2025-01-13
- 2.3.10 — 2025-01-09
- 2.3.9 — 2024-12-05
- 2.3.8 — 2024-12-03
- 2.3.7 — 2024-11-06
- 2.3.6 — 2024-10-23
- 2.3.5 — 2024-10-06
- … 55 more at https://npm.io/package/@yozora/tokenizer-admonition/versions

## README

<!-- :begin use tokenizer/banner -->

<header>
  <h1 align="center">
    <a href="https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/admonition#readme">@yozora/tokenizer-admonition</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@yozora/tokenizer-admonition">
      <img
        alt="npm version"
        src="https://img.shields.io/npm/v/@yozora/tokenizer-admonition.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@yozora/tokenizer-admonition">
      <img
        alt="npm downloads"
        src="https://img.shields.io/npm/dm/@yozora/tokenizer-admonition.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@yozora/tokenizer-admonition">
      <img
        alt="npm license"
        src="https://img.shields.io/npm/l/@yozora/tokenizer-admonition.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@yozora/tokenizer-admonition"
      />
    </a>
    <a href="https://github.com/vitest-dev/vitest">
      <img
        alt="Tested with Vitest"
        src="https://img.shields.io/badge/tested_with-vitest-6E9F18.svg"
      />
    </a>
    <a href="https://biomejs.dev/">
      <img
        alt="Code style: Biome"
        src="https://img.shields.io/badge/code_style-biome-60a5fa.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br />


<!-- :end -->

[@yozora/tokenizer-admonition] produces [Admonition][node-type] nodes. See
[documentation][docpage] for details.

<!-- :begin use tokenizer/usage -->

## Install

```bash
npm install --save @yozora/tokenizer-admonition
```

## Usage

[@yozora/tokenizer-admonition][] is built into [@yozora/parser][].

### With `DefaultParser`

A tokenizer must be registered with an `IParser` before use.

```typescript {4,9}
import { DefaultParser } from '@yozora/core-parser'
import ParagraphTokenizer from '@yozora/tokenizer-paragraph'
import TextTokenizer from '@yozora/tokenizer-text'
import AdmonitionTokenizer from '@yozora/tokenizer-admonition'

const parser = new DefaultParser()
  .useFallbackTokenizer(new ParagraphTokenizer())
  .useFallbackTokenizer(new TextTokenizer())
  .useTokenizer(new AdmonitionTokenizer())

parser.parse(`
:::info This is an info admonition
Content

### Nested block content
:::
`)
```

### With [@yozora/parser][]

```typescript
import YozoraParser from '@yozora/parser'

const parser = new YozoraParser()
parser.parse(`
:::info This is an info admonition
Content

### Nested block content
:::
`)
```

### With [@yozora/parser-gfm][]

```typescript {2,5}
import GfmParser from '@yozora/parser-gfm'
import AdmonitionTokenizer from '@yozora/tokenizer-admonition'

const parser = new GfmParser()
parser.useTokenizer(new AdmonitionTokenizer())
parser.parse(`
:::info This is an info admonition
Content

### Nested block content
:::
`)
```

### With [@yozora/parser-gfm-ex][]

```typescript {2,5}
import GfmExParser from '@yozora/parser-gfm-ex'
import AdmonitionTokenizer from '@yozora/tokenizer-admonition'

const parser = new GfmExParser()
parser.useTokenizer(new AdmonitionTokenizer())
parser.parse(`
:::info This is an info admonition
Content

### Nested block content
:::
`)
```

### Options

| Name       | Type     | Required | Default                          |
| :--------- | :------- | :------- | :------------------------------- |
| `name`     | `string` | No       | `"@yozora/tokenizer-admonition"` |
| `priority` | `number` | No       | `TokenizerPriority.FENCED_BLOCK` |

- `name`: Unique tokenizer name. Generated tokens retain it so the parser can dispatch later phases
  to the same tokenizer.

- `priority`: Processing priority. Tokenizers with higher values run first. During block matching,
  a higher-priority tokenizer can interrupt a lower-priority tokenizer.


<!-- :end -->

### Node Type

```typescript
export interface Admonition extends Parent<'admonition'> {
  type: 'admonition'
  /**
  * Keyword of an admonition.
  */
  keyword: 'note' | 'important' | 'tip' | 'caution' | 'warning' | string
  /**
  * Admonition title.
  */
  title: Node[]
  /**
   * Admonition body.
   */
  children: Node[]
}
```

### Output Example

- positions omitted:

  ```json
  {
    "type": "admonition",
    "keyword": "tip",
    "title": [
      {
        "type": "text",
        "value": "pro tip"
      }
    ],
    "children": [
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "admonition is awesome!\n"
          }
        ]
      }
    ]
  }
  ```

## Related

- [@yozora/ast][]
- [@yozora/parser][]
- [@yozora/parser-gfm][]
- [@yozora/parser-gfm-ex][]
- [@yozora/react-admonition][]
- [@yozora/react-markdown][]
- [Live Examples][live-examples]
- [Admonition | Yozora AST][node-type]
- [Documentation][docpage]

[node-type]: https://yozora.guanghechen.com/docs/package/ast#admonition

<!-- :begin use tokenizer/definitions -->

[live-examples]: https://yozora.guanghechen.com/docs/package/tokenizer-admonition#live-examples
[docpage]: https://yozora.guanghechen.com/docs/package/tokenizer-admonition
[homepage]: https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/admonition#readme
[gfm-spec]: https://github.github.com/gfm
[mdast-homepage]: https://github.com/syntax-tree/mdast

[@yozora/ast]:                                https://github.com/yozorajs/yozora/tree/v2.4.1/packages/ast#readme
[@yozora/ast-util]:                           https://github.com/yozorajs/yozora/tree/v2.4.1/packages/ast-util#readme
[@yozora/character]:                          https://github.com/yozorajs/yozora/tree/v2.4.1/packages/character#readme
[@yozora/core-parser]:                        https://github.com/yozorajs/yozora/tree/v2.4.1/packages/core-parser#readme
[@yozora/core-tokenizer]:                     https://github.com/yozorajs/yozora/tree/v2.4.1/packages/core-tokenizer#readme
[@yozora/invariant]:                          https://github.com/yozorajs/yozora/tree/v2.4.1/packages/invariant#readme
[@yozora/markup-weaver]:                      https://github.com/yozorajs/yozora/tree/v2.4.1/packages/markup-weaver#readme
[@yozora/parser]:                             https://github.com/yozorajs/yozora/tree/v2.4.1/packages/parser#readme
[@yozora/parser-gfm]:                         https://github.com/yozorajs/yozora/tree/v2.4.1/packages/parser-gfm#readme
[@yozora/parser-gfm-ex]:                      https://github.com/yozorajs/yozora/tree/v2.4.1/packages/parser-gfm-ex#readme
[@yozora/tokenizer-admonition]:               https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/admonition#readme
[@yozora/tokenizer-autolink]:                 https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/autolink#readme
[@yozora/tokenizer-autolink-extension]:       https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/autolink-extension#readme
[@yozora/tokenizer-blockquote]:               https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/blockquote#readme
[@yozora/tokenizer-break]:                    https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/break#readme
[@yozora/tokenizer-definition]:               https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/definition#readme
[@yozora/tokenizer-delete]:                   https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/delete#readme
[@yozora/tokenizer-ecma-import]:              https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/ecma-import#readme
[@yozora/tokenizer-emphasis]:                 https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/emphasis#readme
[@yozora/tokenizer-fenced-block]:             https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/fenced-block#readme
[@yozora/tokenizer-fenced-code]:              https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/fenced-code#readme
[@yozora/tokenizer-footnote]:                 https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/footnote#readme
[@yozora/tokenizer-footnote-definition]:      https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/footnote-definition#readme
[@yozora/tokenizer-footnote-reference]:       https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/footnote-reference#readme
[@yozora/tokenizer-heading]:                  https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/heading#readme
[@yozora/tokenizer-html-block]:               https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/html-block#readme
[@yozora/tokenizer-html-inline]:              https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/html-inline#readme
[@yozora/tokenizer-image]:                    https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/image#readme
[@yozora/tokenizer-image-reference]:          https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/image-reference#readme
[@yozora/tokenizer-indented-code]:            https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/indented-code#readme
[@yozora/tokenizer-inline-code]:              https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/inline-code#readme
[@yozora/tokenizer-inline-math]:              https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/inline-math#readme
[@yozora/tokenizer-link]:                     https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/link#readme
[@yozora/tokenizer-link-reference]:           https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/link-reference#readme
[@yozora/tokenizer-list]:                     https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/list#readme
[@yozora/tokenizer-math]:                     https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/math#readme
[@yozora/tokenizer-paragraph]:                https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/paragraph#readme
[@yozora/tokenizer-setext-heading]:           https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/setext-heading#readme
[@yozora/tokenizer-table]:                    https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/table#readme
[@yozora/tokenizer-text]:                     https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/text#readme
[@yozora/tokenizer-thematic-break]:           https://github.com/yozorajs/yozora/tree/v2.4.1/tokenizers/thematic-break#readme

[@yozora/react-admonition]:                   https://github.com/yozorajs/yozora-react/tree/main/packages/admonition#readme
[@yozora/react-blockquote]:                   https://github.com/yozorajs/yozora-react/tree/main/packages/blockquote#readme
[@yozora/react-break]:                        https://github.com/yozorajs/yozora-react/tree/main/packages/break#readme
[@yozora/react-delete]:                       https://github.com/yozorajs/yozora-react/tree/main/packages/delete#readme
[@yozora/react-emphasis]:                     https://github.com/yozorajs/yozora-react/tree/main/packages/emphasis#readme
[@yozora/react-code]:                         https://github.com/yozorajs/yozora-react/tree/main/packages/code#readme
[@yozora/react-code-live]:                    https://github.com/yozorajs/yozora-react/tree/main/packages/code-live#readme
[@yozora/react-footnote-definitions]:         https://github.com/yozorajs/yozora-react/tree/main/packages/footnote-definitions#readme
[@yozora/react-footnote-reference]:           https://github.com/yozorajs/yozora-react/tree/main/packages/footnote-reference#readme
[@yozora/react-heading]:                      https://github.com/yozorajs/yozora-react/tree/main/packages/heading#readme
[@yozora/react-image]:                        https://github.com/yozorajs/yozora-react/tree/main/packages/image#readme
[@yozora/react-inline-code]:                  https://github.com/yozorajs/yozora-react/tree/main/packages/inline-code#readme
[@yozora/react-inline-math]:                  https://github.com/yozorajs/yozora-react/tree/main/packages/inline-math#readme
[@yozora/react-link]:                         https://github.com/yozorajs/yozora-react/tree/main/packages/link#readme
[@yozora/react-list]:                         https://github.com/yozorajs/yozora-react/tree/main/packages/list#readme
[@yozora/react-list-item]:                    https://github.com/yozorajs/yozora-react/tree/main/packages/list-item#readme
[@yozora/react-markdown]:                     https://github.com/yozorajs/yozora-react/tree/main/packages/markdown#readme
[@yozora/react-math]:                         https://github.com/yozorajs/yozora-react/tree/main/packages/math#readme
[@yozora/react-paragraph]:                    https://github.com/yozorajs/yozora-react/tree/main/packages/paragraph#readme
[@yozora/react-strong]:                       https://github.com/yozorajs/yozora-react/tree/main/packages/strong#readme
[@yozora/react-table]:                        https://github.com/yozorajs/yozora-react/tree/main/packages/table#readme
[@yozora/react-text]:                         https://github.com/yozorajs/yozora-react/tree/main/packages/text#readme
[@yozora/react-thematic-break]:               https://github.com/yozorajs/yozora-react/tree/main/packages/thematic-break#readme

[doc-live-examples/gfm]:                      https://yozora.guanghechen.com/docs/example/gfm
[doc-@yozora/ast]:                            https://yozora.guanghechen.com/docs/package/ast
[doc-@yozora/ast-util]:                       https://yozora.guanghechen.com/docs/package/ast-util
[doc-@yozora/core-parser]:                    https://yozora.guanghechen.com/docs/package/core-parser
[doc-@yozora/core-tokenizer]:                 https://yozora.guanghechen.com/docs/package/core-tokenizer
[doc-@yozora/parser]:                         https://yozora.guanghechen.com/docs/package/parser
[doc-@yozora/parser-gfm]:                     https://yozora.guanghechen.com/docs/package/parser-gfm
[doc-@yozora/parser-gfm-ex]:                  https://yozora.guanghechen.com/docs/package/parser-gfm-ex
[doc-@yozora/tokenizer-admonition]:           https://yozora.guanghechen.com/docs/package/tokenizer-admonition
[doc-@yozora/tokenizer-autolink]:             https://yozora.guanghechen.com/docs/package/tokenizer-autolink
[doc-@yozora/tokenizer-autolink-extension]:   https://yozora.guanghechen.com/docs/package/tokenizer-autolink-extension
[doc-@yozora/tokenizer-blockquote]:           https://yozora.guanghechen.com/docs/package/tokenizer-blockquote
[doc-@yozora/tokenizer-break]:                https://yozora.guanghechen.com/docs/package/tokenizer-break
[doc-@yozora/tokenizer-delete]:               https://yozora.guanghechen.com/docs/package/tokenizer-delete
[doc-@yozora/tokenizer-emphasis]:             https://yozora.guanghechen.com/docs/package/tokenizer-emphasis
[doc-@yozora/tokenizer-fenced-code]:          https://yozora.guanghechen.com/docs/package/tokenizer-fenced-code
[doc-@yozora/tokenizer-heading]:              https://yozora.guanghechen.com/docs/package/tokenizer-heading
[doc-@yozora/tokenizer-html-block]:           https://yozora.guanghechen.com/docs/package/tokenizer-html-block
[doc-@yozora/tokenizer-html-inline]:          https://yozora.guanghechen.com/docs/package/tokenizer-html-inline
[doc-@yozora/tokenizer-image]:                https://yozora.guanghechen.com/docs/package/tokenizer-image
[doc-@yozora/tokenizer-image-reference]:      https://yozora.guanghechen.com/docs/package/tokenizer-image-reference
[doc-@yozora/tokenizer-indented-code]:        https://yozora.guanghechen.com/docs/package/tokenizer-indented-code
[doc-@yozora/tokenizer-inline-code]:          https://yozora.guanghechen.com/docs/package/tokenizer-inline-code
[doc-@yozora/tokenizer-inline-math]:          https://yozora.guanghechen.com/docs/package/tokenizer-inline-math
[doc-@yozora/tokenizer-link]:                 https://yozora.guanghechen.com/docs/package/tokenizer-link
[doc-@yozora/tokenizer-definition]:           https://yozora.guanghechen.com/docs/package/tokenizer-definition
[doc-@yozora/tokenizer-link-reference]:       https://yozora.guanghechen.com/docs/package/tokenizer-link-reference
[doc-@yozora/tokenizer-list]:                 https://yozora.guanghechen.com/docs/package/tokenizer-list
[doc-@yozora/tokenizer-math]:                 https://yozora.guanghechen.com/docs/package/tokenizer-math
[doc-@yozora/tokenizer-paragraph]:            https://yozora.guanghechen.com/docs/package/tokenizer-paragraph
[doc-@yozora/tokenizer-setext-heading]:       https://yozora.guanghechen.com/docs/package/tokenizer-setext-heading
[doc-@yozora/tokenizer-table]:                https://yozora.guanghechen.com/docs/package/tokenizer-table
[doc-@yozora/tokenizer-text]:                 https://yozora.guanghechen.com/docs/package/tokenizer-text
[doc-@yozora/tokenizer-thematic-break]:       https://yozora.guanghechen.com/docs/package/tokenizer-thematic-break

[gfm-atx-heading]:                            https://github.github.com/gfm/#atx-heading
[gfm-autolink]:                               https://github.github.com/gfm/#autolinks
[gfm-autolink-extension]:                     https://github.github.com/gfm/#autolinks-extension-
[gfm-blockquote]:                             https://github.github.com/gfm/#block-quotes
[gfm-bullet-list]:                            https://github.github.com/gfm/#bullet-list
[gfm-delete]:                                 https://github.github.com/gfm/#strikethrough-extension-
[gfm-emphasis]:                               https://github.github.com/gfm/#can-open-emphasis
[gfm-fenced-code]:                            https://github.github.com/gfm/#fenced-code-block
[gfm-hard-line-break]:                        https://github.github.com/gfm/#hard-line-break
[gfm-html-block]:                             https://github.github.com/gfm/#html-block
[gfm-html-inline]:                            https://github.github.com/gfm/#raw-html
[gfm-image]:                                  https://github.github.com/gfm/#images
[gfm-image-reference]:                        https://github.github.com/gfm/#example-590
[gfm-indented-code]:                          https://github.github.com/gfm/#indented-code-block
[gfm-inline-code]:                            https://github.github.com/gfm/#code-span
[gfm-link]:                                   https://github.github.com/gfm/#inline-link
[gfm-definition]:                             https://github.github.com/gfm/#link-reference-definition
[gfm-link-reference]:                         https://github.github.com/gfm/#reference-link
[gfm-list]:                                   https://github.github.com/gfm/#lists
[gfm-list-item]:                              https://github.github.com/gfm/#list-items
[gfm-list-task-item]:                         https://github.github.com/gfm/#task-list-items-extension-
[gfm-paragraph]:                              https://github.github.com/gfm/#paragraph
[gfm-setext-heading]:                         https://github.github.com/gfm/#setext-heading
[gfm-soft-line-break]:                        https://github.github.com/gfm/#soft-line-breaks
[gfm-strong]:                                 https://github.github.com/gfm/#can-open-strong-emphasis
[gfm-tab]:                                    https://github.github.com/gfm/#tabs
[gfm-table]:                                  https://github.github.com/gfm/#table
[gfm-text]:                                   https://github.github.com/gfm/#soft-line-breaks
[gfm-thematic-break]:                         https://github.github.com/gfm/#thematic-break


<!-- :end -->

---
_Source: https://npm.io/package/@yozora/tokenizer-admonition · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
