[HN Gopher] Show HN: Primo - a visual CMS with Svelte blocks, a ...
___________________________________________________________________
Show HN: Primo - a visual CMS with Svelte blocks, a code editor,
and SSG
Author : mmmateo
Score : 275 points
Date : 2023-07-21 12:38 UTC (10 hours ago)
(HTM) web link (primocms.org)
(TXT) w3m dump (primocms.org)
| tamimio wrote:
| 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
| mmmateo wrote:
| I agree! That's why Primo generates static HTML & CSS & only
| includes [vanilla] JS when its necessary to hydrate any
| interactive components. All using the Svelte compiler under the
| hood.
| tamimio wrote:
| Awesome, thanks, love the project I already signed up! Might
| give it a try on my company site if I found some templates
| for commercial sites.
| mdrzn wrote:
| Looks interesting, will give it a try for a personal landing
| page.
| mmmateo wrote:
| Sweet! Let me know if you need any help
| mmmateo wrote:
| 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
| spankalee wrote:
| Would love to see this where blocks are standard web components
| and use native encapsulation!
| mmmateo wrote:
| I just tried it out with web components using Lit and it
| seems to work pretty well (https://i.imgur.com/PFvMgFp.png),
| allowing you to pass in on-page editable fields. But I'd be
| interested to hear where web components would work better
| than static/hydrated components.
| spankalee wrote:
| Looks like that's using lit-html templates inside Svelte,
| but not any custom elements.
|
| Web components would be good because they're an interface
| that Primo could work with without relying on specific
| implementation details. They're also encapsulated with
| shadow DOM, and support interoperable composition
| (components can have child elements made from any other
| frameworks or library).
|
| So you could still build blocks with Svelte, but also Lit,
| Preact, Stencil, Vue, etc.
|
| In a similar situation, I was advising the
| https://blockprotocol.org/ folk on how to define some
| interfaces on top of HTMLElement to allow standardized
| passing down of data to blocks, instead of requiring React
| in their case. I don't know how far they've gotten with
| that.
| p-e-w wrote:
| > lost my primo.af domain name to the Taliban
|
| I had no idea it used to be possible to register Afghan domain
| names from outside of Afghanistan.
| leokeba wrote:
| Hi Mateo, nice to see the project is still alive and evolving.
| I personally tried it about a year ago, and I found it really
| good for designing simple web pages with reusable and
| customisable components. But the content management system was
| the issue for me, I was hoping there would be a way to just
| drop markdown files in a folder for it to generate articles or
| blog posts following a template like a regular SSG. We even
| talked about it briefly, and I then forked the primo repo and
| started implementing a custom method to convert the database
| entries into a files / folder structure, which was going
| alright but the reverse operation seemed tricky to implement
| and I ended up going down another road, building my own custom
| markdown SSG inspired by this guide :
| https://joshcollinsworth.com/blog/build-static-sveltekit-mar...
| Anyway, my use case is probably not the one you are targeting,
| but I still think it would be a dope product if everything
| worked the same but instead of writing the project into a
| database it would be a dynamic files / folder structure that
| could be edited and versioned like a regular sveltekit project.
| Basically it would be a svelte-based SSG framework with a
| components library and a dedicated UI to complement the regular
| text editor. Just dropping this in case someone reads it and
| wants to build it, keep up the good work.
| mmmateo wrote:
| Thanks! I could definitely see the value in that. Once we
| make it possible to fetch content dynamically it should be
| easy to fetch Markdown from a repo and render it anywhere on
| the page. Or it might be simpler to keep SvelteKit/Astro for
| that since it does it so well and just use Primo for the non-
| blog pages, which is currently possible.
| evantbyrne wrote:
| Great work! I also come from an agency background, and it's
| refreshing to see content management systems that support
| flexible page layouts becoming more popular.
| swyx wrote:
| so, so excited to see you on the front page again Mateo! you're
| succeeding in an incredibly tough market which takes the full
| set of founder skills to execute. congrats!
| mmmateo wrote:
| thanks so much swyx!
| stOneskull wrote:
| it's working for me :) i've been using primo for the last week
| to make my blog, and i feel more productive, and i've learned a
| lot. the forum is cool too. answers to a couple questions i had
| were already there. thank you for making primo.
| mmmateo wrote:
| That's awesome! So glad you like it
| jaequery wrote:
| 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.
| [deleted]
| [deleted]
| rsp1984 wrote:
| 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.
| promiseofbeans wrote:
| You might like Builder.io (https://www.builder.io/m/developers)
| - they let you embed drag-n-drop powered sections within your
| regular page markup, and it looks like they support most
| frameworks like svelte.
| thomasqbrady wrote:
| What you say you'd like is what I'm looking for, too, but what
| you say Primo is doesn't sound far enough off that I understand
| your complaint. When you say "customize blocks" I guess that
| doesn't include changing the text? Or perhaps it doesn't
| constrict the possible actions enough for you to feel safe
| handing it over to a client?
| mmmateo wrote:
| Is your concern with the fact that clients can lay out their
| sites with blocks? Note that they can't edit any of the visual
| aspects unless you create a field for those specifically (e.g.
| making an image a circle or square).
|
| If it's with not being able to use a local IDE - that is
| something that's currently possible by bundling your Svelte
| components into vanilla JS and importing them into your Primo
| blocks & passing along data as fields - but I'd give it a
| couple weeks before using it in production until we smooth it
| out.
|
| But what you've described is essentially how I do my client
| projects - I build it all with code (usually reusing blocks
| from other projects) and hand off a site that literally any of
| my clients can edit on day one with minimal training.
| andybak wrote:
| 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)
| mmmateo wrote:
| good point, shame I can't edit the title
| EspressoGPT wrote:
| I think most people who know they need an SSG know what SSG
| means. But yes, it might be more helpful for users who don't
| know that yet.
| andybak wrote:
| I know what a static sure generator is and I've used one
| (briefly).
|
| But the acronym is unfamiliar to me and it took me a moment
| or two. It's bad form and we should do it less often.
| kykeonaut wrote:
| Thank you for using an MIT license :)
| mmmateo wrote:
| Sure thing! Just changed it from AGPL actually. It would be
| ideal if anyone forking it would contribute changes, but I was
| worried that would keep them from using it to build internal
| tools or separate products, and all the underlying tech is MIT
| anyway.
| kykeonaut wrote:
| Yep, that is actually a big problem (benefit?) with
| Wordpress, were all the code is redistributable because of
| the GPL license. So paid plugin developers are in this weird
| limbo were they are charging people for their plugins without
| telling them that the code is freely redistributable.
| ransackdev wrote:
| A plugin is a separate code module that wordpress loads,
| surely those are not bound to the wordpress core license.
| Extending wordpress with non-wordpress owned code does not
| grant them the right to push their license onto somebody
| else's completely unrelated code. If that were true, nobody
| would ever be able to sell a proprietary app on any linux
| distro. GitLab is open core yet extends the functionality
| with enterprise under a different, proprietary license.
| mthoms wrote:
| There's no legal precedent yet, but WordPress
| plugins/themes are widely considered as being GPL because
| they're a "derivative" work.
|
| Or, at least the PHP code in those plugins/themes are -
| possibly not the CSS + assets.
|
| https://kinsta.com/learn/wordpress-gpl/
| jurimasa wrote:
| 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.
| mmmateo wrote:
| Primo itself is a SvelteKit application, so I don't know how
| possible it would be to run it on a LAMP server, but you could
| certainly deploy the static sites it generates on one.
| DanielKehoe wrote:
| 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
| mmmateo wrote:
| I've always appreciated how Svelte keeps things as simple as
| possible without sacrificing capability, and how that results
| in more productivity and enjoyment in building. Really this is
| a visual layer over that to make it even more approachable.
| nailer wrote:
| > 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
| mmmateo wrote:
| Could you elaborate? Tailwind CSS is MIT but it's still under a
| for-profit company.
| nailer wrote:
| Orthogonal. Many open source projects have companies behind
| them, that doesn't restrict what you can do with the license.
| mmmateo wrote:
| That's true, but it does communicate something important to
| companies and individuals looking to use, contribute, or
| build on the project to say what _kind_ of open source it
| is, rather than just saying its open-source IMO. Would be
| interested to hear if you think it could be clarified
| though.
| pcthrowaway wrote:
| Your answer completely sidesteps the question though and
| doesn't mention that it's open source, which makes it
| sound like it's not
| mmmateo wrote:
| Ahh okay that makes sense. Just updated it, thanks.
| nathabonfim59 wrote:
| 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.
| mmmateo wrote:
| Thanks so much! Would love to hear how it works for you & help
| where I can. Lots still to come :)
| wishinghand wrote:
| 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.
| FireInsight wrote:
| Github: https://github.com/primocms/primo
|
| Previous discussions:
| https://news.ycombinator.com/item?id=23820201
| https://news.ycombinator.com/item?id=25301040
|
| Show HN with some text attached from what seems to be OPs alt
| account: https://news.ycombinator.com/item?id=36801101
| klaussilveira wrote:
| 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.
| kykeonaut wrote:
| I think people are attached to Wordpress for the same reason we
| are attached to Javascript. At the time, it was one of the only
| ways of easily creating a blog.
|
| The problem with Wordpress is that once you need to do
| something outside of the norm then all of the sudden you need
| deep knowledge of Wordpress's inner workings.
| pc86 wrote:
| There was never a time when WordPress was the only easy way
| for even a non-technical person to create a blog, they just
| did a great job marketing that that was the case.
|
| I spent a very brief time as a contributor to WP internals
| (not core by any means but a handful of contributions) and
| not only do you need a lot of internal knowledge to do
| anything outside of point-and-click, like you said, a lot of
| the core folks had never worked on any other large software
| projects, didn't do anything outside of WordPress, and had
| very little desire to make sure what they were doing was
| sound from a software engineering / code quality standpoint.
| It's a pretty great example of the big ball of mud /
| spaghetti code cliche.
| actionfromafar wrote:
| From a social standpoint, it was though. You could ask a
| lot of non-expert people for help on Wordpress and get it.
| pc86 wrote:
| That's exactly what I mean. They did a great job making
| people _think_ that if you wanted a blog and weren 't a
| programmer, WP was your only choice.
| codegeek wrote:
| Ok I will bite. What was an alternative to WordPress
| especially back then that actually was as easy to use as
| WP AND had the ecosystem of plugins that WP has. Focus on
| non technical users only who have no idea how to write
| code.
| chiefalchemist wrote:
| You're correct. Alternatives were slim. But in
| retrospect, perhaps that was part of the problem? WP had
| zero incentive for clean code, QA, industry standards,
| etc. The more it grew, ironically the less it cared. The
| embedded base of site and dev as well as the plugin and
| theme ecosystem maintain the momentum forward, somehow.
| _jal wrote:
| The main competitor was Movable Type.
|
| I recall there being several other also-rans, but am
| having trouble recalling names.
| eropple wrote:
| Movable Type was pretty great, but it also cost money.
| The open-source era of MT was brief and after its primary
| period of relevance.
| civilitty wrote:
| I don't think it was even the marketing but the product
| placement. I remember in the 2000s if you wanted hosting
| that wasn't a dedicated server, the scene was dominated
| almost entirely by CPanel with a one click installer for
| Wordpress.
|
| Once the plugin ecosystem sprung up around it, WP was off
| to the races.
| contravariant wrote:
| That sounds like static content to me, what's wrong with just
| HTML?
| klaussilveira wrote:
| It's not really static. It grabs data from a database, or an
| API, and renders using entity-specific templates, both from a
| single entity perspective (post.php theme) and listing
| (search.php, index.php).
|
| What I mean is: having something like Primo that allows
| visual management of such dynamic blocks and themes would be
| nice, so Editors can just play around with the result of
| their content calls (which the CMS handles transparently,
| doesn't matter if a SQL query or an API call).
| pc86 wrote:
| That is static - none of it is based on user input so it
| can be compiled into a static HTML page every time you
| publish a new post or edit a page theme or anything.
| There's no reason the system needs to pull that 5 year old
| blog post from the database every time.
| klaussilveira wrote:
| How is it not user input? Editor can opt to show whatever
| in his list, playing with the external source filters:
| most visited, or last published, or less visited.
|
| Once the editor is done with his work, if you want to
| compile a bunch of HTML/CSS and push to Netlify, that's
| fine. But his interaction with the CMS is not static at
| all.
| contravariant wrote:
| Hmm, well if you consider that to be dynamic then editing
| html files in notepad is dynamic as well I suppose.
| johnnyworker wrote:
| That depends on the desired features. E.g. if you have a
| tag cloud displayed in the sidebar on each page, author
| list, etc., any change to any post could potentially mean
| all pages have to be rebuilt. Or if you have different
| ways to display items (full, thumbnail), different ways
| of sorting them, and maybe even variable pagination (i.e.
| "show me page 7 with 15 items per page"), and it can very
| easily become unfeasible to statically generate all
| possible permutations. In the context of "systems that
| allow newbies to get results" this may not be as
| important, even there you might want to have little neat
| things like displaying relative dates. Dynamic doesn't
| have to mean user input, it just means dynamic. And then
| there's search, in case you want/need to handle that
| yourself.
|
| A probably very naive solution to that I came up with and
| experimented with is keeping track of all things that go
| into a page, and tag the cache of it with them, so I
| could invalidate all cached items that refer to a thing
| that was just changed (where that thing can be anything,
| a tag, the site title, whatever), but I ended up
| scrapping in favor of caching everything for 1 hour no
| questions asked, because it was just total overkill for
| my use case.
| mmmateo wrote:
| Definitely possible in the future, although to keep the project
| focused I'd imagine using a plugin or fetching that content
| from a separate CMS tailor-made for that kind of content would
| be ideal.
| jordienr wrote:
| That's what I'm building :)
|
| https://zendo.blog
| dgudkov wrote:
| Looks neat! Signed up.
| mmmateo wrote:
| This looks perfect! Just signed up
| manuelmoreale wrote:
| Not sure if this is what you're after but give
| https://getkirby.com/ a try
| Jiocus wrote:
| Did you https://github.com/TryGhost/Ghost ?
| gochi wrote:
| Take your pick https://jamstack.org/headless-cms/
| robbiejs wrote:
| Looks great, very snappy
| Kalpeshbhalekar wrote:
| Great product!
|
| How is this different from Strapi or Ghost?
| mmmateo wrote:
| The biggest difference from any existing CMS is the integration
| of a code-editor and Svelte components, but also the on-page
| editing is more user-friendly than most CMSs or site builders.
|
| Specifically: It's a monolithic CMS, unlike Strapi, so you
| don't need to include an SSG to turn your content into code.
| And Ghost is more of a full-featured service for online
| publications where Primo would be better suited for smaller
| bags, landing pages, and brochure sites.
| IceWreck wrote:
| Huh nice. Looks like it uses Supabase as a backend.
| mmmateo wrote:
| Yup! Makes it super easy to spin up a server. We're working on
| making it backend-agnostic to open it up to more people, but
| Supabase has always been my go-to.
| zote wrote:
| It would indeed, you clearly worked long, and hard on this as
| such I'd like to ask (since you've used Svelte). What is
| something you wish you knew earlier (a feature or an
| approach) with Svelte that you've found invaluable?
| mmmateo wrote:
| It's hard to think of something I wish I knew earlier tbh.
| Svelte (and SvelteKit) are just so simple and approachable
| that I feel like whenever I need to do something new I can
| just try what feels most intuitive and it just works. I've
| heard the same thing from a lot of other people too. If
| anything I would just keep an eye on reactive statements; I
| wouldn't trade them for the world but they can be dangerous
| if you don't keep an eye on them.
| cal85 wrote:
| And as a frontend! I mean, I don't mean this as a dunk, maybe
| it's all cool with Supabase, but aesthetically it looks
| extremely similar, not just a little bit. Is that intentional?
| Do they encourage sharing their styles or something?
| mmmateo wrote:
| haha good point, but no it wasn't intentional. Wanted to
| replace the hot red & black design I had before with
| something besides blue.
| kiwicopple wrote:
| Don't worry, we don't mind. Thanks for using supabase! Let
| us know if you need anything to help with Primo - it looks
| amazing
| mmmateo wrote:
| Thanks for making it! And that's great to know - I've
| always wondered
| ransackdev wrote:
| 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.
| mmmateo wrote:
| Totally understand the interpretation, but if you take a closer
| look I think you'll find Primo is actually the opposite. Site
| builders like Dreamweaver, Squarespace, Wix, Webflow, Weebly,
| etc. (and even WordPress now) replace code with visual controls
| - bridging the gap between users and their websites, but also
| putting up a wall that keeps them from modifying the code
| directly (or at best, applying some custom CSS on top of it).
| Primo, on the other hand, bridges the gap _directly_ to the
| code, which means the interface doesn 't get bogged down by
| toggles, sliders, and color pickers and users are never limited
| to just the subset of the underlying platform pre-ordained by
| whoever built the tool. That's the beauty of code, and it's
| what excites me most about Primo - that people who would
| otherwise think code was outside of their reach would realize
| it's actually something they'd be good at and enjoy.
| ransackdev wrote:
| Primo is not the opposite. From the primo site, the 3 main
| bullet points
|
| - Drag-n-drop page building
|
| > Build your site's pages by dragging and dropping your
| directly blocks onto the page, unencumbered by overwhelming
| design options.
|
| - Visual content editing
|
| > Update your text, images, and links directly on the page or
| open up the Fields view to manage your content from a
| structured view.
|
| - Integrated development
|
| > Access each block's code with a click - right from your
| browser. And since each block is a Svelte component, there's
| no limit to what you can make.
|
| That is functionality that existed in Dreamweaver since
| ~2000[1]
|
| - Quick Tag Editor
|
| > Bring the HTML source directly into the visual design
| environment. Use a keyboard shortcut to quickly access and
| modify HTML tags around the selected object on the page.
|
| - HTML styles and cascading style sheets
|
| > Dreamweaver styles give you desktop-publishing-level
| control over the text in your Web site. Quickly apply
| combinations of character and paragraph styles to text with
| the new HTML Style palette. Easily configure character and
| paragraph level styles for a site and share them with the
| entire development team with cascading style sheets. The
| choice between HTML styles or CSS styles gives you unparalled
| flexibility and control.
|
| - HTML Inspector
|
| > Roundtrip HTML lets you visually design your Web site
| without sacrificing control over HTML source. The HTML
| inspector gives you total visibility and access to HTML
| source. Edit, drag and drop, or copy and paste directly in
| the HTML inspector (which now displays line numbers).
|
| 1.https://web.archive.org/web/20001012150931/http://macromedi
| a...
|
| Regardless of the dreamweaver comparison, please explain how
| this is different, or as you said, the opposite, from any
| other site builder out there?
| mmmateo wrote:
| Ah yeah I forgot Dreamweaver does give you access to the
| code, in that regard it's similar. But, speaking as a user
| of Primo (and echoing what I've heard from a lot of other
| users), I haven't found anything that rides the line
| between no-code and code quite like this (especially open-
| source).
|
| Yes Primo offers visual content editing and page building,
| because that's the only way to make a page flexibly
| editable by a non-technical user. Abstraction is only a
| negative thing when it stands in the way of what you want
| to do. Page building abstracts copy-pasting code. Visual
| content editing abstracts writing editorial content in
| HTML. Styling & building is the one thing that's left up to
| code because it has so many more possibilities than laying
| out blocks or writing content. So in the sense of building,
| Primo is the opposite to visual site builders like Webflow,
| Squarespace, Wix, etc.
|
| I think that's why a new site builder pops up every other
| day - because they're all attacking the problem from
| different ends of the spectrum. Some give you more control,
| but are more complex/professional (like Webflow), while
| others are easier to use but offer less control (like
| Squarespace), and others are tailored to particular
| industries.
| ransackdev wrote:
| From what I see they all offer drag and drop UI elements
| with the ability to dig into the underlying code if you
| want to. I'm not seeing a difference between all of them
| other than what the flavor of the week is in terms of
| lanugage powering the CMS. I remember when ghost was all
| the rage, and many others. Again, not crapping on your
| project, props to you for the dedication, and if you're
| happy working on it that's all that matters
| hedgehog wrote:
| I do, and about 20 other projects since. In my experience far
| from a solved problem. I mean, I remember IE3 too, how many
| times are we going to recreate the web browser?
| nobleach wrote:
| 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.
| mmmateo wrote:
| I definitely understand with the struggle to balance design
| freedom and brand identity (or good design). But wouldn't you
| still have the issue of content editors wanting to right align
| text and turn it blue regardless of the CMS you're using?
| imadj wrote:
| > But wouldn't you still have the issue of content editors
| wanting to right align text and turn it blue regardless of
| the CMS you're using?
|
| OP mentioned the ultimate solution in their comment, it's
| Headless CMS (provide content) + fully custom frontend.
| did wrote:
| Context: I'm the creator an open source page builder in Ruby on
| Rails named Maglev (https://www.maglev.dev), pretty much
| similar to Primo (congrats for their product, looks amazing!).
|
| A couple of months, I used my own tool (Maglev) when revamping
| an e-commerce site of a client who didn't have a content
| management system to edit the marketing part of her site. So I
| sliced the site into editable "Maglev" sections/blocks. The
| result was great in terms of editing experience BUT a couple of
| months later after the launch, my client hired another
| marketing person with HTML/CSS "skills" (I'd say 101 HMTL/CSS
| level). And I had a hard time to convince her that it was a bad
| idea to write HTML/CSS code herself but instead to let me (or
| another developer) write the missing sections she wanted.
|
| A solution would have been to add in Maglev some kind of dev
| editor like in Primo. However, based on my long experience, you
| really don't want your client to touch the HTML/CSS of your
| site. And I don't believe in the "you break it, you pay for it"
| mojo or at least this is not the kind of relationship I want
| with my clients.
|
| On a higher level, any kind of CMS has the same issue. For
| instance, I helped a company with a broken Webflow site and it
| was the typical issue: a designer built their site and later
| the marketing person tried to "improve" the UI and broke
| everything.
| andrei_says_ wrote:
| Thank you for Maglev - looks awesome
| mmmateo wrote:
| > However, based on my long experience, you really don't want
| your client to touch the HTML/CSS of your site.
|
| Certainly, and in the same vein you don't want your client
| touching the design of the site. Clients can barely write
| good copy, much less make good design decisions. My freelance
| projects go a lot more smoothly now that I can hand off the
| site to the client knowing that they're restricted to
| adding/removing blocks and updating content (and that they
| can't see the 'open code' button).
| scientaster2 wrote:
| I'm building a GraphQL based headless CMS currently, ~2 months
| away from an official launch. It's currently wholly lacking
| official documentation but feel free to give the index page a
| peek and see if it's something you'd be interested in trying
| out!
|
| (or if you just have general feedback or learnings from your
| own experience, I'd love to hear that too!)
|
| https://brick-cms.com/
| eole666 wrote:
| 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.
| mmmateo wrote:
| Thanks! And yeah I agree it's a bit mislabeled; the goal was to
| enable people to put up their own server as easily as possible,
| which meant plugging into those services. We are working on
| decoupling the backend so you could self-self-host it though.
| ransackdev wrote:
| sqlite or flat html files would enable the ease of self
| hosting without any third party external service dependencies
| mmmateo wrote:
| Possibly for the database but authentication and file
| storage would still need to be taken care of
| rallisf1 wrote:
| True but still, you can self host supabase as well. The only
| service really required is GitHub but I guess other providers
| (e.g. gitlab) can be added down the line.
| jermberj wrote:
| 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?
| mmmateo wrote:
| No, you'd use an external service for stuff like that (I use
| Getform for emails).
| jermberj wrote:
| [dead]
| ransackdev wrote:
| Ghost has this functionality and is used by many
| https://ghost.org/
___________________________________________________________________
(page generated 2023-07-21 23:00 UTC)