from Hacker News

Show HN: Primo – a visual CMS with Svelte blocks, a code editor, and SSG

by mmmateo on 7/21/23, 12:38 PM with 117 comments

  • by nobleach on 7/21/23, 4:29 PM

    The drag-n-drop blocks/slices of content CMSes look cool in demos. As someone who has an in-house developed CMS editor just like this, it's a nightmare of constant updates. "Can we right align text and turn it blue?", "sure we'll add more and more props to each block". The actual content creators have a hard time using it effectively. So the results are almost always unsatisfactory. More training could possibly help but there's still a constant tradeoff between freedom and maintaining brand identity.

    A headless CMS in our case would be a better approach. Simply provide the content and let a few professional folks code it up to match designs. Not everyone has that luxury I realize - so there's definitely a place for this type of CMS. I'm just pointing out how it can go horribly wrong.

  • by FireInsight on 7/21/23, 12:57 PM

  • by andybak on 7/21/23, 3:58 PM

    Sigh.

    I presume SSG = Static Site Generator

    (Does anyone actually try to write clearly for people who even slightly not keeping up with their specific domain? I do webdev and even I had to think for a moment to decode the acronym)

  • by klaussilveira on 7/21/23, 1:28 PM

    I wish there was something like this, but for serial dynamic content, like blog posts, reviews, etc. People are really attached to WP, but customization and themes are a nightmare.
  • by mmmateo on 7/21/23, 1:09 PM

    Hey HN, it’s been about three years since you sent my open source CMS, Primo, to the front page (https://news.ycombinator.com/item?id=23820201), inspiring me to quit my cushy remote job at the height of the pandemic to work on it full-time (naive and impulsive, I agree). Life has been pretty interesting since then. I’ve burned through my savings, lost my primo.af domain name to the Taliban, and convinced my wife to become a dev/designer to help me.

    But I’m proud of what we’ve built over that time, and seeing the incredible effect it’s had on people learning web development, putting up personal websites, and managing client sites has further solidified our belief in the power and simplicity of this approach. Today we’re excited to announce the public beta for Primo version 2, which introduces full on-page content editing, page building, and more.

    I initially created Primo because I was fed up with building websites, and the nontechnical people I was building them for struggled to manage them. My freelance projects involved brittle WordPress themes and poking around dashboards and juggling plugins; accessing the site’s code was so complex that it wasn’t even in the question. As an agency dev, I experienced the complexity of building custom sites in monolithic CMSs and the heavy-handedness of using meta-frameworks and headless CMSs for landing pages and brochure sites. And as a coding instructor, I saw my students face the daunting landscape that people learning to leverage the web face today - CLIs and APIs, package managers and bundlers, frameworks and meta-frameworks . No approach existed that provided a streamlined and approachable path to building, managing, developing, and hosting websites - particularly for common websites (i.e. 90% of the internet) like blogs, landing pages, and brochure sites.

    Primo is our attempt to build that tool. At a basic level, Primo is a CMS - it gives you the ability to easily manage website content - but its functionality includes the other concerns that also go into running a website, like page building, code editing, static site generation, and deploying to Github/hosting. Blocks are written in Svelte (i.e. HTML, CSS, and JS), so they’re reactive and style-encapsulated. By combining all these elements into a single interface, you can create, manage, modify, and deploy new websites in a fraction of the time. And since they’re static sites, you get all the cost, security, scaling, and speed benefits of serverless too.

    Primo isn’t intended for people that prefer the WYSIWYG design controls of SquareWixFlow but instead for anybody who wants to leverage HTML, CSS, and JavaScript to fully control and customize their websites while providing a dead-simple content editing experience to themselves and their nontechnical friends/clients/collaborators. It’s for people who feel frustrated by no-code tools and proprietary platforms, and those who want something simpler that still offers the power of code.

    Beyond that, Primo is an effort to keep the web in the hands of individuals. Our hope is that providing a more approachable tool for web publishing will move the needle on technical literacy and put free expression on the web in the grasp of anyone who wants it so they can’t be as readily corralled into black boxes and walled gardens.

    If you’d like to be a part of that mission, or just want an easier way to build websites, I hope you'll consider Primo.

    Mateo

  • by nathabonfim59 on 7/21/23, 3:10 PM

    This incredible! I've worked with WordPress for a long time and have been tinkering with Svelte recently.

    This is what I was looking for! Mad props to you for putting the effort into building this.

  • by eole666 on 7/21/23, 1:33 PM

    Nice project! I was a bit disappointed that you need a supabase account for "self hosting it".. And this is supposed to work only on some hosting service that can connect to Supa base, and also it encourages to fetch your pages content from github.. So it's more a CMS to run with specific service providers rather than something you can actually self host.
  • by tamimio on 7/21/23, 4:30 PM

    Great project. But honestly, I reached to the point of “less JS” or even no js is better for developers and also users. I’m currently migrating my old blog to a new one that gets generated by Zola [1], and even my main portfolio site, which funnily enough I newly made it with React/Gatsby, but I’m redoing it again with Zola because of the performance gap is just unmatched, not to mention I personally sometimes browse the web with js disabled so if a website is completely non-functional or doesn’t even load because of that is a deal breaker. My old site years ago used to use jquery and I was annoyed by it to some degree, trying react and the likes was a nightmare!

    [1] https://www.getzola.org

  • by jaequery on 7/21/23, 10:21 PM

    It's almost unbelievable that more than a decade has passed since I created Stiqr, a site creator back in 2010. Although the site is no longer active, you can catch a glimpse of its remnants in a YouTube video here:

    https://www.youtube.com/watch?v=B-ff53t8TuU&t=224s

    Responsive designs got hot during that time (2010) and it made me shut down the project. But I still believe this is the way to go to build websites in the near future.

  • by rsp1984 on 7/21/23, 8:47 PM

    While I think the combination of drag-and-drop / blocks and Svelte is really awesome, this unfortunately sits at the wrong end of the spectrum for me.

    What is is: a visual website builder where I can customise blocks using an online editor.

    What I'd like: an online interface that clients can use to add / change text, or make other small adjustments, for Svelte websites that I build offline using my own tools. The idea would be that, as long as I build the website according to certain interface standards, it is readable by Primo and the client can modify using the visual interface. For any bigger modifications the client would come back to me and I have all the speed and freedom of my offline workflow.

    Some might suggest that what I need is a headless CMS, but I have tried those and they are all over-engineered and giving me a big headache just for setup and maintenance.

  • by DanielKehoe on 7/21/23, 1:21 PM

    Thank you. At last some glimpse of sanity among the freaking complex world of web dev. More power to the Rule of Least Power. [0]

    [0] https://en.wikipedia.org/wiki/Rule_of_least_power

  • by nailer on 7/21/23, 6:07 PM

    > Is Primo open-core? VC-funded open source? Side project?

    > Primo is under full-time development and is in the process of becoming a nonprofit organization. Any funds generated from White Glove and Cloud will go towards funding further development, in the same vein as Ghost CMS.

    The above is a stupid answer, it’s open source and MIT licensed: https://github.com/primocms/primo/blob/master/LICENSE

  • by ransackdev on 7/21/23, 3:19 PM

    Y'all remember Macromedia Dreamweaver?

    Nothing against this particular project, but how many times are we going to recreate a wysiwyg cms. There must be hundreds at this point.

  • by jermberj on 7/21/23, 2:18 PM

    One of your themes shows an “email subscribe” field like one might expect for a blog with a newsletter. Does this have a concept of email subscribers and management related to such? Does this support transactional/batch emailing?
  • by brylie on 7/22/23, 7:06 AM

    Looks like an interesting project and compelling alternative to Gutenberg.

    Remember to check the project website content for grammar mistakes, e.g. using Grammarly, since small mistakes can tarnish the project image of professionalism.

  • by dave-at-koor on 7/22/23, 5:40 PM

    Just what I was looking for, a happy medium between Wix and Hugo. Plus, nice intro to Supabase, which is also supa cool. Perfect for another project I am just starting.

    Thanks for sharing. Nice work!

  • by wishinghand on 7/21/23, 2:12 PM

    Great project though it reminds me of my desire to see a node based flat file CMS like Kirby, preferably with Vue as the flavor of templating.
  • by IceWreck on 7/21/23, 1:32 PM

    Huh nice. Looks like it uses Supabase as a backend.
  • by kykeonaut on 7/21/23, 1:14 PM

    Thank you for using an MIT license :)
  • by mdrzn on 7/21/23, 1:09 PM

    Looks interesting, will give it a try for a personal landing page.
  • by xstefen on 7/23/23, 6:26 AM

    I wish the self-hosted option was more self-hosted
  • by Kalpeshbhalekar on 7/21/23, 2:17 PM

    Great product!

    How is this different from Strapi or Ghost?

  • by robbiejs on 7/21/23, 1:02 PM

    Looks great, very snappy
  • by jurimasa on 7/21/23, 4:34 PM

    As someone who has been working with WP since the beginning... Seems fun. Can you deploy it on a classic LAMP server? If not, it's not really a WP replacement for me. And I'm really looking for one.