{"_id":"unist-util-find-between","_rev":"4-c1a5940a3c1c95cdc1eca55614c7a315","name":"unist-util-find-between","dist-tags":{"latest":"1.2.3"},"versions":{"1.2.0":{"name":"unist-util-find-between","version":"1.2.0","keywords":["unist","unist-util","util","utility","tree","node","find","between"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MIT","_id":"unist-util-find-between@1.2.0","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/unist-util-find-between#readme","bugs":{"url":"https://github.com/ipikuka/unist-util-find-between/issues"},"dist":{"shasum":"3795aeee083396da1002f89628fee1edae620d5b","tarball":"https://registry.npmjs.org/unist-util-find-between/-/unist-util-find-between-1.2.0.tgz","fileCount":7,"integrity":"sha512-I5KR+uhMmV7NQoJ8mKXVkjmba53m3qCiKr0dLfoXJOWJX140Gwi2aiC6zhVCBEr2FyEbiECMtd7kT58BicHcjA==","signatures":[{"sig":"MEUCIFHXyQfB8yVjWt3qdDWJxTMLJjDRdYvp5P5ym3LRyJOOAiEAucFyyGoVtUgcdIloNkUU4t8fgKgBjfaymX+YLN/Mo20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/unist-util-find-between@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36974},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"b950c063c2d845d4e8ada715261e765b0d11a2cd","scripts":{"lint":"eslint .","test":"node --test tests/*.spec.js","build":"rimraf dist && tsc --build tsconfig.build.json && tsd && type-coverage","format":"npm run prettier && npm run lint","prepack":"npm run build","prettier":"prettier --write .","test-coverage":"c8 --100 --reporter lcov --reporter text npm run test","prepublishOnly":"npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/unist-util-find-between.git","type":"git"},"_npmVersion":"10.9.7","description":"unist utility to find the nodes between two nodes","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@types/unist":"^3.0.3","unist-util-is":"^6.0.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsd":"^0.33.0","eslint":"^10.2.0","rimraf":"^6.1.3","globals":"^17.5.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","@types/mdast":"^4.0.4","type-coverage":"^2.29.7","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","mdast-util-from-markdown":"^2.0.3"},"_npmOperationalInternal":{"tmp":"tmp/unist-util-find-between_1.2.0_1776438987787_0.0856457971550515","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"unist-util-find-between","version":"1.2.1","keywords":["unist","unist-util","util","utility","tree","node","find","between"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MIT","_id":"unist-util-find-between@1.2.1","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/unist-util-find-between#readme","bugs":{"url":"https://github.com/ipikuka/unist-util-find-between/issues"},"dist":{"shasum":"17903de9ae43f334349f12205c1549e226710717","tarball":"https://registry.npmjs.org/unist-util-find-between/-/unist-util-find-between-1.2.1.tgz","fileCount":7,"integrity":"sha512-40W6SCvWk8MO+OyAzM1Ap6nKawyM7klSapiKGZQAgyZNbyIFibKAjMk+fct9nC6GcIPRfthBh6udKYrggjnGhQ==","signatures":[{"sig":"MEUCIDaYFSLtgZvyj+7FCDgqhFgYqXKt+eY3mYMSJ+wMsSbuAiEAonwOchqX/RDxFFt9VPXKtKevYn2j6MreObdw5WewDVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/unist-util-find-between@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34234},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"81f8c22804123050acdb54b60b44d990f506646c","scripts":{"lint":"eslint .","test":"node --test tests/*.spec.js","build":"rimraf dist && tsc --build tsconfig.build.json && tsd && type-coverage","format":"npm run prettier && npm run lint","prepack":"npm run build","prettier":"prettier --write .","test-coverage":"c8 --100 --reporter lcov --reporter text npm run test","prepublishOnly":"npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/unist-util-find-between.git","type":"git"},"_npmVersion":"10.9.7","description":"unist utility to find the nodes between two nodes","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@types/unist":"^3.0.3","unist-util-is":"^6.0.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsd":"^0.33.0","eslint":"^10.2.0","rimraf":"^6.1.3","globals":"^17.5.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.2","@types/mdast":"^4.0.4","type-coverage":"^2.29.7","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","mdast-util-from-markdown":"^2.0.3"},"_npmOperationalInternal":{"tmp":"tmp/unist-util-find-between_1.2.1_1776444820064_0.4706163588851462","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"unist-util-find-between","version":"1.2.2","keywords":["unist","unist-util","util","utility","tree","node","find","between"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MIT","_id":"unist-util-find-between@1.2.2","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"homepage":"https://github.com/ipikuka/unist-util-find-between#readme","bugs":{"url":"https://github.com/ipikuka/unist-util-find-between/issues"},"dist":{"shasum":"c86a5eb431b1384d8c94e76919cc01d80b010482","tarball":"https://registry.npmjs.org/unist-util-find-between/-/unist-util-find-between-1.2.2.tgz","fileCount":7,"integrity":"sha512-fhZ9EYTO/6mEFMIy2kH0dJJAyAo8KIz7u6SPBxGvNFe9DrivUyCeaSDO5djxcI3aI0jLaW7kVe0P0GrVIzPtDA==","signatures":[{"sig":"MEQCIB0BVRzLzRcF6Wz88JtvpfZtGc44Kvs+8vyD5+T9QqibAiARx34MGacJ4re2SoIIxR+w9uR2Z5mlCXTQylAZcQTBvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/unist-util-find-between@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34468},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"c5403a7450889a65505df11308f6155487d1294a","scripts":{"lint":"eslint .","test":"node --test tests/*.spec.js","build":"rimraf dist && tsc --build tsconfig.build.json && tsd && type-coverage","format":"npm run prettier && npm run lint","prepack":"npm run build","prettier":"prettier --write .","test-coverage":"c8 --100 --reporter lcov --reporter text npm run test","prepublishOnly":"npm run format && npm run test-coverage"},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"repository":{"url":"git+https://github.com/ipikuka/unist-util-find-between.git","type":"git"},"_npmVersion":"10.9.8","description":"unist utility to find the nodes between two nodes","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@types/unist":"^3.0.3","unist-util-is":"^6.0.1"},"typeCoverage":{"detail":true,"strict":true,"atLeast":100},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsd":"^0.33.0","eslint":"^10.4.0","rimraf":"^6.1.3","globals":"^17.6.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.12.4","@types/mdast":"^4.0.4","type-coverage":"^2.29.7","typescript-eslint":"^8.60.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","mdast-util-from-markdown":"^2.0.3"},"_npmOperationalInternal":{"tmp":"tmp/unist-util-find-between_1.2.2_1779860324066_0.4662356230944549","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"unist-util-find-between","version":"1.2.3","description":"unist utility to find the nodes between two nodes","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"build":"rimraf dist && tsc --build tsconfig.build.json && tsd && type-coverage","format":"npm run prettier && npm run lint","prettier":"prettier --write .","lint":"eslint .","test":"node --test tests/*.spec.js","test-coverage":"c8 --100 --reporter lcov --reporter text npm run test","prepack":"npm run build","prepublishOnly":"npm run format && npm run test-coverage"},"repository":{"type":"git","url":"git+https://github.com/ipikuka/unist-util-find-between.git"},"keywords":["unist","unist-util","util","utility","tree","node","find","between"],"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MIT","homepage":"https://github.com/ipikuka/unist-util-find-between#readme","bugs":{"url":"https://github.com/ipikuka/unist-util-find-between/issues"},"devDependencies":{"@eslint/js":"^10.0.1","@types/mdast":"^4.0.4","@types/node":"^26.2.0","c8":"^12.0.0","eslint":"^10.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","globals":"^17.11.0","mdast-util-from-markdown":"^2.0.3","prettier":"^3.9.6","rimraf":"^6.1.3","tsd":"^0.33.0","type-coverage":"^2.30.1","typescript":"^5.9.3","typescript-eslint":"^8.67.0"},"dependencies":{"@types/unist":"^3.0.3","unist-util-is":"^6.0.1"},"typeCoverage":{"atLeast":100,"detail":true,"strict":true},"sideEffects":false,"_id":"unist-util-find-between@1.2.3","gitHead":"0eb8af49569c83071cc0607b094eeb1b0acf2609","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-hYC0ZwhbhILhk0LybBY5HUAtSimHPVW4SbizSnJ2yd7yFP3oSyLQG9Rx+xjuN25kurERTQATozxsam21qYRi0w==","shasum":"283c66e4762d3749362baed2b163251f2b7d430d","tarball":"https://registry.npmjs.org/unist-util-find-between/-/unist-util-find-between-1.2.3.tgz","fileCount":7,"unpackedSize":34737,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/unist-util-find-between@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCF/Ly1TjzZLbMrjbnb/Qa8Grhbv9CUFoFhDewF8HiJgQIhAM85uEAMLAUviLCPqYs2xwoUcA4tu4aeWdVMOTL4nJGL"}]},"_npmUser":{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"},"directories":{},"maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unist-util-find-between_1.2.3_1787085474714_0.46699674737326613"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-17T15:16:27.667Z","modified":"2026-08-18T20:37:55.252Z","1.2.0":"2026-04-17T15:16:27.974Z","1.2.1":"2026-04-17T16:53:40.200Z","1.2.2":"2026-05-27T05:38:44.220Z","1.2.3":"2026-08-18T20:37:54.887Z"},"bugs":{"url":"https://github.com/ipikuka/unist-util-find-between/issues"},"author":{"name":"ipikuka","email":"talatkuyuk@gmail.com"},"license":"MIT","homepage":"https://github.com/ipikuka/unist-util-find-between#readme","keywords":["unist","unist-util","util","utility","tree","node","find","between"],"repository":{"type":"git","url":"git+https://github.com/ipikuka/unist-util-find-between.git"},"description":"unist utility to find the nodes between two nodes","maintainers":[{"name":"talatkuyuk","email":"talatkuyuk@gmail.com"}],"readme":"# unist-util-find-between\n\n**A robust Next.js newsletter `Next.js Weekly` is sponsoring me** 💖\n[![NextjsWeekly banner](./assets/next-js-weekly.png)](https://nextjsweekly.com/)\n\n**An outstanding Git-based CMS `Outstatic` is also sponsoring me** 💖\n[![Outstatic banner](./assets/outstatic-banner-dark.jpg)](https://outstatic.com/?utm_source=github&utm_medium=readme&utm_campaign=next-mdx-remote-client)\n\nA warm thanks 🙌 to [@ErfanEbrahimnia](https://github.com/ErfanEbrahimnia), [@avitorio](https://github.com/avitorio), [@recepkyk](https://github.com/recepkyk), and [@LSeaburg](https://github.com/LSeaburg) for the [support](https://github.com/sponsors/ipikuka) 💖\n\n---\n\n[![npm version][badge-npm-version]][url-npm-package]\n[![npm downloads][badge-npm-download]][url-npm-package]\n[![publish to npm][badge-publish-to-npm]][url-publish-github-actions]\n[![code-coverage][badge-codecov]][url-codecov]\n[![type-coverage][badge-type-coverage]][url-github-package]\n[![typescript][badge-typescript]][url-typescript]\n[![license][badge-license]][url-license]\n\n**`unist-util-find-between`** is a [unist][unist] utility to find nodes between two nodes or indexes in a parent.\n\n## When should I use this?\n\nYou may need to use **`unist-util-find-between`** when you develop a unified plugin or unist utility while inspecting or traversing an abstract syntax tree (AST).\n\n## Install\n\nThis package is [ESM only][esm].\nIn Node.js (version 16+), install with [npm][]:\n\n```sh\nnpm install unist-util-find-between\n```\n\nIn Deno with [`esm.sh`][esmsh]:\n\n```js\nimport {findBetween} from 'https://esm.sh/unist-util-find-between@1'\n```\n\nIn browsers with [`esm.sh`][esmsh]:\n\n```html\n<script type=\"module\">\n  import {findBetween} from 'https://esm.sh/unist-util-find-between@1?bundle'\n</script>\n```\n\n## Use\n\n```js\nimport {u} from 'unist-builder'\nimport {findBetween, findBetweenIncluded} from 'unist-util-find-between'\n\nconst tree = u('tree', [\n  u('leaf', 'leaf 1'),\n  u('parent', [u('leaf', 'leaf 2'), u('leaf', 'leaf 3')]),\n  u('leaf', 'leaf 4'),\n  u('parent', [u('leaf', 'leaf 5')]),\n  u('leaf', 'leaf 6'),\n  u('empty'),\n  u('leaf', 'leaf 7')\n])\n\nconsole.log(findBetween(tree, 1, 4, 'leaf'))\n```\n\nYields:\n\n```js\n[\n  {type: 'leaf', value: 'leaf 4'},\n]\n```\n\n```js\nconsole.log(findBetweenIncluded(tree, 1, 4, 'leaf'))\n```\n\nYields:\n\n```js\n[\n  {type: 'leaf', value: 'leaf 4'},\n  {type: 'leaf', value: 'leaf 6'},\n]\n```\n\n## API\n\nThis package exports the identifiers [**`findBetween`**][api-findBetween] and [**`findBetweenIncluded`**][api-findBetweenIncluded]. There is no default export.\n\n### `findBetween`\n\n**`findBetween(parent, child|index, child|index[, test])`**\n\nFinds nodes in a `parent` between two `child`s or indexes, that pass `test`.\n\nStarting and ending nodes or indexes are **excluded**. Use `findBetweenIncluded` for including starting and ending nodes or indexes.\n\n### `findBetweenIncluded`\n\n**`findBetweenIncluded(parent, child|index, child|index[, test])`**\n\nFinds nodes in a `parent` between two `child`s or indexes, that pass `test`.\n\nStarting and ending nodes or indexes are **included**. Use `findBetween` for excluding starting and ending nodes or indexes.\n\n###### Parameters\n\n*   `parent` ([`Node`][node])\n    — parent node\n*   `index` (`number`)\n    — index of child in `parent`\n*   `child` ([`Node`][node])\n    — child in `parent`\n*   `test` ([`Test`][test])\n    — `unist-util-is`-compatible test\n\n###### Returns\n\nChildren of `parent` ([`Array<Node>`][node]).\n\n## Types\n\nThis package is fully typed with [TypeScript][url-typescript].\nIt exports no additional types (types for the test are in `unist-util-is`).\n\n## Compatibility\n\nThis plugin works with unified version 6+ and Node.js 16+.\n\n## Related\n\n*   [`unist-util-visit`](https://github.com/syntax-tree/unist-util-visit)\n    — walk the tree\n*   [`unist-util-visit-parents`](https://github.com/syntax-tree/unist-util-visit-parents)\n    — walk the tree with a stack of parents\n*   [`unist-util-filter`](https://github.com/syntax-tree/unist-util-filter)\n    — create a new tree with all nodes that pass a test\n*   [`unist-util-map`](https://github.com/syntax-tree/unist-util-map)\n    — create a new tree with all nodes mapped by a given function\n*   [`unist-util-flatmap`](https://gitlab.com/staltz/unist-util-flatmap)\n    — create a new tree by mapping (to an array) with the given function\n*   [`unist-util-find-after`](https://github.com/syntax-tree/unist-util-find-after)\n    — find a node after another node\n*   [`unist-util-find-before`](https://github.com/syntax-tree/unist-util-find-before)\n    — find a node before another node\n*   [`unist-util-find-all-after`](https://github.com/syntax-tree/unist-util-find-all-after)\n    — find all nodes after another node\n*   [`unist-util-find-all-before`](https://github.com/syntax-tree/unist-util-find-all-before)\n    — find all nodes before another node\n*   [`unist-util-remove`](https://github.com/syntax-tree/unist-util-remove)\n    — remove nodes from a tree that pass a test\n*   [`unist-util-select`](https://github.com/syntax-tree/unist-util-select)\n    — select nodes with CSS-like selectors\n\n## My Plugins\n\nI like to contribute the Unified / Remark / MDX ecosystem, so I recommend you to have a look my plugins.\n\n### Support My Work ([become a sponsor](https://github.com/sponsors/ipikuka) 🚀)\n\nIf you find **`unist-util-find-between`** or any of my projects is useful and helpful, please consider supporting my work. Your sponsorship means a lot to me and keeps these projects alive and updated! 💖\n\nMy sponsors are going to be featured at the very top of the page and proudly displayed on my [Sponsor Wall](https://github.com/sponsors/ipikuka).\n\nThank you for supporting open source! 🙌\n\n### My Remark Plugins\n\n- [`remark-flexible-code-titles`](https://www.npmjs.com/package/remark-flexible-code-titles)\n  – Remark plugin to add titles or/and containers for the code blocks with customizable properties\n- [`remark-flexible-containers`](https://www.npmjs.com/package/remark-flexible-containers)\n  – Remark plugin to add custom containers with customizable properties in markdown\n- [`remark-ins`](https://www.npmjs.com/package/remark-ins)\n  – Remark plugin to add `ins` element in markdown\n- [`remark-flexible-paragraphs`](https://www.npmjs.com/package/remark-flexible-paragraphs)\n  – Remark plugin to add custom paragraphs with customizable properties in markdown\n- [`remark-flexible-markers`](https://www.npmjs.com/package/remark-flexible-markers)\n  – Remark plugin to add custom `mark` element with customizable properties in markdown\n- [`remark-flexible-toc`](https://www.npmjs.com/package/remark-flexible-toc)\n  – Remark plugin to expose the table of contents via `vfile.data` or via an option reference\n- [`remark-mdx-remove-esm`](https://www.npmjs.com/package/remark-mdx-remove-esm)\n  – Remark plugin to remove import and/or export statements (mdxjsEsm)\n- [`remark-mdx-remove-expressions`](https://www.npmjs.com/package/remark-mdx-remove-expressions)\n  – Remark plugin to remove MDX expressions within curlybraces {} in MDX content\n\n### My Rehype Plugins\n\n- [`rehype-pre-language`](https://www.npmjs.com/package/rehype-pre-language)\n  – Rehype plugin to add language information as a property to `pre` element\n- [`rehype-highlight-code-lines`](https://www.npmjs.com/package/rehype-highlight-code-lines)\n  – Rehype plugin to add line numbers to code blocks and allow highlighting of desired code lines\n- [`rehype-code-meta`](https://www.npmjs.com/package/rehype-code-meta)\n  – Rehype plugin to copy `code.data.meta` to `code.properties.metastring`\n- [`rehype-image-toolkit`](https://www.npmjs.com/package/rehype-image-toolkit)\n  – Rehype plugin to enhance Markdown image syntax `![]()` and Markdown/MDX media elements (`<img>`, `<audio>`, `<video>`) by auto-linking bracketed or parenthesized image URLs, wrapping them in `<figure>` with optional captions, unwrapping images/videos/audio from paragraph, parsing directives in title for styling and adding attributes, and dynamically converting images into `<video>` or `<audio>` elements based on file extension.\n\n### My Recma Plugins\n\n- [`recma-mdx-escape-missing-components`](https://www.npmjs.com/package/recma-mdx-escape-missing-components)\n  – Recma plugin to set the default value `() => null` for the Components in MDX in case of missing or not provided so as not to throw an error\n- [`recma-mdx-change-props`](https://www.npmjs.com/package/recma-mdx-change-props)\n  – Recma plugin to change the `props` parameter into the `_props` in the `function _createMdxContent(props) {/* */}` in the compiled source in order to be able to use `{props.foo}` like expressions. It is useful for the `next-mdx-remote` or `next-mdx-remote-client` users in `nextjs` applications.\n- [`recma-mdx-change-imports`](https://www.npmjs.com/package/recma-mdx-change-imports)\n  – Recma plugin to convert import declarations for assets and media with relative links into variable declarations with string URLs, enabling direct asset URL resolution in compiled MDX.\n- [`recma-mdx-import-media`](https://www.npmjs.com/package/recma-mdx-import-media)\n  – Recma plugin to turn media relative paths into import declarations for both markdown and html syntax in MDX.\n- [`recma-mdx-import-react`](https://www.npmjs.com/package/recma-mdx-import-react)\n  – Recma plugin to ensure getting `React` instance from the arguments and to make the runtime props `{React, jsx, jsxs, jsxDev, Fragment}` is available in the dynamically imported components in the compiled source of MDX.\n- [`recma-mdx-html-override`](https://www.npmjs.com/package/recma-mdx-html-override)\n  – Recma plugin to allow selected raw HTML elements to be overridden via MDX components.\n- [`recma-mdx-interpolate`](https://www.npmjs.com/package/recma-mdx-interpolate)\n  – Recma plugin to enable interpolation of identifiers wrapped in curly braces within the `alt`, `src`, `href`, and `title` attributes of markdown link and image syntax in MDX.\n\n### My Unist Utils and Unified Plugins\n\nI also build low-level utilities and plugins for the Unified ecosystem that can be used across Remark, Rehype, Recma, and other unist-based abstract syntax trees (ASTs).\n\n- [`unist-util-find-between`](https://www.npmjs.com/package/unist-util-find-between)\n  – Unist utility to find the nodes between two nodes.\n- [`unified-log-tree`](https://www.npmjs.com/package/unified-log-tree)\n  – Unified plugin to log abstract syntax trees (ASTs) for debugging without mutating.\n\n## License\n\n[MIT License](./LICENSE) © ipikuka\n\n<!-- Definitions -->\n\n[npm]: https://docs.npmjs.com/cli/install\n[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c\n[esmsh]: https://esm.sh\n[unist]: https://github.com/syntax-tree/unist\n[node]: https://github.com/syntax-tree/unist#node\n[test]: https://github.com/syntax-tree/unist-util-is#test\n[api-findBetween]: #findBetween\n[api-findBetweenIncluded]: #findBetweenIncluded\n\n[badge-npm-version]: https://img.shields.io/npm/v/unist-util-find-between\n[badge-npm-download]:https://img.shields.io/npm/dt/unist-util-find-between\n[url-npm-package]: https://www.npmjs.com/package/unist-util-find-between\n[url-github-package]: https://github.com/ipikuka/unist-util-find-between\n\n[badge-license]: https://img.shields.io/github/license/ipikuka/unist-util-find-between\n[url-license]: https://github.com/ipikuka/unist-util-find-between/blob/main/LICENSE\n\n[badge-publish-to-npm]: https://github.com/ipikuka/unist-util-find-between/actions/workflows/publish.yml/badge.svg\n[url-publish-github-actions]: https://github.com/ipikuka/unist-util-find-between/actions/workflows/publish.yml\n\n[badge-typescript]: https://img.shields.io/npm/types/unist-util-find-between\n[url-typescript]: https://www.typescriptlang.org/\n\n[badge-codecov]: https://codecov.io/gh/ipikuka/unist-util-find-between/graph/badge.svg?token=VC69ZAXWC0\n[url-codecov]: https://codecov.io/gh/ipikuka/unist-util-find-between\n\n[badge-type-coverage]: https://img.shields.io/badge/dynamic/json.svg?label=type-coverage&prefix=%E2%89%A5&suffix=%&query=$.typeCoverage.atLeast&uri=https%3A%2F%2Fraw.githubusercontent.com%2Fipikuka%2Funist-util-find-between%2Fmaster%2Fpackage.json\n","readmeFilename":"readme.md"}