rehype-autolink-headings
rehype-react
rehype-autolink-headings | rehype-react | |
---|---|---|
4 | 3 | |
188 | 377 | |
5.3% | 0.8% | |
6.6 | 6.2 | |
6 months ago | 8 months ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rehype-autolink-headings
-
Building an Autolink Heading Component for React Navigation
This is how I created the first version of the Autolink Heading component to replicate the behavior of rehype-autolink-headings for React headings. It's a simple design that get's the job done. However, I'm sure it has a lot of room for improvement.
-
MDX autolink headings
We could use rehype-autolink-headings for this, but we want to do some styling with TailwindCSS. So we have to wrap the heading manually.
-
MDX Code Highlighting and Styling with Tailwind
rehype-autolink-headings
-
Creating my personal website with Astro, Tailwind CSS, and Nx
So to achieve my goals, I configured the rehype-slug and rehype-autolink-headings plugins to generate links to the headings in the blog post. I also configured the rehype-external-links plugin to add the target="_blank" and rel="nofollow noopener noreferrer" attributes to external links, as well as adding an icon to them.
rehype-react
-
how to retain position of markdown element in remark.js
I usually combine remark-parse, remark-rehype and rehype-react to transform markdown into react components. The configuration of the processor is like:
-
HTML to React service
Use this excellent open source library. https://github.com/rehypejs/rehype-react
-
Image Processing in Gatsby
import React from 'react' import { graphql } from 'gatsby' import RehypeReact from 'rehype-react' const MyGatsbyPage = ({ data }) => { /* AST renderer we use at Anvil: https://github.com/rehypejs/rehype-react */ const renderAst = new RehypeReact({ createElement: React.createElement, }).Compiler return (
{data.frontmatter.title}
{data.frontmatter.date}
By ${data.frontmatter.author}
{data.frontmatter.summary}
{renderAst(data.htmlAst)}
What are some alternatives?
remark - markdown processor powered by plugins part of the @unifiedjs collective
rehype-highlight - plugin to highlight code blocks
rehype-slug - plugin to add `id` attributes to headings
remark-rehype - plugin that turns markdown into HTML to support rehype
Tailwind CSS - A utility-first CSS framework for rapid UI development.
rehype-starry-night - Rehype plugin to highlight code with Starry Night
rehype-sanitize - plugin to sanitize HTML
sharp - High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library.
rehype-external-links - rehype plugin to add rel (and target) to external links
astro - The web framework for content-driven websites. ⭐️ Star to support our work!
unified - ☔️ interface for parsing, inspecting, transforming, and serializing content through syntax trees