hast
contentlayer
hast | contentlayer | |
---|---|---|
4 | 29 | |
698 | 3,088 | |
2.9% | 1.6% | |
2.8 | 5.2 | |
about 2 months ago | about 1 month ago | |
TypeScript | ||
- | 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.
hast
-
Contentlayer with next/image
contentlayer uses remark to parse the markdown in an mdast. We can now use remark plugins to modify the mdast. Then rehype comes into play and converts the mdast into a hast. rehype plugins can now modify the hast. Finally the hast is converted into react components.
-
Converting and customizing Markdown files to HTML with Unified, remark & rehype
remark-rehype translates the mdast structure into a Hypertext Abstract Syntax Tree (hast) structure, also composed of unist nodes.
-
Modifying rehype autolink headings
We have to pass hast elements thought. If you want to read more about hast elements, check out this documentation link.
-
Is html compiled?
Is it so hard to accept that a tool or app could compile a html document into some intermediate form and then use that to internally construct a DOM representation, maybe out of a cache?
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?
unist - Universal Syntax Tree used by @unifiedjs
content - The file-based CMS for your Nuxt application, powered by Markdown and Vue components.
unist-util-visit - utility to visit nodes
Strapi - π Strapi is the leading open-source headless CMS. Itβs 100% JavaScript/TypeScript, fully customizable and developer-first.
rehype-document - plugin to wrap a fragment in a document
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
reinstall_mysql_full - A Simple script to Fully remove mysql and Reinstall (helpful when you screw up)
nextjs-contentlayer-guide - Demo application for my guide https://imadatyat.me/guides/how-to-setup-contentlayer-in-nextjs
ntast - Notion Abstract Syntax Tree specification.
effect - An ecosystem of tools to build robust applications in TypeScript.