rehype-slug
contentlayer
rehype-slug | contentlayer | |
---|---|---|
3 | 29 | |
179 | 3,076 | |
2.2% | 1.2% | |
5.9 | 5.2 | |
8 months ago | about 1 month ago | |
JavaScript | TypeScript | |
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-slug
-
Building an Autolink Heading Component for React Navigation
I'm using the algorithm from github-slugger to create the header link and ID. It's the same one used by GitHub for their section headings and also by rehype-slug, the project I used as inspiration for this one.
-
MDX autolink headings
The heading component renders an a tag, with a href which points to the id which was generated by the rehype-slug and passed as prop to our component. The a tag uses the group class, this allows us to apply styling to children if the parent is hovered. Also we use the relative class, because we want to position an icon absolute to the left of the heading.
-
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.
contentlayer
-
Show HN: Pages CMS β A CMS for GitHub
This looks and sounds great...
I'm currently using [contentlayer.dev](https://github.com/contentlayerdev/contentlayer) to manage docs and blog content, mostly .mdx files on urlbox.com.
It works well with next.js but unfortunately is abandonware now.
I also have a few custom remark/rehype plugins.
You're right it is a pain to update articles buried in your repo especially with less technical team members. I already tried out TinaCMS to try and solve the editing issues, but their editor wasn't so nice, and it seemed to implicitly make a commit on every tiny change to any content, so I'm really hoping I could use something like this to edit my already existing content...
- How to handle the marketing/landingpage/articles area of your app?
-
Upgrade my blog to Next.js 13.4 with MDX, Prisma, Tailwindcss, Planetscale, Giscus and Contentlayer
Content Management: Contentlayer
-
What is your tech stack for blog websites? (not wordpress)
For my personal website, I use Next and Contentlayer since I prefer to write my content as markdown files. I then host it using vercel's free tier.
-
Show HN: File Based Documentation Site β Next.js
I've seen https://www.contentlayer.dev/ used for similar stuff on open source codebases like taxonomy from shadcn
-
Rebuilding my Portfolio with Next, MDX, and Contentlayer
Contentlayer makes it super easy to grab our mdx blog posts in a type-safe way.
- How to manage copies in Next/React
-
Jumpstart a content-driven NextJS site with Flowershow
Flowershow uses Contentlayer to turn your Markdown content into data stored in JSON files. By defining document schemas, Contentlayer can generate data that is validated (making it type-safe) and can be imported from anywhere in your Next.js app.
-
Contentlayer with next/image
My first reaction was to use MDX and use next/image just as in the example. But that means that we can't use normal markdown images and it turns out that this won't work with contentlayer. This wont work, because Next.js does some magic on the import of the static image. The object which gets returned by the import, contains not only a path to the image, it contains also the width and height, plus a very small version of the image for the blurred placeholder. This magic does not work if the MDX file is loaded with contentlayer, because contentlayer uses its own bundler, which does not know about the import magic for images.
-
MDX autolink headings
After the installation we have to tell MDX that it should use the plugin. The example below shows a contentlayer config, but it should work with every MDX setup.
What are some alternatives?
rehype-autolink-headings - plugin to add links to headings in HTML
content - The file-based CMS for your Nuxt application, powered by Markdown and Vue components.
rehype-external-links - rehype plugin to add rel (and target) to external links
Strapi - π Strapi is the leading open-source headless CMS. Itβs 100% JavaScript/TypeScript, fully customizable and developer-first.
remark - markdown processor powered by plugins part of the @unifiedjs collective
mdx - Markdown for the component era
rehype - HTML processor powered by plugins part of the @unifiedjs collective
Prisma - Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
react-autolink-heading - A component that adds heading links (#heading-name) based on the heading text content ("Heading Name")
nextjs-contentlayer-guide - Demo application for my guide https://imadatyat.me/guides/how-to-setup-contentlayer-in-nextjs
Visual Studio Code - Visual Studio Code
effect - A fully-fledged functional effect system for TypeScript with a rich standard library