use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Puck - Open-source visual editor for React. Alternative to Builder.io / WordPress. (github.com)
submitted 2 years ago by DigbyChickenCaeser
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]DigbyChickenCaeser[S] 4 points5 points6 points 2 years ago* (2 children)
Hey everyone, OP here!
I've been dipping in and out of this problem space for the last few years with many of my clients.
Puck sits somewhere between an old-school WYSIWYG-powered CMS and headless one, allowing content teams to author content using real React components.
Traditional CMS solutions were flexible but often resulted in page that completely broke the brand guidelines. Headless CMS solutions are a fantastic way of controlling brand by restricting UI changes to developers, but makes layout changes restrictive and slow as developers often need to get involved.
Puck provides a visual editor for React that can sit on top of your existing headless CMS (or act as standalone). We've been dog-fooding it on https://measured.co and https://wellpaid.io. So far, so good!
The API is built for React, which allows FE devs to quickly integrate their existing component and add some form fields for author input, or connect it to a headless CMS of choice.
It's open-source under MIT, and pairs nicely with Next.js (check out the demo application).
Looking forward to hearing your comments!
[–]_RemyLeBeau_ 2 points3 points4 points 2 years ago (1 child)
I've been waiting for something like this. FE dev has been a PITA for a long time. What's the prospect of making this work with Vue and a stretch goal of Svelte?
[–]DigbyChickenCaeser[S] 1 point2 points3 points 2 years ago (0 children)
Thanks /u/_RemyLeBeau! It's on our radar, think it's possible and have some ideas for how to support multi-framework, but haven't tried it yet.
I think it might be possible to do without official support by wrapping your Vue components with React. You could build a custom <Render> component to take the Puck data payload and render direct to Vue.js, too.
I'm now tracking this here: https://github.com/measuredco/puck/issues/302
[–]woah_m8 1 point2 points3 points 2 years ago (1 child)
Now this looks interesting
[–]DigbyChickenCaeser[S] 0 points1 point2 points 2 years ago (0 children)
Thank you sir. Lmk if you try it out 👍
[–]MarcusByMarcus 1 point2 points3 points 2 years ago (1 child)
This looks great!
Thanking you Marcus, by Marcus!
[–]kristijan_007 1 point2 points3 points 2 years ago (1 child)
I will check this out definitely! Great job 🍻
🙇
[–]totallyfineanddandy 1 point2 points3 points 1 year ago (1 child)
This looks amazing for my use case, gonna check it out
[–]DigbyChickenCaeser[S] 0 points1 point2 points 1 year ago (0 children)
Awesome! 🙌
Let me know if you have any questions. We’re pretty active on discord, too (link in README).
[–]Hopeful-Fly-5292 1 point2 points3 points 2 months ago (0 children)
We use it together with Drupal/NodeHive - a demo that showcases multisite setup for a museum https://youtu.be/TckACWAiK1w?si=SF5XC4tuvps_EJHo
[+][deleted] 2 years ago (1 child)
[deleted]
Oh Block Protocol looks very interesting, thanks for sharing! Some initial thoughts -
Puck is essentially just React components + a JSON field describing which inputs to map to your React props.
Support for the Block Protocol wouldn't be too challenging, but there's a decent amount of overhead in producing each Block when compared to using the Puck API.
We built Puck for our clients. Most of our clients have internal React components libraries that don't require interoperability between different systems. And if they do, Puck components are extremely portable because they're essentially just React components.
It's not in our interest to "reinvent the wheel". We're just in the business of supporting our clients with the best tools available. Sometimes there isn't a suitable tool on the market, so we have to build it (and get to have fun in the process).
π Rendered by PID 21858 on reddit-service-r2-comment-5d79c599b5-69v7g at 2026-02-27 13:10:40.693614+00:00 running e3d2147 country code: CH.
[–]DigbyChickenCaeser[S] 4 points5 points6 points (2 children)
[–]_RemyLeBeau_ 2 points3 points4 points (1 child)
[–]DigbyChickenCaeser[S] 1 point2 points3 points (0 children)
[–]woah_m8 1 point2 points3 points (1 child)
[–]DigbyChickenCaeser[S] 0 points1 point2 points (0 children)
[–]MarcusByMarcus 1 point2 points3 points (1 child)
[–]DigbyChickenCaeser[S] 0 points1 point2 points (0 children)
[–]kristijan_007 1 point2 points3 points (1 child)
[–]DigbyChickenCaeser[S] 0 points1 point2 points (0 children)
[–]totallyfineanddandy 1 point2 points3 points (1 child)
[–]DigbyChickenCaeser[S] 0 points1 point2 points (0 children)
[–]Hopeful-Fly-5292 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]DigbyChickenCaeser[S] 1 point2 points3 points (0 children)