unified

Content as structured data

We compile content to syntax trees and syntax trees to content.
We also provide hundreds of packages to work on the trees in between.
You can build on the unified collective to make all kinds of interesting things.

Build

We provide the building blocks: from tiny, focussed, modular utilities to plugins that combine them to perform bigger tasks. And much, much more. You can build on unified, mixing and matching building blocks together, to make all kinds of interesting new things.

  1. Prettier

    Uses unified to format Markdown

  2. Gatsby

    Uses unified to pull content into GraphQL

  3. Write Music

    Uses unified to visualize sentence length

  4. Node.js

    Uses unified to check and build their docs

  5. alex

    Uses unified to catch insensitive, inconsiderate writing

  6. See 23 other cases

Learn

We provide the interface: for parsing, inspecting, transforming, and serializing content. You work on structured data. Learn how to plug building blocks together, write your own, and make things with unified.

  1. Intro to unified

    Guide that summarises the what and why of unified

    1. guide
    2. welcome
    3. introduction
  2. Use unified

    Guide that delves into transforming Markdown to HTML

    1. guide
    2. use
    3. transform
    4. remark
    5. rehype
  3. Tree traversal

    How to do tree traversal (also known as walking or visiting a tree)

    1. recipe
    2. unist
    3. tree
    4. traverse
    5. walk
    6. visit
  4. Find a node

    How to find a node in any unist syntax tree

    1. recipe
    2. node
    3. tree
    4. traverse
    5. walk
    6. find
  5. Support tables in remark

    How to support GitHub-style tables in remark (or react-markdown)

    1. recipe
    2. remark
    3. plugin
    4. gfm
    5. github
    6. table
  6. See 10 other articles

Explore

The ever growing ecosystem that the unified collective provides today consists of 347 open source projects, with a combined 55k stars on GitHub. In comparison, the code that the collective maintains is about 189 Moby Dicks or 75 Linuxes. In the last 30 days, the 528 packages maintained in those projects were downloaded 1b times from npm. Much of this is maintained by our teams, yet others are provided by the community.

  1. @mdx-js/mdx

    MDX compiler
    1. 90%
    2. 13m
    3. 103 kB
  2. remark-parse

    remark plugin to add support for parsing markdown input
    1. 88%
    2. 34m
    3. 26.9 kB
  3. remark

    unified processor with support for parsing markdown input and serializing markdown as output
    1. 82%
    2. 9m
    3. 36.3 kB
  4. remark-cli

    Command line interface to inspect and change markdown files with remark
    1. 77%
    2. 570k
  5. mdast-util-gfm-autolink-literal

    mdast extension to parse and serialize GFM autolink literals
    1. 75%
    2. 8m
    3. 1.99 kB
  6. See 528 packages and 347 projects

Work

Maintaining the collective, developing new projects, keeping everything fast and secure, and helping users, is a lot of work. In total, we’ve closed 5k issues/PRs while 207 are currently open (4%). In the last 30 days, we’ve cut 51 new releases.

  1. rehypejs/rehype-external-links@3.0.0·

    Change

    • f4bd9a0 Update @types/hast, unified, utilities, etc migrate: update too
    • e1325f1 Change to require Node.js 16 migrate: update too
    • fa86d0d Change to use exports migrate: don’t use private APIs
    • 2008d77 Remove CreateProtocols support migrate: use test if you want to test things

    Add

    Full Changelog: https://github.com/rehypejs/rehype-external-links/compare/2.1.0...3.0.0

  2. rehypejs/rehype-infer-reading-time-meta@2.0.0·

    Change

    • e776620 Update @types/hast, unified, utilities, etc migrate: update too
    • 371370f Change to require Node.js 16 migrate: update too
    • c33df2f Change to use exports migrate: don’t use private APIs

    Full Changelog: https://github.com/rehypejs/rehype-infer-reading-time-meta/compare/1.1.0...2.0.0

  3. rehypejs/rehype-infer-description-meta@2.0.0·

    Change

    • 1e3b0ca Change to require Node.js 16 migrate: update too
    • 9220d5b Change to use exports migrate: update too
    • 413b9ac Update @types/hast, unified, utilities, etc migrate: don’t use private APIs

    Full Changelog: https://github.com/rehypejs/rehype-infer-description-meta/compare/1.1.0...2.0.0

  4. Explore recent releases

Sponsor

Thankfully, we are backed financially by our sponsors. This allows us to spend more time maintaining our projects and developing new ones. To support our efforts financially, sponsor or back us on OpenCollective.

  1. Vercel

    Develop. Preview. Ship. – Creators of nextjs.org

  2. GatsbyJS

  3. Motif

    When content meets code, magic happens ✨

  4. HashiCorp

  5. GitBook

  6. See 42 other sponsors