# markdown-it-for-inline

> Inline tokens iterator for markdown-it markdown parser.

Latest version **2.0.1** (published 2023-12-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install markdown-it-for-inline
pnpm add markdown-it-for-inline
yarn add markdown-it-for-inline
bun add markdown-it-for-inline
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 2.0.1 |
| Published | 2023-12-05 |
| First published | 2014-12-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 7.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 28 |
| Maintainers | vitaly |
| Keywords | markdown-it-plugin, markdown-it, markdown, iterator |

## Links

- npm: https://www.npmjs.com/package/markdown-it-for-inline
- Repository: https://github.com/markdown-it/markdown-it-for-inline
- Homepage: https://github.com/markdown-it/markdown-it-for-inline#readme
- Issues: https://github.com/markdown-it/markdown-it-for-inline/issues
- npm.io page: https://npm.io/package/markdown-it-for-inline

## Alternatives

- [@mdxeditor/editor](https://npm.io/package/@mdxeditor/editor.md) — 962.4K weekly downloads
- [mmdb-lib](https://npm.io/package/mmdb-lib.md) — 680.9K weekly downloads
- [playcanvas](https://npm.io/package/playcanvas.md) — 36.2K weekly downloads
- [@glw907/cairn-cms](https://npm.io/package/@glw907/cairn-cms.md) — 967 weekly downloads
- [markdown-to-confluence](https://npm.io/package/markdown-to-confluence.md) — 103 weekly downloads

## Recent versions

- 2.0.1 (latest) — 2023-12-05
- 2.0.0 — 2023-12-02
- 0.1.1 — 2015-05-05
- 0.1.0 — 2014-12-29

## README

# markdown-it-for-inline

[![CI](https://github.com/markdown-it/markdown-it-for-inline/actions/workflows/ci.yml/badge.svg)](https://github.com/markdown-it/markdown-it-for-inline/actions/workflows/ci.yml)
[![NPM version](https://img.shields.io/npm/v/markdown-it-for-inline.svg?style=flat)](https://www.npmjs.org/package/markdown-it-for-inline)
[![Coverage Status](https://img.shields.io/coveralls/markdown-it/markdown-it-for-inline/master.svg?style=flat)](https://coveralls.io/r/markdown-it/markdown-it-for-inline)

> Inline tokens iterator for [markdown-it](https://github.com/markdown-it/markdown-it) markdown parser.

This plugin allows to apply function to certain types of inline tokens. Speed
will be not fastest of possible, but you can do quick prototyping of certain
rule types.


## Usage

## Install

node.js, browser:

```bash
npm install markdown-it-for-inline --save
bower install markdown-it-for-inline --save
```

## Use

```js
var iterator = require('markdown-it-for-inline');

// plugin params are:
//
// - rule name (should be unique)
// - token type to apply
// - function
//
var md = require('markdown-it')()
            .use(iterator, 'foo_replace', 'text', function (tokens, idx) {
              tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');
            });
```

_Differences in browser._ If you load script directly into the page, without
package system, module will add itself globally as `window.markdownitForInline`.


__Example 2.__ Cut link prefixes

```js
var iterator = require('markdown-it-for-inline');

var md = require('markdown-it')({ linkify: true })
            .use(iterator, 'url_beautify', 'link_open', function (tokens, idx) {
              // Make sure link contains only text
              if ((tokens[idx + 2].type !== 'link_close') ||
                  (tokens[idx + 1].type !== 'text')) {
                return;
              }
              // Do replacement
              tokens[idx + 1].content = tokens[idx + 1].content
                                          .replace(/^https?:\/\//, '')
                                          .replace(/^www./, '');
            });
```

__Example 3.__ Make links open in new window

```js
var iterator = require('markdown-it-for-inline');

var md = require('markdown-it')({ linkify: true })
            .use(iterator, 'url_new_win', 'link_open', function (tokens, idx) {
              tokens[idx].attrPush([ 'target', '_blank' ]);
            });
```


## License

[MIT](https://github.com/markdown-it/markdown-it-for-inline/blob/master/LICENSE)

---
_Source: https://npm.io/package/markdown-it-for-inline · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
