contentlayerdev / contentlayer

Contentlayer turns your content into data - making it super easy to import MD(X) and CMS content in your app
https://www.contentlayer.dev
MIT License
3.33k stars 200 forks source link

State of the project #429

Open schickling opened 1 year ago

schickling commented 1 year ago

Hello Contentlayer community,

I wanted to share an update regarding the ongoing maintenance of Contentlayer. I am committed to the project and will continue to work on it, aiming for monthly releases (for as long as there is sustainable financial backing). These updates will prioritize fixing pressing bugs and, when possible, introducing new features. I appreciate all the support and feedback from the community and am glad to see developers finding value in Contentlayer.

I'd like to thank Stackbit for their generous, continuous sponsorship of Contentlayer, making the initial development possible. However, (at least for now) they have had to scale down their level of sponsorship, and as a result, I can currently allocate one day a month to the project. I kindly ask for your understanding and patience, given these time constraints, as I continue my efforts to work on Contentlayer.

Thanks again your ongoing support and helpful feedback. Your input contributes significantly to the development and improvement of Contentlayer.

πŸ’œ

ashiishme commented 1 year ago

Keep up the good work. πŸ₯‡

jasongerbes commented 1 year ago

Thank you for the update, @schickling. It's unfortunate to hear that Stackbit has had to scale back their sponsorship.

Are there any opportunities for community funding or contributions that could help Contentlayer reach V1?

seancdavis commented 1 year ago

Thanks for the update, @schickling!

My Involvement

I will also continue to be involved. My efforts will largely be focused on docs and will equate to about 1-2 days per month. I plan to spend a few hours each week improving the documentation so that we can all continue to have a good experience working with Contentlayer.

Docs Improvements

If you find gaps or errors, or have ideas for the site or documentation, please create an issue on the website repo.

Project Contributions

@jasongerbes (and others who may have the same question): The most valuable forms of contribution today are list on this page.

Given @schickling's reduced time, the most valuable of this list are in providing support to the community, in the form of:

Feel free to jump right in. Or, if you'd like help forming more of a process, or would like to contribute in other ways, feel free to reach out directly to me (Discord is best) and we'll work together on it.

LunaticMuch commented 1 year ago

Any help I can give here?

schickling commented 1 year ago

Any help I can give here?

Thanks a lot for your offer. A great way to help out right now, is to reproduce and to help investigate open issues to understand the underlaying problems so they can be fixed more quickly.

Another great way to help out, is to help others with their questions e.g. in the Contentlayer Discord.

schickling commented 1 year ago

Hey folks! Just wanted to provide a little in-between update:

As you might have seen, Stackbit recently got acquired by Netlify which (at least for now) means that the sponsorship of Contentlayer has been paused. I'm hoping to hear back from Netlify soon on the continued sponsoring & development of Contentlayer as there is a lot more work to be done! πŸ’ͺ

schardev commented 12 months ago

hey there @schickling. Is the project still maintained? Would like to help out with pending stuff.

Thanks for the awesome work :)

TheMikeyRoss commented 10 months ago

Netlify is kinda runining the open-source CMS eco-system.

jgeluk commented 10 months ago

Any alternatives?

elie222 commented 10 months ago

