unified

Explore/Projects

All projects

  1. mdx-js/mdx

    Markdown for the component era
    1. 90%
    2. 54m
    3. 18k
  2. remarkjs/remark

    markdown processor powered by plugins part of the @unifiedjs collective
    1. 88%
    2. 67m
    3. 7.8k
  3. unifiedjs/unified

    ☔️ interface for parsing, inspecting, transforming, and serializing content through syntax trees
    1. 88%
    2. 47m
    3. 4.5k
  4. vfile/vfile

    Virtual file format for text processing used in @unifiedjs
    1. 85%
    2. 49m
    3. 477
  5. syntax-tree/unist-util-visit

    utility to visit nodes
    1. 85%
    2. 65m
    3. 282
  6. remarkjs/react-markdown

    Markdown component for React
    1. 84%
    2. 13m
    3. 13k
  7. syntax-tree/unist-util-visit-parents

    utility to recursively walk over unist nodes, with ancestral information
    1. 83%
    2. 68m
    3. 68
  8. syntax-tree/unist-util-is

    utility to check if a node passes a test
    1. 83%
    2. 68m
    3. 38
  9. syntax-tree/mdast-util-to-hast

    utility to transform mdast to hast
    1. 82%
    2. 29m
    3. 105
  10. syntax-tree/hastscript

    utility to create hast trees
    1. 82%
    2. 24m
    3. 165
  11. syntax-tree/unist-util-stringify-position

    utility to serialize a node, position, or point as a human readable location
    1. 82%
    2. 58m
    3. 6
  12. syntax-tree/mdast-util-to-string

    utility to get the plain text content of an mdast node
    1. 82%
    2. 54m
    3. 39
  13. vfile/vfile-message

    utility to create a vfile message
    1. 82%
    2. 51m
    3. 10
  14. syntax-tree/unist-builder

    utility to create a new trees with a nice syntax
    1. 82%
    2. 11m
    3. 77
  15. vfile/vfile-location

    utility to convert between positional (line and column-based) and offset (range-based) locations
    1. 81%
    2. 21m
    3. 13
  16. syntax-tree/unist-util-remove-position

    utility to remove positions from a tree
    1. 81%
    2. 20m
    3. 12
  17. micromark/micromark

    small, safe, and great commonmark (optionally gfm) compliant markdown parser
    1. 81%
    2. 517m
    3. 1.8k
  18. syntax-tree/unist-util-position

    utility to get the position of a node
    1. 81%
    2. 30m
    3. 8
  19. syntax-tree/unist-util-generated

    utility to check if a node is generated
    1. 81%
    2. 17m
    3. 4
  20. syntax-tree/hast-util-parse-selector

    utility to create an element from a simple CSS selector
    1. 81%
    2. 23m
    3. 13
  21. syntax-tree/hast-util-from-parse5

    utility to transform Parse5’s AST to hast
    1. 81%
    2. 16m
    3. 16
  22. syntax-tree/mdast-util-definitions

    utility to find definition nodes in an mdast tree
    1. 80%
    2. 24m
    3. 11
  23. syntax-tree/mdast-util-from-markdown

    mdast utility to parse markdown
    1. 80%
    2. 40m
    3. 217
  24. syntax-tree/unist-util-remove

    utility to remove nodes from a tree
    1. 80%
    2. 7.3m
    3. 22
  25. syntax-tree/hast-util-raw

    utility to reparse a hast tree
    1. 80%
    2. 14m
    3. 11
  26. syntax-tree/hast-util-to-parse5

    utility to transform hast to Parse5’s AST
    1. 80%
    2. 14m
    3. 2
  27. syntax-tree/mdast-squeeze-paragraphs

    utility to remove empty paragraphs from an mdast tree
    1. 80%
    2. 5.5m
    3. 6
  28. remarkjs/remark-squeeze-paragraphs

    plugin to remove empty (or white-space only) paragraphs
    1. 79%
    2. 5.6m
    3. 10
  29. syntax-tree/mdast-util-to-markdown

    mdast utility to serialize markdown
    1. 78%
    2. 31m
    3. 102
  30. remarkjs/remark-rehype

    plugin that turns markdown into HTML to support rehype
    1. 78%
    2. 20m
    3. 275
  31. remarkjs/remark-gfm

    remark plugin to support GFM (autolink literals, footnotes, strikethrough, tables, tasklists)
    1. 77%
    2. 17m
    3. 773
  32. syntax-tree/hast-util-whitespace

    utility to check if a node is inter-element whitespace
    1. 77%
    2. 22m
    3. 4
  33. syntax-tree/mdast-util-find-and-replace

    mdast utility to find and replace text in a tree
    1. 76%
    2. 18m
    3. 11
  34. syntax-tree/mdast-util-gfm

    mdast extension to parse and serialize GFM (GitHub Flavored Markdown)
    1. 76%
    2. 17m
    3. 19
  35. syntax-tree/mdast-util-gfm-table

    mdast extension to parse and serialize GFM tables
    1. 76%
    2. 18m
    3. 13
  36. rehypejs/rehype

    HTML processor powered by plugins part of the @unifiedjs collective
    1. 75%
    2. 11m
    3. 1.8k
  37. syntax-tree/mdast-util-gfm-autolink-literal

    mdast extension to parse and serialize GFM autolink literals
    1. 75%
    2. 17m
    3. 12
  38. syntax-tree/mdast-util-gfm-strikethrough

    mdast extension to parse and serialize GFM strikethrough
    1. 75%
    2. 17m
    3. 5
  39. syntax-tree/hast-util-to-html

    utility to serialize hast to HTML
    1. 75%
    2. 7.8m
    3. 93
  40. syntax-tree/mdast-util-gfm-task-list-item

    mdast extension to parse and serialize GFM task list items
    1. 75%
    2. 17m
    3. 5
  41. micromark/micromark-extension-gfm

    micromark extension to support GFM (GitHub Flavored Markdown)
    1. 75%
    2. 17m
    3. 31
  42. syntax-tree/hast-util-is-element

    utility to check if a node is a (certain) element
    1. 75%
    2. 13m
    3. 12
  43. remarkjs/remark-frontmatter

    remark plugin to support frontmatter (YAML, TOML, and more)
    1. 75%
    2. 6m
    3. 266
  44. micromark/micromark-extension-gfm-strikethrough

    micromark extension to support GFM strikethrough
    1. 75%
    2. 17m
    3. 3
  45. syntax-tree/unist-util-find-all-after

    utility to find nodes after another node
    1. 75%
    2. 4.1m
    3. 6
  46. micromark/micromark-extension-gfm-autolink-literal

    micromark extension to support GFM autolink literals
    1. 74%
    2. 17m
    3. 7
  47. micromark/micromark-extension-gfm-table

    micromark extension to support GFM tables
    1. 74%
    2. 18m
    3. 7
  48. micromark/micromark-extension-gfm-task-list-item

    micromark extension to support GFM task list items
    1. 74%
    2. 17m
    3. 6
  49. syntax-tree/estree-util-is-identifier-name

    Check if something can be an ecmascript (javascript) identifier name
    1. 74%
    2. 15m
    3. 3
  50. retextjs/retext

    natural language processor powered by plugins part of the @unifiedjs collective
    1. 74%
    2. 5.6m
    3. 2.4k
  51. micromark/micromark-extension-gfm-tagfilter

    micromark extension to support GFM tagfilter
    1. 74%
    2. 17m
    3. 3
  52. syntax-tree/hast-util-sanitize

    utility to sanitize hast nodes
    1. 74%
    2. 2.6m
    3. 50
  53. rehypejs/rehype-minify

    plugins to minify HTML
    1. 74%
    2. 15m
    3. 90
  54. syntax-tree/estree-util-visit

    esast (and estree) utility to visit nodes
    1. 74%
    2. 7.7m
    3. 4
  55. rehypejs/rehype-raw

    plugin to parse the tree again
    1. 74%
    2. 6.7m
    3. 144
  56. remarkjs/remark-lint

    plugins to check (lint) markdown code style
    1. 74%
    2. 30m
    3. 950
  57. syntax-tree/mdast-util-mdx-jsx

    mdast extension to parse and serialize MDX JSX
    1. 74%
    2. 13m
    3. 25
  58. syntax-tree/mdast-util-compact

    utility to make an mdast tree compact
    1. 74%
    2. 2.8m
    3. 7
  59. syntax-tree/mdast-util-mdx

    mdast extension to parse and serialize MDX (or MDX.js)
    1. 73%
    2. 7.5m
    3. 22
  60. syntax-tree/unist-util-position-from-estree

    unist utility to get a position from an estree node
    1. 73%
    2. 7.6m
    3. 0
  61. syntax-tree/mdast-util-mdxjs-esm

    mdast extension to parse and serialize MDX.js ESM (import/exports)
    1. 73%
    2. 13m
    3. 8
  62. syntax-tree/mdast-util-mdx-expression

    mdast extension to parse and serialize MDX or MDX.js expressions
    1. 73%
    2. 13m
    3. 4
  63. syntax-tree/mdast-util-frontmatter

    mdast extensions to parse and serialize frontmatter (YAML, TOML, etc)
    1. 73%
    2. 5.5m
    3. 15
  64. syntax-tree/mdast-util-gfm-footnote

    mdast extension to parse and serialize GFM footnotes
    1. 73%
    2. 14m
    3. 5
  65. syntax-tree/hast-util-has-property

    utility to check if a node has a property
    1. 73%
    2. 3m
    3. 1
  66. syntax-tree/nlcst-to-string

    utility to transform an nlcst tree to a string
    1. 73%
    2. 2.5m
    3. 18
  67. syntax-tree/hast-util-to-text

    utility to get the plain-text value of a node according to the innerText algorithm
    1. 73%
    2. 3.7m
    3. 19
  68. syntax-tree/unist-util-find-after

    unist utility to find a node after another node
    1. 73%
    2. 3.8m
    3. 7
  69. micromark/micromark-extension-mdxjs-esm

    micromark extension to support MDX JS import/exports
    1. 73%
    2. 7.7m
    3. 14
  70. vfile/to-vfile

    utility to create a vfile from a filepath
    1. 73%
    2. 1.3m
    3. 64
  71. micromark/micromark-extension-mdxjs

    micromark extension to support MDX.js
    1. 72%
    2. 7.5m
    3. 8
  72. micromark/micromark-extension-mdx-jsx

    micromark extension to support MDX or MDX.js JSX
    1. 72%
    2. 7.9m
    3. 9
  73. micromark/micromark-extension-frontmatter

    micromark extension to support frontmatter (YAML, TOML, etc)
    1. 72%
    2. 5.5m
    3. 20
  74. micromark/micromark-extension-gfm-footnote

    micromark extension to support GFM footnotes
    1. 72%
    2. 14m
    3. 7
  75. rehypejs/rehype-slug

    plugin to add id attributes to headings
    1. 72%
    2. 8.4m
    3. 202
  76. micromark/micromark-extension-mdx-md

    micromark extension to turn some markdown features off for MDX
    1. 72%
    2. 7.5m
    3. 1
  77. syntax-tree/unist-util-modify-children

    utility to modify direct children of a parent
    1. 72%
    2. 2.3m
    3. 11
  78. syntax-tree/estree-util-attach-comments

    utility to attach comments to estree nodes
    1. 72%
    2. 6.2m
    3. 7
  79. syntax-tree/hast-util-heading-rank

    utility to get the rank (or depth, level) of headings
    1. 72%
    2. 8.7m
    3. 7
  80. rehypejs/rehype-react

    plugin to transform to preact, react, vue, etc
    1. 72%
    2. 515k
    3. 398
  81. syntax-tree/estree-util-build-jsx

    Transform JSX in estrees to function calls (for react, preact, and most hyperscript interfaces)
    1. 72%
    2. 6m
    3. 22
  82. rehypejs/rehype-autolink-headings

    plugin to add links to headings in HTML
    1. 72%
    2. 1.2m
    3. 217
  83. syntax-tree/hast-util-select

    utility to add querySelector, querySelectorAll, and matches support for hast
    1. 72%
    2. 1.5m
    3. 38
  84. vfile/vfile-sort

    utility to sort messages by line/column
    1. 72%
    2. 2.3m
    3. 5
  85. remarkjs/remark-toc

    plugin to generate a table of contents (TOC)
    1. 72%
    2. 663k
    3. 424
  86. vfile/vfile-statistics

    utility to count messages per category: failures, warnings, etc
    1. 72%
    2. 2.3m
    3. 6
  87. syntax-tree/mdast-util-toc

    utility to generate a table of contents from an mdast tree
    1. 72%
    2. 1.1m
    3. 83
  88. syntax-tree/unist-util-select

    utility to select unist nodes with CSS-like selectors
    1. 72%
    2. 734k
    3. 62
  89. syntax-tree/hast-util-to-estree

    hast utility to transform to estree (JavaScript AST) JSX
    1. 72%
    2. 6.2m
    3. 20
  90. syntax-tree/unist-util-visit-children

    unist utility to visit direct children of a parent
    1. 72%
    2. 2.1m
    3. 8
  91. syntax-tree/unist-util-inspect

    utility to inspect nodes
    1. 72%
    2. 1.8m
    3. 27
  92. micromark/micromark-extension-mdx-expression

    micromark extension to support MDX or MDX JS expressions
    1. 72%
    2. 23m
    3. 11
  93. remarkjs/remark-html

    plugin to add support for serializing HTML
    1. 71%
    2. 1.1m
    3. 321
  94. vfile/vfile-reporter

    utility to create a report for a vfile
    1. 71%
    2. 2.4m
    3. 36
  95. syntax-tree/unist-util-map

    utility to create a new tree by mapping all nodes
    1. 71%
    2. 418k
    3. 35
  96. syntax-tree/mdast-comment-marker

    utility to parse a comment marker in mdast
    1. 71%
    2. 966k
    3. 9
  97. remarkjs/remark-github

    remark plugin to link references to commits, issues, pull-requests, and users, like on GitHub
    1. 71%
    2. 661k
    3. 180
  98. unifiedjs/unified-engine

    Engine to process multiple files with unified
    1. 71%
    2. 1.7m
    3. 56
  99. syntax-tree/unist-util-filter

    utility to create a new tree with nodes that pass a filter
    1. 71%
    2. 1.5m
    3. 18
  100. remarkjs/remark-breaks

    plugin to add break support, without needing spaces
    1. 71%
    2. 1.1m
    3. 123
  101. rehypejs/rehype-sanitize

    plugin to sanitize HTML
    1. 71%
    2. 1.2m
    3. 149
  102. syntax-tree/mdast-util-heading-style

    utility to get the style of an mdast heading
    1. 71%
    2. 657k
    3. 5
  103. syntax-tree/mdast-util-to-nlcst

    utility to transform mdast to nlcst
    1. 71%
    2. 441k
    3. 9
  104. remarkjs/remark-math

    remark and rehype plugins to support math
    1. 70%
    2. 3.5m
    3. 390
  105. remarkjs/remark-message-control

    plugin to enable, disable, and ignore messages
    1. 70%
    2. 954k
    3. 8
  106. syntax-tree/hast-util-to-mdast

    utility to transform hast (HTML) to mdast (markdown)
    1. 70%
    2. 443k
    3. 38
  107. unifiedjs/unified-args

    Create CLIs for unified processors
    1. 70%
    2. 801k
    3. 32
  108. syntax-tree/hast-util-from-dom

    utility to transform a DOM tree to hast
    1. 70%
    2. 1.6m
    3. 22
  109. unifiedjs/unified-message-control

    plugin to enable, disable, and ignore messages
    1. 70%
    2. 945k
    3. 7
  110. remarkjs/remark-retext

    plugin to transform from remark (Markdown) to retext (natural language)
    1. 70%
    2. 440k
    3. 28
  111. vfile/vfile-find-up

    utility to find one or more files by searching the file system upwards
    1. 70%
    2. 109k
    3. 6
  112. vfile/vfile-matter

    utility to parse the YAML front matter in a vfile
    1. 70%
    2. 867k
    3. 29
  113. syntax-tree/hast-util-phrasing

    utility to check if a node is phrasing content
    1. 70%
    2. 890k
    3. 0
  114. retextjs/retext-equality

    plugin to check for possible insensitive, inconsiderate language
    1. 70%
    2. 76k
    3. 159
  115. retextjs/retext-smartypants

    plugin to implement SmartyPants
    1. 70%
    2. 1.7m
    3. 54
  116. syntax-tree/nlcst-search

    utility to search for patterns in an nlcst tree
    1. 70%
    2. 92k
    3. 16
  117. syntax-tree/nlcst-is-literal

    utility to check whether an nlcst node is meant literally
    1. 70%
    2. 149k
    3. 9
  118. syntax-tree/mdast-util-math

    mdast extension to parse and serialize math
    1. 69%
    2. 1.9m
    3. 16
  119. syntax-tree/mdast-util-heading-range

    utility to use headings as ranges in mdast
    1. 69%
    2. 51k
    3. 10
  120. syntax-tree/nlcst-normalize

    utility to normalize an nlcst word for easier comparison
    1. 69%
    2. 99k
    3. 7
  121. syntax-tree/hast-util-embedded

    utility to check if a node is an embedded element
    1. 69%
    2. 1.2m
    3. 3
  122. syntax-tree/mdast-util-phrasing

    utility to check if an mdast node is phrasing content
    1. 69%
    2. 23m
    3. 1
  123. retextjs/retext-keywords

    plugin to extract keywords and key-phrases
    1. 69%
    2. 5.4k
    3. 330
  124. remarkjs/strip-markdown

    plugin remove markdown formatting
    1. 69%
    2. 322k
    3. 139
  125. rhysd/remark-emoji

    Remark markdown transformer to replace :emoji: in text
    1. 69%
    2. 1.7m
    3. 128
  126. JS-DevTools/rehype-toc

    A rehype plugin that adds a table of contents (TOC) to the page
    1. 69%
    2. 43k
    3. 72
  127. rehypejs/rehype-remark

    plugin to transform from HTML (rehype) to Markdown (remark)
    1. 69%
    2. 355k
    3. 82
  128. remarkjs/remark-directive

    remark plugin to support directives
    1. 69%
    2. 1.6m
    3. 276
  129. syntax-tree/mdast-zone

    utility to treat HTML comments as ranges or markers in mdast
    1. 69%
    2. 14k
    3. 15
  130. remarkjs/remark-reference-links

    plugin to change links and images to references with separate definitions
    1. 69%
    2. 318k
    3. 26
  131. remarkjs/remark-validate-links

    plugin to check that markdown links and images reference existing files and headings
    1. 69%
    2. 242k
    3. 111
  132. JS-DevTools/rehype-url-inspector

    A rehype plugin to inspect, validate, or rewrite URLs anywhere in an HTML document
    1. 68%
    2. 11k
    3. 21
  133. retextjs/retext-profanities

    plugin to check for profane and vulgar wording
    1. 68%
    2. 75k
    3. 44
  134. retextjs/retext-indefinite-article

    plugin to check if indefinite articles (a and an) are used correctly
    1. 68%
    2. 70k
    3. 20
  135. retextjs/retext-repeated-words

    plugin to check for for repeated words
    1. 68%
    2. 72k
    3. 13
  136. syntax-tree/hast-util-to-nlcst

    utility to transform hast to nlcst
    1. 68%
    2. 91k
    3. 4
  137. remarkjs/remark-contributors

    plugin to generate a list of contributors
    1. 68%
    2. 4.7k
    3. 23
  138. syntax-tree/unist-util-index

    utility to index property values or computed keys to nodes
    1. 68%
    2. 3.1k
    3. 9
  139. retextjs/retext-spell

    plugin to check spelling
    1. 68%
    2. 64k
    3. 73
  140. micromark/micromark-extension-directive

    micromark extension to support generic directives (:cite[smith04])
    1. 68%
    2. 1.9m
    3. 31
  141. syntax-tree/unist-util-source

    utility to get the source of a node or position
    1. 68%
    2. 46k
    3. 6
  142. rehypejs/rehype-external-links

    rehype plugin to add rel (and target) to external links
    1. 68%
    2. 7.5m
    3. 95
  143. unifiedjs/unified-diff

    plugin to ignore unrelated CI messages
    1. 68%
    2. 65k
    3. 18
  144. jaywcjlove/rehype-attr

    New syntax to add attributes to Markdown.
    1. 68%
    2. 464k
    3. 31
  145. syntax-tree/hast-util-heading

    utility to check if a node is heading content
    1. 68%
    2. 22k
    3. 6
  146. remarkjs/remark-usage

    plugin to add a usage example to your readme
    1. 68%
    2. 19k
    3. 43
  147. retextjs/retext-quotes

    plugin to check quotes and apostrophes
    1. 68%
    2. 18k
    3. 11
  148. syntax-tree/mdast-util-directive

    mdast extension to parse and serialize generic directives (:cite[smith04])
    1. 68%
    2. 2.1m
    3. 14
  149. syntax-tree/hast-util-find-and-replace

    utility to find and replace text in a hast tree
    1. 68%
    2. 260k
    3. 6
  150. remarkjs/remark-comment-config

    plugin to configure remark with comments
    1. 68%
    2. 16k
    3. 14
  151. retextjs/retext-sentence-spacing

    plugin to check spacing between sentences
    1. 68%
    2. 15k
    3. 10
  152. syntax-tree/hast-util-to-dom

    utility to transform hast to a DOM tree
    1. 68%
    2. 13k
    3. 19
  153. jaywcjlove/rehype-rewrite

    Rewrite element with rehype.
    1. 68%
    2. 521k
    3. 21
  154. retextjs/retext-readability

    plugin to check readability
    1. 68%
    2. 5.7k
    3. 94
  155. remarkjs/remark-yaml-config

    plugin to configure remark with YAML frontmatter
    1. 68%
    2. 137k
    3. 8
  156. retextjs/retext-redundant-acronyms

    plugin to check for redundant acronyms (such as ATM machine to ATM)
    1. 68%
    2. 16k
    3. 5
  157. retextjs/retext-diacritics

    plugin to check for proper use of diacritics
    1. 68%
    2. 15k
    3. 6
  158. retextjs/retext-contractions

    plugin to check apostrophes in elided contractions
    1. 68%
    2. 15k
    3. 8
  159. syntax-tree/unist-util-parents

    unist utility to add references to parents on nodes in a tree
    1. 67%
    2. 8.4k
    3. 5
  160. remarkjs/remark-gemoji

    plugin to turn gemoji shortcodes into emoji 👍
    1. 67%
    2. 92k
    3. 44
  161. syntax-tree/mdast-normalize-headings

    utility to make sure there is no more than a single top-level heading in the document
    1. 67%
    2. 11k
    3. 6
  162. vfile/vfile-reporter-pretty

    utility to create a pretty report for a vfile
    1. 67%
    2. 2.6k
    3. 20
  163. vfile/vfile-find-down

    utility to find one or more files by searching the file system downwards
    1. 67%
    2. 23k
    3. 3
  164. rehypejs/rehype-retext

    plugin to transform from HTML (rehype) to prose (retext)
    1. 67%
    2. 91k
    3. 17
  165. remark-embedder/transformer-oembed

    @remark-embedder transformer for oEmbed supported links
    1. 67%
    2. 6.3k
    3. 35
  166. micromark/micromark-extension-mdx

    micromark extension to support MDX (agnostic to JavaScript)
    1. 67%
    2. 76k
    3. 6
  167. syntax-tree/hast-util-reading-time

    utility to estimate the reading time
    1. 67%
    2. 5.2k
    3. 56
  168. rehypejs/rehype-document

    plugin to wrap a fragment in a document
    1. 67%
    2. 40k
    3. 33
  169. retextjs/retext-simplify

    plugin to check phrases for simpler alternatives
    1. 67%
    2. 6k
    3. 94
  170. remarkjs/remark-textr

    plugin to make your typography better with Textr
    1. 67%
    2. 152k
    3. 35
  171. syntax-tree/nlcst-emoticon-modifier

    utility to support emoticons in nlcst
    1. 67%
    2. 73k
    3. 2
  172. remarkjs/remark-images

    plugin to add a simpler image syntax
    1. 67%
    2. 37k
    3. 37
  173. syntax-tree/nlcst-affix-emoticon-modifier

    utility to merge affix emoticons into the previous sentence in nlcst
    1. 67%
    2. 73k
    3. 1
  174. syntax-tree/unist-util-find-before

    utility to find a node before another node
    1. 67%
    2. 24k
    3. 4
  175. remarkjs/remark-man

    plugin to compile markdown to man pages
    1. 67%
    2. 7.1k
    3. 95
  176. imcuttle/remark-heading-id

    The remark plugin for supporting custom heading id
    1. 67%
    2. 69k
    3. 33
  177. mrzmmr/remark-code-blocks

    Remark plugin for selecting and storing code blocks from markdown.
    1. 67%
    2. 7k
    3. 16
  178. vfile/vfile-to-eslint

    utility to convert to ESLint formatter compatible output
    1. 67%
    2. 2.6k
    3. 17
  179. syntax-tree/nlcst-emoji-modifier

    utility to support emoji in nlcst
    1. 67%
    2. 73k
    3. 2
  180. remarkjs/remark-heading-gap

    plugin to adjust the gap between headings in markdown
    1. 67%
    2. 5.4k
    3. 6
  181. retextjs/retext-emoji

    plugin to support emoji, gemoji, and emoticons
    1. 67%
    2. 73k
    3. 34
  182. retextjs/retext-pos

    plugin to add part-of-speech (POS) tags
    1. 67%
    2. 5k
    3. 21
  183. syntax-tree/unist-util-find-all-before

    utility to find nodes before another node
    1. 67%
    2. 48k
    3. 5
  184. vfile/vfile-reporter-json

    utility to create a JSON report for a vfile
    1. 67%
    2. 8.5k
    3. 6
  185. syntax-tree/unist-util-assert

    utility to assert nodes
    1. 67%
    2. 5k
    3. 4
  186. syntax-tree/xastscript

    utility to create xast trees
    1. 67%
    2. 7k
    3. 12
  187. syntax-tree/xast-util-from-xml

    utility to parse from XML
    1. 67%
    2. 8k
    3. 16
  188. syntax-tree/hast-util-from-selector

    utility to parse CSS selectors to hast nodes
    1. 67%
    2. 7.3k
    3. 2
  189. remark-embedder/core

    🔗 Remark plugin to convert URLs to embed code in markdown.
    1. 67%
    2. 9.2k
    3. 118
  190. remark-embedder/cache

    A cache for @remark-embedder
    1. 67%
    2. 103
    3. 12
  191. syntax-tree/xast-util-to-xml

    utility to serialize to XML
    1. 67%
    2. 12k
    3. 3
  192. remarkjs/remark-defsplit

    plugin to change links and images to references with separate definitions
    1. 67%
    2. 2.3k
    3. 21
  193. syntax-tree/mdast-util-assert

    utility to assert mdast trees
    1. 67%
    2. 3.9k
    3. 0
  194. mrzmmr/remark-variables

    Variables support for remark
    1. 67%
    2. 1.4k
    3. 12
  195. remarkjs/remark-inline-links

    plugin to change references and definitions into normal links and images
    1. 67%
    2. 45k
    3. 25
  196. remarkjs/remark-embed-images

    plugin to embed local images as data URIs
    1. 67%
    2. 28k
    3. 34
  197. syntax-tree/hast-util-to-xast

    utility to transform to xast (xml)
    1. 67%
    2. 2.7k
    3. 4
  198. vfile/vfile-rename

    utility to rename the path parts of a vfile
    1. 67%
    2. 2.1k
    3. 3
  199. micromark/micromark-extension-math

    micromark extension to support math ($C_L$)
    1. 67%
    2. 2m
    3. 15
  200. syntax-tree/xast-util-feed

    xast utility to build feeds (rss, atom)
    1. 67%
    2. 2.4k
    3. 10
  201. retextjs/retext-syntax-urls

    plugin to classify url-like values as syntax, not natural language
    1. 67%
    2. 61k
    3. 9
  202. retextjs/retext-syntax-mentions

    plugin to classify @mentions as syntax, not natural language
    1. 66%
    2. 57k
    3. 10
  203. syntax-tree/unist-util-size

    utility to calculate the number of nodes in a tree
    1. 66%
    2. 154
    3. 1
  204. unifiedjs/unified-language-server

    Language server for content, using @unifiedjs
    1. 66%
    2. 1.4k
    3. 77
  205. remarkjs/remark-normalize-headings

    plugin to make sure there is a single top level heading in a document by adjusting heading ranks accordingly
    1. 66%
    2. 9.3k
    3. 11
  206. syntax-tree/xast-util-sitemap

    xast utility to build a sitemap
    1. 66%
    2. 312
    3. 5
  207. remcohaszing/remark-mdx-frontmatter

    A remark plugin for converting frontmatter metadata into MDX exports
    1. 66%
    2. 2m
    3. 102
  208. retextjs/retext-passive

    plugin to check for passive voice
    1. 66%
    2. 2.2k
    3. 15
  209. remarkjs/remark-git-contributors

    plugin to generate a list of Git contributors
    1. 66%
    2. 322
    3. 13
  210. syntax-tree/xast-util-to-string

    xast utility to get the text value of a node
    1. 66%
    2. 3k
    3. 4
  211. timlrx/rehype-prism-plus

    rehype plugin to highlight code blocks in HTML with Prism (via refractor) with line highlighting and line numbers
    1. 66%
    2. 705k
    3. 179
  212. remarkjs/remark-license

    plugin to generate a license section
    1. 66%
    2. 3.5k
    3. 19
  213. syntax-tree/esast-util-from-estree

    esast utility to transform from estree
    1. 66%
    2. 1.4m
    3. 1
  214. retextjs/retext-intensify

    plugin to check for weak and mitigating wording
    1. 66%
    2. 709
    3. 18
  215. syntax-tree/hast-util-transparent

    utility to check if a node is a transparent element
    1. 66%
    2. 41
    3. 1
  216. syntax-tree/nlcst-test

    utility to check assert an nlcst node
    1. 66%
    2. 73
    3. 2
  217. syntax-tree/hast-util-sectioning

    utility to check if a node is a sectioning element
    1. 66%
    2. 18
    3. 2
  218. syntax-tree/hast-util-assert

    utility to assert hast nodes
    1. 66%
    2. 77
    3. 1
  219. syntax-tree/hast-util-labelable

    utility to check whether a node is labelable
    1. 66%
    2. 12
    3. 2
  220. remark-embedder/transformer-codesandbox

    @remark-embedder transformer for CodeSandbox links
    1. 66%
    2. 90
    3. 2
  221. syntax-tree/hast-util-classnames

    utility to merge class names together
    1. 66%
    2. 225k
    3. 2
  222. syntax-tree/hast-util-from-text

    utility to set the plain-text value of a node according to the innerText algorithm
    1. 66%
    2. 595
    3. 2
  223. remarkjs/remark-strip-badges

    plugin to strip badges (such as shields.io)
    1. 66%
    2. 4.9k
    3. 9
  224. martypdx/rehype-add-classes

    Add classes to HAST html by selector
    1. 66%
    2. 42k
    3. 18
  225. syntax-tree/hast-util-shift-heading

    utility to change heading rank (or depth, level) in hast
    1. 66%
    2. 3.5k
    3. 2
  226. syntax-tree/hast-util-script-supporting

    utility to check if a node is a script-supporting element
    1. 66%
    2. 35
    3. 0
  227. landakram/remark-wiki-link

    Parse and render wiki links.
    1. 66%
    2. 27k
    3. 90
  228. vfile/vfile-is

    utility to check if a vfile passes a test
    1. 66%
    2. 1.1k
    3. 3
  229. pustovitDmytro/remark-telegraph

    remark plugin to translate markdown into Telegra.ph Nodes
    1. 66%
    2. 1.6k
    3. 5
  230. unifiedjs/unified-stream

    Streaming interface for unified processors
    1. 66%
    2. 4.6k
    3. 17
  231. unifiedjs/unified-engine-gulp

    Engine to create Gulp plugins for unified
    1. 66%
    2. 263
    3. 7
  232. remarkjs/remark-unlink

    plugin to remove all links, images, references, and definitions
    1. 66%
    2. 18k
    3. 6
  233. rehypejs/rehype-meta

    plugin to add metadata to the head of a document
    1. 66%
    2. 1.7k
    3. 33
  234. remarkjs/react-remark

    React component and hook to use remark to render markdown
    1. 66%
    2. 82k
    3. 211
  235. rehypejs/rehype-picture

    plugin to wrap images in pictures
    1. 65%
    2. 501
    3. 12
  236. vweevers/remark-autolink-references

    A remark plugin to autolink custom references.
    1. 65%
    2. 1.2k
    3. 4
  237. rehypejs/rehype-infer-reading-time-meta

    rehype plugin to infer reading time as file metadata from the document
    1. 65%
    2. 5k
    3. 11
  238. remarkjs/remark-bookmarks

    plugin to manage links
    1. 65%
    2. 21
    3. 15
  239. gorango/unist-util-ancestor

    Unist util for finding the closest common ancestor for multiple nodes
    1. 65%
    2. 69
    3. 4
  240. rehypejs/rehype-shift-heading

    plugin to change the rank (depth, level) of headings
    1. 65%
    2. 3.4k
    3. 2
  241. gorango/rehype-extract-meta

    Extract meta data from an HTML document
    1. 65%
    2. 249
    3. 3
  242. rehypejs/rehype-infer-description-meta

    rehype plugin to infer file metadata from the contents of the document
    1. 65%
    2. 52k
    3. 11
  243. rehypejs/rehype-infer-title-meta

    plugin to infer file metadata from the main title of a document
    1. 65%
    2. 325
    3. 5
  244. rehypejs/rehype-dom

    HTML processor to parse and compile with browser APIs, powered by plugins
    1. 65%
    2. 25k
    3. 26
  245. jaywcjlove/rehype-video

    Add improved video syntax: links to .mp4 and .mov turn into videos.
    1. 65%
    2. 42k
    3. 9
  246. syntax-tree/hast-util-interactive

    utility to check if a node is interactive
    1. 65%
    2. 8.8k
    3. 0
  247. form8ion/remark-remove-greenkeeper-badge

    remark plugin for removing a greenkeeper badge
    1. 65%
    2. 1.2k
    3. 1
  248. mrzmmr/rehype-wrap

    wrap selected elements with a given element
    1. 65%
    2. 5.8k
    3. 8
  249. form8ion/remark-remove-travis-ci-badge

    remark plugin for removing a Travis CI badge
    1. 65%
    2. 1.3k
    3. 0
  250. unifiedjs/unified-infer-git-meta

    unified plugin to infer some meta from Git
    1. 65%
    2. 9
    3. 6
  251. luk707/rehype-truncate

    Truncate HTML while preserving its structure
    1. 65%
    2. 7.5k
    3. 6
  252. syntax-tree/esast-util-from-js

    estree (and esast) utility to parse from JavaScript
    1. 65%
    2. 1.4m
    3. 13
  253. syntax-tree/hast-util-from-html

    hast utility to parse from HTML
    1. 65%
    2. 3.7m
    3. 29
  254. form8ion/remark-readme

    remark plugin for transforming the README for projects that follow form8ion conventions
    1. 65%
    2. 3.2k
    3. 0
  255. michaelnisi/rehype-resolution

    Insert srcset attribute into img elements
    1. 65%
    2. 8
    3. 12
  256. syntax-tree/unist-diff

    Diff two unist trees
    1. 65%
    2. 32
    3. 13
  257. code-dot-org/remark-redactable

    remark plugin to enable other plugins for redaction and restoration of content
    1. 65%
    2. 3.8k
    3. 5
  258. JS-DevTools/rehype-inline-svg

    A rehype plugin that inlines and optimizes SVG images
    1. 65%
    2. 236
    3. 8
  259. syntax-tree/hast-util-truncate

    utility to truncate the tree to a certain number of characters
    1. 64%
    2. 52k
    3. 3
  260. syntax-tree/hast-util-excerpt

    utility to truncate the tree to a comment
    1. 64%
    2. 52k
    3. 2
  261. syntax-tree/estree-util-to-js

    estree (and esast) utility to serialize as JavaScript
    1. 64%
    2. 6m
    3. 12
  262. JS-DevTools/next-mdx

    Adds support for MDX with advanced syntax features in Next.js applications
    1. 64%
    2. 4
    3. 5
  263. huy-nguyen/remark-github-plugin

    Remark plugin to insert code from GitHub into markdown files
    1. 64%
    2. 324
    3. 9
  264. kamranayub/remark-typedoc-symbol-links

    A Remark plugin for transforming TypeDoc symbol links into actual links to your API docs
    1. 64%
    2. 18
    3. 0
  265. jaywcjlove/rehype-ignore

    Ignore content display via HTML comments, Shown in GitHub readme, excluded in HTML.
    1. 64%
    2. 462k
    3. 2
  266. shikijs/twoslash

    You take some Shiki, add a hint of TypeScript compiler, and 🎉 incredible static code samples
    1. 64%
    2. 27k
    3. 1.1k
  267. dunckr/retext-overuse

    Check words for overuse with retext
    1. 64%
    2. 21
    3. 8
  268. mdx-js/eslint-mdx

    ESLint Parser/Plugin for MDX
    1. 64%
    2. 2.6m
    3. 270
  269. rockchalkwushock/rehype-code-titles

    Rehype plugin for parsing code blocks and adding titles to code blocks
    1. 63%
    2. 11k
    3. 21
  270. mrazauskas/docusaurus-remark-plugin-tab-blocks

    Turn Docusaurus code blocks into tab blocks
    1. 63%
    2. 2.4k
    3. 27
  271. mrzmmr/remark-behead

    Remark plugin to increase or decrease markdown heading weight.
    1. 63%
    2. 11k
    3. 18
  272. davidhund/retext-assuming

    Check for unhelpful ‘assuming’ phrases such as ‘just’, ‘simply’ or ‘obviously’ with retext
    1. 63%
    2. 174
    3. 19
  273. dunckr/retext-cliches

    Check phrases for cliches with retext
    1. 63%
    2. 12
    3. 15
  274. potato4d/rehype-plugin-auto-resolve-layout-shift

    Flexible improve CLS plugin for rehype.
    1. 63%
    2. 33
    3. 6
  275. remcohaszing/remark-mdx-images

    A remark plugin for changing image sources to JavaScript imports using MDX
    1. 62%
    2. 5.2k
    3. 26
  276. unlight/remark-plantuml-link

    Generate a plantuml image link from text
    1. 62%
    2. 50
    3. 1
  277. inokawa/remark-extract-toc

    remark plugin to store table of contents
    1. 62%
    2. 757
    3. 7
  278. Mavrin/remark-typograf

    Plugin to make your typography better with https://github.com/typograf
    1. 62%
    2. 359
    3. 13
  279. retronav/rehype-shiki

    Rehype plugin to highlight codeblocks using Shiki, with special support for Astro.
    1. 62%
    2. 29
    3. 4
  280. inokawa/remark-slate-transformer

    remark plugin to transform remark syntax tree (mdast) to Slate document tree, and vice versa. Made for WYSIWYG markdown editor.
    1. 62%
    2. 111k
    3. 109
  281. unified-doc/unified-doc-react

    react wrapper for unified-doc
    1. 61%
    2. 12
    3. 3
  282. sergioramos/remark-hint

    Sprinkle hints/tips/warnings on your documents
    1. 61%
    2. 1.8k
    3. 43
  283. ChristianMurphy/mdast-util-arbitrary

    Generate arbitrary mdast with fast check
    1. 61%
    2. 4
    3. 1
  284. unlight/remark-package-dependencies

    Inject to markdown the list of dependencies of your package
    1. 61%
    2. 90
    3. 3
  285. remcohaszing/remark-prettier

    Check and format markdown or MDX using Prettier as a remark plugin
    1. 61%
    2. 4.6k
    3. 7
  286. ganta/rehype-element-properties

    rehype plugin to replace element properties
    1. 61%
    2. 1
    3. 2
  287. shivjm/remark-extensions

    Various remark & micromark extensions
    1. 61%
    2. 134
    3. 0
  288. unified-doc/unified-doc-dom

    DOM APIs for unified-doc
    1. 61%
    2. 11
    3. 3
  289. aloisklink/remark-mermaid-dataurl

    A remark plugin for Markdown that replaces mermaid graphs with dataurls
    1. 61%
    2. 117
    3. 12
  290. SSHari/remark-mdx-postcss

    Remark plugin to bundle a style tag with MDX content via postcss.
    1. 61%
    2. 2
    3. 0
  291. manovotny/remark-mdx-metadata

    Remark transformer for modifying MDX metadata.
    1. 61%
    2. 475
    3. 11
  292. florianb/remark-description-list

    Plugin to create description lists.
    1. 61%
    2. 14
    3. 3
  293. myl7/remark-github-beta-blockquote-admonitions

    remark plugin to add support for GitHub beta blockquote-based admonitions
    1. 61%
    2. 4.5k
    3. 24
  294. purefun/remark-join-cjk-lines

    A remark plugin to remove extra space between CJK Characters.
    1. 61%
    2. 281
    3. 12
  295. timlrx/rehype-citation

    Rehype plugin to add citation and bibliography from bibtex files
    1. 60%
    2. 64k
    3. 43
  296. vipranarayan14/remark-vtranslit

    A remarkjs plugin for vtranslit.
    1. 60%
    2. 6
    3. 1
  297. cliid/rehype-twemojify

    a simple rehype plugin that turns plain text emojis into twemojis. fully customizable.
    1. 60%
    2. 166
    3. 5
  298. unified-doc/unified-doc

    unified document APIs
    1. 60%
    2. 2.7k
    3. 10
  299. josestg/rehype-figure

    rehype plugins to support figure and caption
    1. 60%
    2. 1.6k
    3. 7
  300. josestg/rehype-code-title

    Rehype plugin to add code title.
    1. 59%
    2. 72
    3. 6
  301. rajasegar/remark-ember-abc

    A remark plugin to transform Handlebars codeblocks to Angle brackets syntax
    1. 59%
    2. 3
    3. 5
  302. ybiquitous/remark-lint-code-block-syntax

    A remark-lint rule to check language syntax in a code block.
    1. 59%
    2. 701
    3. 1
  303. leeclarke/remark-altprot

    A remark alternate protocols plugin, supports creating links for alternate protocols such as hyper:// dat:// and cabal://
    1. 58%
    2. 13
    3. 0
  304. laysent/remark-lint-plugins

    plugins for remark-lint
    1. 57%
    2. 17k
    3. 1
  305. y-temp4/rehype-title-figure

    Rehype plugin that adds a caption using the title attribute of the img.
    1. 57%
    2. 2.8k
    3. 4
  306. laysent/remark-ruby

    Custom syntax for remarkjs, adding ruby (furigana) to markdown.
    1. 57%
    2. 3.8k
    3. 24
  307. alvinometric/remark-remove-comments

    Remove HTML comments from markdown
    1. 57%
    2. 28k
    3. 6
  308. joeltg/hast-util-from-lezer

    Render styled Lezer syntax trees to hast
    1. 57%
    2. 5.6k
    3. 5
  309. remarkjs/remark-language-server

    A language server to lint and format markdown files with remark
    1. 56%
    2. 455
    3. 37
  310. bizen241/remark-inline-math

    Inline math support for remark
    1. 56%
    2. 4
    3. 6
  311. remcohaszing/monaco-unified

    Get warnings and error messages in monaco editor based on a unified processor.
    1. 56%
    2. 38
    3. 18
  312. temando/remark-gitlab-artifact

    A remark plugin that downloads artifacts from Gitlab projects to live alongside your Markdown.
    1. 55%
    2. 9
    3. 2
  313. temando/remark-openapi

    Remark plugin that converts a link to a local or remote OpenAPI spec into a table with summary of all paths
    1. 55%
    2. 3
    3. 2
  314. madiodio/remark-twemoji

    Remark plugin to replace your emoji by using Twemoji.
    1. 55%
    2. 527
    3. 10
  315. kevin940726/remark-codesandbox

    🎩 Create CodeSandbox directly from code blocks
    1. 54%
    2. 1.4k
    3. 280
  316. manovotny/remark-excerpt

    Remark transformer for extracting an excerpt.
    1. 53%
    2. 677
    3. 8
  317. keplersj/remark-preset-lint-starstuff

    Opinionated, yet simple config for remark-lint
    1. 52%
    2. 140
    3. 0
  318. danielgolden/retext-capitalization

    A retext plugin to encourage the use of sentence case.
    1. 52%
    2. 2
    3. 1
  319. danielgolden/retext-use-contractions

    A retext plugin to encourage the usage of common contractions.
    1. 51%
    2. 11
    3. 1
  320. danielgolden/retext-no-emojis

    A retext plugin to discourage the usage of emoji(s)
    1. 51%
    2. 6
    3. 1
  321. phuctm97/remark-parse-frontmatter

    🎓 Parses and validates Markdown frontmatter (YAML) to data object.
    1. 51%
    2. 6.3k
    3. 10
  322. radiojhero/rehype-widont

    📄 Rehype plugin to prevent lines with single words.
    1. 50%
    2. 638
    3. 2
  323. phuctm97/remark-unwrap-texts

    📋 Unwraps text nodes in Markdown, is useful when publishing to platforms like DEV.to, Medium, Hashnode, etc.
    1. 50%
    2. 37
    3. 5
  324. IGassmann/remark-directive-rehype

    Remark plugin to enable Markdown directives to be parsed as HTML.
    1. 49%
    2. 44k
    3. 31
  325. josemarluedke/remark-hbs

    Remark plugin that allows writing markdown with Ember handlebars templates
    1. 49%
    2. 5.9k
    3. 6
  326. elviswolcott/remark-admonitions

    Add admonitions support to Remarkable
    1. 49%
    2. 85k
    3. 111
  327. medfreeman/remark-generic-extensions

    !ExtensionContent{Properties} -> 🎉 — commonmark generic directive extension for remark
    1. 48%
    2. 160
    3. 25
  328. wemake-services/remark-lint-are-links-valid

    This package allows to perform multiple checks on your links
    1. 48%
    2. 2.1k
    3. 11
  329. temando/remark-mermaid

    A remark plugin for Markdown that replaces mermaid graphs with rendered SVGs.
    1. 47%
    2. 1.7k
    3. 84
  330. landakram/remark-parse-yaml

    Parse YAML blocks into structured data.
    1. 45%
    2. 23k
    3. 14
  331. Symbitic/remark-plugins

    Remark plugins for Markbook
    1. 45%
    2. 74k
    3. 14
  332. greybax/remark-helpers

    Helper methods for remark
    1. 44%
    2. 280
    3. 8
  333. temando/remark-metadata

    Add metadata about a Markdown file as Front Matter.
    1. 44%
    2. 122
    3. 1
  334. trevorblades/remark-typescript

    👭 Transpiles TypeScript code blocks to JavaScript and inserts them into the page
    1. 44%
    2. 1.1k
    3. 8
  335. rehypejs/rehype-format

    plugin to format HTML
    1. 43%
    2. 499k
    3. 30
  336. landakram/remark-task-list

    Toggle task list items and reference them by IDs.
    1. 43%
    2. 467
    3. 1
  337. arobase-che/remark-attr

    Remark plugin to add support for custom attributes
    1. 42%
    2. 17k
    3. 59
  338. rsclarke/rehype-shiki

    rehype plugin to highlight code blocks with shiki
    1. 42%
    2. 516
    3. 33
  339. benabel/remark-fenced-divs

    This plugin aims to imitate the comportment of the pandoc extension fenced_divs in remark.
    1. 41%
    2. 98
    3. 5
  340. unlight/remark-sources

    Inserts source code to markdown files
    1. 41%
    2. 264
    3. 3
  341. inokawa/remark-pdf

    remark plugin to compile markdown to pdf.
    1. 41%
    2. 761
    3. 26
  342. inokawa/remark-docx

    remark plugin to compile markdown to docx (Microsoft Word, Office Open XML).
    1. 41%
    2. 8k
    3. 45
  343. temando/remark-graphviz

    A remark plugin for Markdown that replaces graphs defined in dot with rendered SVGs.
    1. 39%
    2. 539
    3. 20
  344. redotjs/redot

    Graphviz dot file processor powered by plugins based on @unifiedjs
    1. 37%
    2. 147
    3. 71
  345. iloveip/remark-heading-autoid

    1. 37%
    2. 19
    3. 0
  346. DavidCouronne/gridsome-plugin-remark-prismjs-all

    Syntax highlighting for Gridsome with PrismJS
    1. 37%
    2. 149
    3. 11
  347. tsaiDavid/remark-encode-plantuml

    1. 36%
    2. 2
    3. 1
  348. vmarkdown/remark-render

    Compile markdown to Virtual DOM with remark.
    1. 36%
    2. 18
    3. 5
  349. ice-zjchen/remark-codeset

    Transform sets of code blocks in markdown to tablist in html (new node type, rehype compatible)
    1. 34%
    2. 6
    3. 3
  350. mottox2/remark-code-titles

    1. 32%
    2. 10k
    3. 16
  351. redotjs/redot-message-control

    Enable, disable, and ignore messages with redot
    1. 31%
    2. 4
    3. 0
  352. redotjs/redot-lint

    Graphviz code style linter
    1. 31%
    2. 5
    3. 3
  353. nemo-omen/remark-code-figure

    A remark plugin that wraps markdown code blocks in a figure element with an optional figcaption.
    1. 30%
    2. 2
    3. 1
  354. rehypejs/rehype-highlight

    plugin to highlight code blocks
    1. 23%
    2. 568k
    3. 275
  355. danielgolden/language-linter

    A natural language linter React component.
    1. 18%
    2. 145
    3. 2
  356. whizark/remark-preset

    ⚙️ remark sharable preset files (FOR MY PERSONAL PROJECTS).
    1. 15%
    2. 4
    3. 0