Design Ghost CMS blog with Plasmic

Hi,

Is there a way to pull in posts from Ghost CMS and use Plasmic to design the look/and feel of the blog template of Ghost CMS blog posts? Specifically, I’d like to use Ghost as our CMS and edit blog post content there, but use Plasmic for the actual design of the blog (archives and individual blog posts). I’m wondering if this is possible somehow with Plasmic?

@first_hookworm Yep! As long as Ghost data is available over API, you can pull it into Plasmic and render it however you’d like. You can insert HTTP API components (or if you want a more curated data fetching UX you can also author your own data-fetching code components)

@yang Thanks Yang. Do you have any documentation on how to set this up for individual blog posts? I’ve seen some documentation on how to create an archives pages in Plasmic by pulling in data from a CMS (like WordPress) but not for designing and displaying individual blog posts. Maybe I missed it?

No problem, for creating the detail pages for each blog post, you can create dynamic pages in plasmic, which is documented here https://docs.plasmic.app/learn/dynamic-pages/

Please let me know if that helps

That resource is geared more towards pulling in a collection of content for maybe a listing or archives page. Or, at least that’s what I’m gathering. It’s a bit hard to follow for my use case. I’d like to import content for individual blog posts and style the individual blog post page/template. Something that’s more specific to either another CMS or WordPress that’s set up in this way might be more helpful. Do you have any documentation that fits this use case?

Hi @first_hookworm, dynamic pages are how you can create a template that is automatically generated and filled in with different data for different records from a data source like your CMS.

So to take a step back:

• You can create a normal, non-dynamic page that just lists all the blog posts. Maybe this is at a route like /posts. This page typically fetches a bunch of records from the upstream data source
• You can also create a dynamic page at a route like /posts/[slug], which lets you define a single template and automatically generates a resulting page for any unique slug you pass in. This page typically fetches a single record from the upstream data source.
• That’s if you want all the blog post pages to look largely the same. If you want certain ones to look completely different, you can additionally create individual one-off pages like /posts/some-title.
Please let me know if that helps clarify things! Or if there is something I’m still missing.

Thank you @yang. That’s clear but the implementation of how to set this up, specifically in regards to a single blog template. All the resources (videos, documentation, etc.) I’ve found from Plasmic are around creating an archives pages (a page that fetches a bunch of records), which I’m able to do.

What’s not as clear is ho to set up the individual blog template, specifically for content from Plasmic’s CMS or another CMS like Ghost. It would be helpful to see some documentation for both of these use case, but at least some documentation on how to create a single blog template (for an individual blog post) from Plasmic CMS would be helpful.

Hi, the above link shows how to create dynamic pages, which I think is what you’re asking for? https://docs.plasmic.app/learn/dynamic-pages/