I moved from ContentLayer to Next MDX. ContentLayer seems to no longer be maintained and has a lot of bugs: elie222/inbox-zero@cf42b0b (#79)

airtonix commented 9 months ago

https://github.com/souporserious/mdxts

airtonix commented 9 months ago

https://github.com/BearStudio/typed-mdx

zce commented 9 months ago

Any alternatives?

https://github.com/zce/velite - Turns Markdown / MDX, YAML, JSON, or others into app's data layer with Zod schema.

airtonix commented 9 months ago

https://www.npmjs.com/package/mdx-content

TheMikeyRoss commented 9 months ago

https://www.npmjs.com/package/mdx-content

@airtonix last commit is 2 years ago

followbl commented 9 months ago

anyone know of an alternative that uses a remote 3rd party data source, like a Notion, to generate the markdown...

this is exactly what I'm looking for

dstroot commented 9 months ago

@zce Velite looks very interesting and is actively developed. Are you using it?

I am leaving ContentLayer (bye!) as I cannot have a major dependency in my project be unmaintained. Velite looks like a viable alternative at first glance. Otherwise it's back to Next/MDX or next-mdx-remote. Sigh...

zce commented 9 months ago

@zce Velite looks very interesting and is actively developed. Are you using it?

I am leaving ContentLayer (bye!) as I cannot have a major dependency in my project be unmaintained. Velite looks like a viable alternative at first glance. Otherwise it's back to Next/MDX or next-mdx-remote. Sigh...

Of course, I am using it in a commercial project and there is no problem!

This is also Velite's motivation.

Welcome to join, let's make it better together

ArmantG commented 9 months ago

I'm currently looking at either Sveltekit + mdsvex or Astro. Both provide really good .md and .mdx support. Astro basically has .md support out the box and can add mdx with a simple "pnpm astro add mdx"... Super easy... Assuming no one wants to really take on a full rewrite of their app though. But for new projects, Astro or Sveltekit might be an option? Disappointed in how bad md and mdx support is for Next Js. Contentlayer was really good and was so nice to use, but in the same boat as above, cannot rely on a dep that isnt being maintained and cannot wait forever to see what contentlayer's future is. its a shame...

airtonix commented 9 months ago

@zce Velite looks very interesting and is actively developed. Are you using it? I am leaving ContentLayer (bye!) as I cannot have a major dependency in my project be unmaintained. Velite looks like a viable alternative at first glance. Otherwise it's back to Next/MDX or next-mdx-remote. Sigh...

Of course, I am using it in a commercial project and there is no problem!

This is also Velite's motivation.

Welcome to join, let's make it better together

does it support custom content locations?

zce commented 9 months ago

@zce Velite looks very interesting and is actively developed. Are you using it? I am leaving ContentLayer (bye!) as I cannot have a major dependency in my project be unmaintained. Velite looks like a viable alternative at first glance. Otherwise it's back to Next/MDX or next-mdx-remote. Sigh...

Of course, I am using it in a commercial project and there is no problem! This is also Velite's motivation. Welcome to join, let's make it better together

does it support custom content locations?

Currently, there is no consideration for supporting remote files or APIs

followbl commented 9 months ago

@zce Velite looks very interesting and is actively developed. Are you using it? I am leaving ContentLayer (bye!) as I cannot have a major dependency in my project be unmaintained. Velite looks like a viable alternative at first glance. Otherwise it's back to Next/MDX or next-mdx-remote. Sigh...

Of course, I am using it in a commercial project and there is no problem! This is also Velite's motivation. Welcome to join, let's make it better together

does it support custom content locations?

Currently, there is no consideration for supporting remote files or APIs

Velite looks really promising. If it had remote files/data-source I would definitely take the afternoon to convert over.

zce commented 9 months ago

@zce Velite looks very interesting and is actively developed. Are you using it? I am leaving ContentLayer (bye!) as I cannot have a major dependency in my project be unmaintained. Velite looks like a viable alternative at first glance. Otherwise it's back to Next/MDX or next-mdx-remote. Sigh...

Of course, I am using it in a commercial project and there is no problem! This is also Velite's motivation. Welcome to join, let's make it better together

does it support custom content locations?

Currently, there is no consideration for supporting remote files or APIs

Velite looks really promising. If it had remote files/data-source I would definitely take the afternoon to convert over.

If it turns out that this is indeed a feature that many people need, I will consider supporting remote files.

timmyomahony commented 8 months ago

@schickling is there any update on the status of the project? Good or bad, it would be useful to know the situation so that we can make a decision on replacing the library with an alternative.

schickling commented 8 months ago

While I haven't heard yet from Netlify about this, I've heard from some folks in the Effect community that they seem interested in potentially getting involved as core maintainers. No timeline on this yet but a glimmer of hope. ✨

tienhieuD commented 8 months ago

Oh, my life feels like it's coming to an end. I like this stuff.

suntudo commented 8 months ago

@schickling would you consider crowdsourcing some support from the community here? Maybe we can raise enough to cover a day's worth of your time -- which might be enough to fix the dependency issues and get the project back to a working state with Next14.1 and buy some more time while the Effect people figure out what they'd like to do. I would certainly contribute what I can.

TheMikeyRoss commented 8 months ago

shadcn-ui uses this

lloydrichards commented 8 months ago
I've been investigating alternatives for the last week for my own nextjs projects and not finding anything I really trust. Maybe it will help someone else what i summarized: package maintained typed data frontmatter rehype comment
@next/mdx βœ… ⛔️ βœ… βœ… mdx has to be part of router
next-mdx-remote βœ… βœ… βœ… βœ… can't import components in mdx file 1 ⛔️
mdxts βœ… βœ… ⛔️ ⛔️ very light feature set
velite βœ… βœ… βœ… βœ… very early beta and not widely adopted (yet?)

None of these feel like a long term solution that could replace Contentlayer so am planning to stick to what I've setup so far and keep my fingers crossed that something doesn't update and break my content generation.

Hopefully some good news comes from the Effect community and this can be maintained again. Would be super sad to see such a great library disappear.

elie222 commented 8 months ago

I've been investigating alternatives for the last week for my own nextjs projects and not finding anything I really trust. Maybe it will help someone else what i summarized:

package maintained typed data frontmatter rehype comment @next/mdx βœ… ⛔️ ⛔️ βœ… mdx has to be part of router next-mdx-remote βœ… βœ… βœ… βœ… can't import components in mdx file ⛔️ mdxts βœ… βœ… ⛔️ ⛔️ very light feature set velite βœ… βœ… βœ… βœ… very early beta and not widely adopted (yet?) None of these feel like a long term solution that could replace Contentlayer so am planning to stick to what I've setup so far and keep my fingers crossed that something doesn't update and break my content generation.

Hopefully some good news comes from the Effect community and this can be maintained again. Would be super sad to see such a great library disappear.

You can easily add frontmatter support for next/mdx: https://nextjs.org/docs/pages/building-your-application/configuring/mdx#frontmatter This is what I use.

rufuspollock commented 8 months ago

Any alternatives?

https://markdowndb.com - https://github.com/datopian/markdowndb

Note: markdowndb (intentionally) focuses just on being an actual "content layer" in the sense of giving you a database of your content including extracting structured data from it. It does not markdown/MDX processing - it leave that up to you in your tool of choice. Thus, it plays well with e.g. next/mdx or next-mdx-remote or whatever you want to use.

Note: we used contentlayer from before its beta release and thought it was great πŸ‘πŸ™ - it helped us create https://flowershow.app (https://github.com/datopian/flowershow).

However, at least for our use case, we ended finding it did both too much and too little. Too much in that it got involved in markdown processing pipeline, hot reloading etc. Too little in the sense of not giving us enough of an actual content/data "layer". That led us to work on markdowndb: https://markdowndb.com

skoshx commented 8 months ago

@schickling Also, in the meantime, could you consider giving maintainer rights to someone who would be willing to help out with maintaining the project? There are many great Pull Requests that are just a button's click away from improving Contentlayer and closing many existing issues, so it would be great to have someone who could help out with that on a more regular basis :)

jrolfs commented 8 months ago

I know handing over the keys in any sense is not to be taken lightly, and I can't commit to any sort of SLA πŸ˜…, but I'd be more than happy to help maintain this project. We use it for the documentation site for our design system so I'm pretty invested in that regard. I have been considering forking this project in the interim and seeing what it takes to get CI running there just to move a few quality of life things along.

trevorpfiz commented 8 months ago

I've been investigating alternatives for the last week for my own nextjs projects and not finding anything I really trust. Maybe it will help someone else what i summarized:

package maintained typed data frontmatter rehype comment @next/mdx βœ… ⛔️ βœ… βœ… mdx has to be part of router next-mdx-remote βœ… βœ… βœ… βœ… can't import components in mdx file 1 ⛔️ mdxts βœ… βœ… ⛔️ ⛔️ very light feature set velite βœ… βœ… βœ… βœ… very early beta and not widely adopted (yet?) None of these feel like a long term solution that could replace Contentlayer so am planning to stick to what I've setup so far and keep my fingers crossed that something doesn't update and break my content generation.

Hopefully some good news comes from the Effect community and this can be maintained again. Would be super sad to see such a great library disappear.

how does @mintlify/mdx compare? https://github.com/mintlify/mdx/blob/main/examples/app-router/app/page.tsx

johanguse commented 8 months ago

How about https://github.com/sdorra/content-collections ?

alexerhardt commented 8 months ago

I'm currently looking at either Sveltekit + mdsvex or Astro. Both provide really good .md and .mdx support. Astro basically has .md support out the box and can add mdx with a simple "pnpm astro add mdx"... Super easy... Assuming no one wants to really take on a full rewrite of their app though. But for new projects, Astro or Sveltekit might be an option? Disappointed in how bad md and mdx support is for Next Js. Contentlayer was really good and was so nice to use, but in the same boat as above, cannot rely on a dep that isnt being maintained and cannot wait forever to see what contentlayer's future is. its a shame...

My brother from another mother. Thanks for the inspiration. I had no clue Astro had such strong MD/MDX support, and I wouldn't mind rewriting my site. All I ever wanted was the local-markdown-CMS experience, it's cool to see there's a front-end framework with first-class support for it!

gustaveWPM commented 8 months ago

While I haven't heard yet from Netlify about this, I've heard from some folks in the Effect community that they seem interested in potentially getting involved as core maintainers. No timeline on this yet but a glimmer of hope. ✨

I have a lot of hope concerning Contentlayer. I truly believe it's an excellent solution. I wish all the best, and I hope that these good news will materialize into reality...

timlrx commented 7 months ago

Hi Contentlayer community, I have setup a separate fork available at https://github.com/timlrx/contentlayer2 to keep the torch going! It fixes many of the outstanding dependency and compatibility issues. Feel free to update your dependencies and happy to get more maintainers on board.

seancdavis commented 7 months ago

Hey folks: cross-posting this most recent update:

I worked on Contentlayer with @schickling while at Stackbit, and I'm now over at Netlify.

I'd love to see this project continue. We're currently in discussions about the most effective path forward. There's much to coordinate. It'll take some time, but we're making good progress.

In the meantime:

  • Use the Contentlayer2 fork.
  • The website is back up. As the fork gets updated, feel free to open PRs on the website repo and DM me on Discord (seancdavis29) for a review.
gustaveWPM commented 6 months ago

Hello there, what's up?

TheMikeyRoss commented 3 months ago

It seems https://github.com/sdorra/content-collections is the best replacement so far

timlrx commented 3 months ago

As mentioned by Sean, please use https://github.com/timlrx/contentlayer2 and we would merge back the changes to contentlayer hopefully soon!

dstroot commented 3 months ago

I migrated to Velite some time ago when ContentLayer was no longer maintained. For me "it just works". There may be risk because I think it's a one developer project but I needed something that worked. Cheers.

cameronraysmith commented 3 months ago

Nice discussion and hacking on contentlayer from Effect-TS here: https://youtu.be/i4lYoTV0q6U

rufuspollock commented 3 months ago

We've continued to update markdowndb with various features (e.g. json output as well as sql), extracts tasks, tags and more from markdown as well document validation using zod:

https://markdowndb.com https://github.com/datopian/markdowndb

Firevvork commented 2 months ago

I've been investigating alternatives for the last week for my own nextjs projects and not finding anything I really trust. Maybe it will help someone else what i summarized:

package maintained typed data frontmatter rehype comment @next/mdx βœ… ⛔️ βœ… βœ… mdx has to be part of router next-mdx-remote βœ… βœ… βœ… βœ… can't import components in mdx file 1 ⛔️ mdxts βœ… βœ… ⛔️ ⛔️ very light feature set velite βœ… βœ… βœ… βœ… very early beta and not widely adopted (yet?) None of these feel like a long term solution that could replace Contentlayer so am planning to stick to what I've setup so far and keep my fingers crossed that something doesn't update and break my content generation.

Hopefully some good news comes from the Effect community and this can be maintained again. Would be super sad to see such a great library disappear.

Now @next/mdx has supported using imports.

gustaveWPM commented 1 month ago

:(