How can I allow editing of text/images via Admin UI for a custom designed page?

Hi, my company will be using Ghost for our company blog, and I think it’s great. I customized a version of Kutak and it looks great. We’re now wondering if we can also use Ghost for a refresh of our main marketing website, which currently lives on Webflow.

A marketing website, of course, is not a blog. While we definitely could create a customized home page (as well as some additional product specific pages), it seems like Ghost isn’t quite designed for it. But I’d still like to use it if possible, so I figured I’d just ask to see if there’s a way to get done what we need to get done.

The main thing we want to do is…

  • Have a handful of fully custom designed static pages. (eg. a homepage, a product deep dive page, a “why choose us” page, etc.) (eg. like our current home page here: https://goldfinch.finance)
  • Allow our marketing / content teams to update the text/images of those pages (not change design or layout or anything like that). → For example, we might have company stats or headlines or sub-titles that need to get edited. But they are in very specific places on the page, and this isn’t just a markdown blog post.

I was hoping to achieve this by building custom templates, and then having the text / images be things that the marketing team could edit on their own through the admin UI. But there really doesn’t seem to be a good way to achieve this kind of thing. It seems like if it’s not a blog post or very simple text-based side page, the admin editor is not very useful.

Approaches I’ve considered…

  • See if could re-use {{content}} blocks in multiple places on the template. → But then duh, no that doesn’t make sense. It just repeats the full content everywhere you put that.
  • Use some sort of custom fields API → But alas this does not exist, and it seems like it’s been talked about for years, but doesn’t have traction internally.
  • Create a fake “database” through a hidden blog post, which can be edited through the UI, and use some JS hackery to pull in the content into our custom template. → I think this would actually work, but it feels so gross.
  • Use custom settings → You only have 15 of these, and this is clearly not what they were designed for.

It feels like this should be doable. Is there another approach I’m missing?


  • What version of Ghost are you using? * Version: 5.59.4+moya

  • How was Ghost installed and configured? → I’m using the hosted version of Ghost, with a customized version of Kutak.

  • What Node version, database, OS & browser are you using? → N/A

  • What errors or information do you see in the console? → N/A

  • What steps could someone else take to reproduce the issue you’re having? → N/A

1 Like

I don’t think you are missing anything. The closest I can’t think of would be having the content team edit pages, but Ghost has an odd lack of ability to allow anyone but admins to edit pages-- others can only edit posts.

That was discussed more here: Problems with Staff Priviledges

As the issue has been raised and there has been no indication that it’s being implemented by the team, it seems you should look elsewhere for your marketing site for now.

Sometimes there’s a response given to “just submit a PR”, but most of my mine have been rejected and the one that was accepted recently took six weeks to get merged for a simple issue that there was no disagreement or refinement about. Also, there’s been no response that the ability to edit pages by non-admins is welcome.

There’s an issue about it this been waiting two months for initial triage. staff can create pages, but not save them · Issue #16876 · TryGhost/Ghost · GitHub

2 Likes

Thanks @markstos . To be clear, privileges are not really the issue for me. I would be fine setting everyone to admin (we’re a small team, only like 25 people). I’m just talking about an ability to edit text and images in a way that is tied directly into a particular, custom page. (As opposed to just big blob of text editing that is the default through the editor). And I don’t see any way to do that, regardless of whether someone is an admin or not.

As you found, you can only have {{content}} block.

My team used to use Dreamweaver for editing of HTML, and you could do that with Ghost files set to render as static pages. But back then, Dreamweaver was a one-time purchase.

Now it’s $29/month/user with an annual commitment required. I haven’t used Dreamweaver in 10+ years though, so I can’t say how worth it is now, but maybe there’s some other option in the category of static HTML editors you could use. Dreamweaver had SFTP integration, so you could essential live-edit a file on a remote server if you wanted to.