Ghost’s Content API provides complete access to any public data on your Ghost site including posts, pages, tags, authors and settings.The JavaScript Client provides an easy, consistent way to get data from the Content API in JavaScript. It works server-side, in the browser or even in a build pipeline.The JavaScript SDK provides further tools for working with the data returned from the Content API.These three tools give you total flexibility to build any custom frontend you can imagine with minimal coding required. Some examples of what can be achieved include generating static files, building a browser-based application or creating a latest posts widget on an external site.
Read more about how to install and use these tools in your environment. Learn more about the Ghost API and specific endpoints in our API documentation.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Ghost Developer Docs","colors":{"primary":"#15171A","light":"#FFFFFF","dark":"#15171A"},"logo":{"light":"https://mintcdn.com/ghost/aGR3I5_lq1oxakuc/logo/light.png?fit=max\u0026auto=format\u0026n=aGR3I5_lq1oxakuc\u0026q=85\u0026s=21b0a8eb2cb31ff62e99362023cc2de7","dark":"https://mintcdn.com/ghost/aGR3I5_lq1oxakuc/logo/dark.png?fit=max\u0026auto=format\u0026n=aGR3I5_lq1oxakuc\u0026q=85\u0026s=bf70847c5fb515f7414edad80653b09d","href":"https://ghost.org/"},"favicon":"https://mintcdn.com/ghost/5_xpDDjqLTzEezAK/favicon.png?fit=max\u0026auto=format\u0026n=5_xpDDjqLTzEezAK\u0026q=85\u0026s=2b382b5a4fc8a5fd8aca319841d9842a","appearance":{"default":"light","strict":false},"navbar":{"links":[{"href":"https://account.ghost.org/signin/","label":"Sign in"}],"primary":{"type":"button","label":"Get Started","href":"https://account.ghost.org/signup/"}},"footer":{"socials":{"github":"https://github.com/tryghost/ghost","twitter":"https://twitter.com/ghost","bluesky":"https://bsky.app/profile/ghost.org","reddit":"https://www.reddit.com/r/ghost"}},"styling":{"eyebrows":"breadcrumbs","codeblocks":"dark","latex":false},"navigation":{"global":{"anchors":[{"anchor":"Tutorials","icon":"joystick","href":"https://ghost.org/tutorials/"},{"anchor":"Developer Forum","icon":"server","href":"https://forum.ghost.org/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ghost","hasAudioNarration":false,"actualSubdomain":"ghost","customDomains":["docs.ghost.org"],"gitSource":{"type":"github","owner":"tryghost","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adcfc881be30d93cc22c3d0","collectionId":"e479b5bd-ca6d-4c43-962f-2d57872f9166","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adcfc881be30d93cc22c3d0"},"feedback":{"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adcfc881be30d93cc22c3d0","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Documentation","count":157},{"language":"default","tag":"Themes","count":75},{"language":"default","tag":"Advanced Tools","count":64},{"language":"default","tag":"Helpers","count":56},{"language":"default","tag":"Admin API","count":40},{"language":"default","tag":"Data","count":26},{"language":"default","tag":"Utility","count":21},{"language":"default","tag":"Migration Guides","count":16},{"language":"default","tag":"Migrating to Ghost","count":16},{"language":"default","tag":"Content API","count":13}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".prose :not(pre)>code{background-color:rgb(var(--primary)/.1)}.prose :not(pre)>code:is(.dark *){background-color:rgb(var(--primary-light)/.1)}table strong{font-weight:700!important}"}],"page":{"pagePath":"jamstack/custom","slug":"/jamstack/custom","pageMetadata":{"title":"Building A Custom Front End For Ghost","sidebarTitle":"Custom","description":"Build a completely custom front-end for your Ghost site with our Content API and [JavaScript Client](/content-api/javascript/)","href":"/jamstack/custom"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Build a completely custom front-end for your Ghost site with our Content API and \", _jsx(_components.a, {\n href: \"/content-api/javascript/\",\n children: \"JavaScript Client\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,hr:`hr`,p:`p`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.p,{children:[`You’ll need basic understanding of JavaScript and a running Ghost installation, which can either be self-hosted or using `,_jsx(_components.a,{href:`https://ghost.org/pricing/`,children:`Ghost(Pro)`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`getting-started`,children:`Getting started`}),`\n`,_jsxs(_components.p,{children:[`Ghost’s `,_jsx(_components.a,{href:`/content-api/`,children:`Content API`}),` provides complete access to any public data on your Ghost site including posts, pages, tags, authors and settings.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.a,{href:`/content-api/javascript/`,children:`JavaScript Client`}),` provides an easy, consistent way to get data from the Content API in JavaScript. It works server-side, in the browser or even in a build pipeline.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.a,{href:`/content-api/javascript/#javascript-sdk`,children:`JavaScript SDK`}),` provides further tools for working with the data returned from the Content API.`]}),`\n`,_jsx(_components.p,{children:`These three tools give you total flexibility to build any custom frontend you can imagine with minimal coding required. Some examples of what can be achieved include generating static files, building a browser-based application or creating a latest posts widget on an external site.`}),`\n`,_jsx(Heading,{level:`3`,id:`further-reading`,children:`Further reading`}),`\n`,_jsxs(_components.p,{children:[`Read more about how to `,_jsx(_components.a,{href:`/content-api/javascript`,children:`install and use`}),` these tools in your environment. Learn more about the Ghost API and specific endpoints in our `,_jsx(_components.a,{href:`/content-api/`,children:`API documentation`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Building A Custom Front End For Ghost","sidebarTitle":"Custom","description":"Build a completely custom front-end for your Ghost site with our Content API and [JavaScript Client](/content-api/javascript/)","href":"/jamstack/custom"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Getting started","slug":"getting-started","depth":2,"children":[{"title":"Further reading","slug":"further-reading","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"ghost","siteName":"Ghost Developer Docs","title":"Building A Custom Front End For Ghost - Ghost Developer Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-26T14:15:59.561Z","originalFileLocation":"jamstack/custom.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Build a completely custom front-end for your Ghost site with our Content API and JavaScript Client\">\u003cmeta data-mint-head name=\"application-name\" content=\"Ghost Developer Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ghost/6htagQqB_6O-rO9Z/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/ghost/6htagQqB_6O-rO9Z/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ghost/6htagQqB_6O-rO9Z/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ghost/6htagQqB_6O-rO9Z/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ghost/6htagQqB_6O-rO9Z/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ghost/6htagQqB_6O-rO9Z/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ghost/6htagQqB_6O-rO9Z/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ghost/6htagQqB_6O-rO9Z/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ghost/6htagQqB_6O-rO9Z/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Building A Custom Front End For Ghost - Ghost Developer Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Build a completely custom front-end for your Ghost site with our Content API and JavaScript Client\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ghost Developer Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.ghost.org/jamstack/custom\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ghost.mintlify.app/_mintlify/api/og/v2?division=JAMstack\u0026amp;title=Building+A+Custom+Front+End+For+Ghost\u0026amp;description=Build+a+completely+custom+front-end+for+your+Ghost+site+with+our+Content+API+and+%5BJavaScript+Client%5D%28%2Fcontent-api%2Fjavascript%2F%29\u0026amp;theme=0912343b8423bd7f582adf80\u0026amp;signature=e72b17daa0f88e9edbd01d98512290b62cb5477f1d36b050e68341ff67d25c4e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Building A Custom Front End For Ghost - Ghost Developer Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Build a completely custom front-end for your Ghost site with our Content API and JavaScript Client\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ghost.mintlify.app/_mintlify/api/og/v2?division=JAMstack\u0026amp;title=Building+A+Custom+Front+End+For+Ghost\u0026amp;description=Build+a+completely+custom+front-end+for+your+Ghost+site+with+our+Content+API+and+%5BJavaScript+Client%5D%28%2Fcontent-api%2Fjavascript%2F%29\u0026amp;theme=0912343b8423bd7f582adf80\u0026amp;signature=e72b17daa0f88e9edbd01d98512290b62cb5477f1d36b050e68341ff67d25c4e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/ghost/6htagQqB_6O-rO9Z/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Ghost Developer Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#15171A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.ghost.org/jamstack/custom\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/jamstack/custom.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.ghost.org/#organization\",\"name\":\"Ghost Developer Docs\",\"url\":\"https://docs.ghost.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ghost/aGR3I5_lq1oxakuc/logo/light.png?fit=max\u0026auto=format\u0026n=aGR3I5_lq1oxakuc\u0026q=85\u0026s=21b0a8eb2cb31ff62e99362023cc2de7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.ghost.org#website\",\"name\":\"Ghost Developer Docs\",\"url\":\"https://docs.ghost.org\",\"publisher\":{\"@id\":\"https://docs.ghost.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.ghost.org/jamstack/custom#webpage\",\"url\":\"https://docs.ghost.org/jamstack/custom\",\"name\":\"Building A Custom Front End For Ghost\",\"description\":\"Build a completely custom front-end for your Ghost site with our Content API and JavaScript Client\",\"dateModified\":\"2026-01-26T14:15:59.561Z\",\"isPartOf\":{\"@id\":\"https://docs.ghost.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.ghost.org/jamstack/custom#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.ghost.org/jamstack/custom#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Advanced Tools\",\"item\":\"https://docs.ghost.org/ghost-cli\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JAMstack\",\"item\":\"https://docs.ghost.org/jamstack\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Building A Custom Front End For Ghost\",\"item\":\"https://docs.ghost.org/jamstack/custom\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.ghost.org/jamstack/custom#article\",\"headline\":\"Building A Custom Front End For Ghost\",\"name\":\"Building A Custom Front End For Ghost\",\"description\":\"Build a completely custom front-end for your Ghost site with our Content API and JavaScript Client\",\"url\":\"https://docs.ghost.org/jamstack/custom\",\"mainEntityOfPage\":{\"@id\":\"https://docs.ghost.org/jamstack/custom#webpage\"},\"dateModified\":\"2026-01-26T14:15:59.561Z\",\"publisher\":{\"@id\":\"https://docs.ghost.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.ghost.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Ghost Developer Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Ghost Developer Docs","nav":{"global":{"anchors":[{"anchor":"Tutorials","icon":"joystick","href":"https://ghost.org/tutorials/"},{"anchor":"Developer Forum","icon":"server","href":"https://forum.ghost.org/"}]},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"Documentation","pages":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"How To Install Ghost","sidebarTitle":"Installation","href":"/install"},{"title":"Hosting Ghost","sidebarTitle":"Hosting Guide","href":"/hosting"},{"title":"How To Update Ghost","sidebarTitle":"Updates \u0026 Versions","href":"/update"}]},{"group":"Core Concepts","pages":[{"title":"Product Principles \u0026 Roadmap","sidebarTitle":"Overview","href":"/product"},{"title":"Architecture","href":"/architecture"},{"title":"Configuration","href":"/config"},{"title":"Staff Users","href":"/staff"},{"title":"Publishing","href":"/publishing"},{"title":"Memberships","href":"/members"},{"title":"Recommendations","href":"/recommendations"},{"title":"Email Newsletters","sidebarTitle":"Newsletters","href":"/newsletters"},{"title":"Ghost Security","sidebarTitle":"Security","href":"/security"}]},{"group":"Themes","pages":[{"title":"Ghost Handlebars Themes","sidebarTitle":"Overview","href":"/themes"},{"title":"Structure","href":"/themes/structure"},{"group":"Contexts","pages":[{"title":"Contexts","sidebarTitle":"Overview","href":"/themes/contexts"},{"title":"Index","href":"/themes/contexts/index-context"},{"title":"Page","href":"/themes/contexts/page"},{"title":"Post","href":"/themes/contexts/post"},{"title":"Author","href":"/themes/contexts/author"},{"title":"Tag","href":"/themes/contexts/tag"},{"title":"Error","href":"/themes/contexts/error"}]},{"title":"Assets","href":"/themes/assets"},{"group":"Helpers","pages":[{"title":"Helpers","sidebarTitle":"Overview","href":"/themes/helpers"},{"group":"Functional","pages":[{"title":"Functional Helpers","sidebarTitle":"Overview","href":"/themes/helpers/functional"},{"title":"foreach","href":"/themes/helpers/functional/foreach"},{"title":"get","href":"/themes/helpers/functional/get"},{"title":"has","href":"/themes/helpers/functional/has"},{"title":"if","href":"/themes/helpers/functional/if"},{"title":"is","href":"/themes/helpers/functional/is"},{"title":"match","href":"/themes/helpers/functional/match"},{"title":"unless","href":"/themes/helpers/functional/unless"}]},{"group":"Data","pages":[{"title":"Data Helpers","sidebarTitle":"Overview","href":"/themes/helpers/data"},{"title":"@config","href":"/themes/helpers/data/config"},{"title":"@custom","href":"/themes/helpers/data/custom"},{"title":"@page","href":"/themes/helpers/data/page"},{"title":"@site","href":"/themes/helpers/data/site"},{"title":"authors","href":"/themes/helpers/data/authors"},{"title":"comments","href":"/themes/helpers/data/comments"},{"title":"content","href":"/themes/helpers/data/content"},{"title":"date","href":"/themes/helpers/data/date"},{"title":"excerpt","href":"/themes/helpers/data/excerpt"},{"title":"social_accounts","href":"/themes/helpers/data/social_accounts"},{"title":"social_url","href":"/themes/helpers/data/social_url"},{"title":"img_url","href":"/themes/helpers/data/img_url"},{"title":"link","href":"/themes/helpers/data/link"},{"title":"meta data","href":"/themes/helpers/data/meta_data"},{"title":"navigation","href":"/themes/helpers/data/navigation"},{"title":"post","href":"/themes/helpers/data/post"},{"title":"price","href":"/themes/helpers/data/price"},{"title":"readable_url","href":"/themes/helpers/data/readable_url"},{"title":"recommendations","href":"/themes/helpers/data/recommendations"},{"title":"tags","href":"/themes/helpers/data/tags"},{"title":"tiers","href":"/themes/helpers/data/tiers"},{"title":"title","href":"/themes/helpers/data/title"},{"title":"total_members","href":"/themes/helpers/data/total_members"},{"title":"total_paid_members","href":"/themes/helpers/data/total_paid_members"},{"title":"url","href":"/themes/helpers/data/url"}]},{"group":"Utility","pages":[{"title":"Utility Helpers","sidebarTitle":"Overview","href":"/themes/helpers/utility"},{"title":"asset","href":"/themes/helpers/utility/asset"},{"title":"block","href":"/themes/helpers/utility/block"},{"title":"body_class","href":"/themes/helpers/utility/body_class"},{"title":"color_to_rgba","href":"/themes/helpers/utility/color_to_rgba"},{"title":"concat","href":"/themes/helpers/utility/concat"},{"title":"contrast_text_color","href":"/themes/helpers/utility/contrast_text_color"},{"title":"encode","href":"/themes/helpers/utility/encode"},{"title":"ghost_head \u0026 ghost_foot","href":"/themes/helpers/utility/ghost_head_foot"},{"title":"json","href":"/themes/helpers/utility/json"},{"title":"link_class","href":"/themes/helpers/utility/link_class"},{"title":"log","href":"/themes/helpers/utility/log"},{"title":"pagination","href":"/themes/helpers/utility/pagination"},{"title":"partials","href":"/themes/helpers/utility/partials"},{"title":"plural","href":"/themes/helpers/utility/plural"},{"title":"post_class","href":"/themes/helpers/utility/post_class"},{"title":"prev_post \u0026 next_post","href":"/themes/helpers/utility/prev_next_post"},{"title":"reading_time","href":"/themes/helpers/utility/reading_time"},{"title":"search","href":"/themes/helpers/utility/search"},{"title":"split","href":"/themes/helpers/utility/split"},{"title":"translate","href":"/themes/helpers/utility/translate"}]}]},{"title":"Content","href":"/themes/content"},{"title":"Search","href":"/themes/search"},{"title":"Share","href":"/themes/share"},{"title":"Members","href":"/themes/members"},{"title":"URLs \u0026 Dynamic Routing","sidebarTitle":"Routing","href":"/themes/routing"},{"title":"Custom Settings","href":"/themes/custom-settings"},{"title":"GScan","href":"/themes/gscan"}]},{"group":"Advanced Tools","pages":[{"title":"Ghost CLI","href":"/ghost-cli"},{"group":"Content API","pages":[{"title":"Overview","href":"/content-api"},{"title":"Posts","href":"/content-api/posts"},{"title":"Pages","href":"/content-api/pages"},{"title":"Tags","href":"/content-api/tags"},{"title":"Authors","href":"/content-api/authors"},{"title":"Settings","href":"/content-api/settings"},{"title":"Tiers","href":"/content-api/tiers"},{"title":"Parameters","href":"/content-api/parameters"},{"title":"Filtering","href":"/content-api/filtering"},{"title":"Pagination","href":"/content-api/pagination"},{"title":"Errors","href":"/content-api/errors"},{"title":"Versioning","href":"/content-api/versioning"},{"title":"Content API JavaScript Client","sidebarTitle":"JavaScript Client","href":"/content-api/javascript"}]},{"group":"Admin API","pages":[{"title":"Overview","href":"/admin-api"},{"group":"Posts","pages":[{"title":"Overview","href":"/admin-api/posts/overview"},{"title":"Creating a Post","href":"/admin-api/posts/creating-a-post"},{"title":"Updating a Post","href":"/admin-api/posts/updating-a-post"},{"title":"Publishing a Post","href":"/admin-api/posts/publishing-a-post"},{"title":"Scheduling a Post","href":"/admin-api/posts/scheduling-a-post"},{"title":"Sending a Post via email","href":"/admin-api/posts/sending-a-post"},{"title":"Email only posts","href":"/admin-api/posts/email-only-posts"},{"title":"Deleting a Post","href":"/admin-api/posts/deleting-a-post"},{"title":"Card visibility","href":"/admin-api/posts/card-visibility"}]},{"group":"Pages","pages":[{"title":"Overview","href":"/admin-api/pages/overview"}]},{"group":"Tiers","pages":[{"title":"Overview","href":"/admin-api/tiers/overview"},{"title":"Creating a Tier","href":"/admin-api/tiers/creating-a-tier"},{"title":"Updating a Tier","href":"/admin-api/tiers/updating-a-tier"}]},{"group":"Newsletters","pages":[{"title":"Overview","href":"/admin-api/newsletters/overview"},{"title":"Creating a Newsletter","href":"/admin-api/newsletters/creating-a-newsletter"},{"title":"Updating a Newsletter","href":"/admin-api/newsletters/updating-a-newsletter"},{"title":"Sender email validation","href":"/admin-api/newsletters/sender-email-validation"}]},{"group":"Offers","pages":[{"title":"Overview","href":"/admin-api/offers/overview"},{"title":"Creating an Offer","href":"/admin-api/offers/creating-an-offer"},{"title":"Updating an Offer","href":"/admin-api/offers/updating-an-offer"}]},{"group":"Members","pages":[{"title":"Overview","href":"/admin-api/members/overview"},{"title":"Creating a member","href":"/admin-api/members/creating-a-member"},{"title":"Updating a member","href":"/admin-api/members/updating-a-member"}]},{"group":"Labels","pages":[{"title":"Overview","href":"/admin-api/labels/overview"}]},{"group":"Users","pages":[{"title":"Overview","href":"/admin-api/users/overview"},{"title":"Roles","href":"/admin-api/users/roles"},{"title":"Invites","href":"/admin-api/users/invites"},{"title":"Updating a user","href":"/admin-api/users/updating-a-user"},{"title":"Deleting a user","href":"/admin-api/users/deleting-a-user"}]},{"group":"Images","pages":[{"title":"Overview","href":"/admin-api/images/overview"},{"title":"Uploading an Image","href":"/admin-api/images/uploading-an-image"}]},{"group":"Themes","pages":[{"title":"Overview","href":"/admin-api/themes/overview"},{"title":"Uploading a theme","href":"/admin-api/themes/uploading-a-theme"}]},{"group":"Site","pages":[{"title":"Site","href":"/admin-api/site/overview"}]},{"group":"Webhooks","pages":[{"title":"Overview","href":"/admin-api/webhooks/overview"},{"title":"Creating a Webhook","href":"/admin-api/webhooks/creating-a-webhook"},{"title":"Updating a Webhook","href":"/admin-api/webhooks/updating-a-webhook"},{"title":"Deleting a Webhook","href":"/admin-api/webhooks/deleting-a-webhook"}]},{"title":"Admin API JavaScript Client","sidebarTitle":"JavaScript Client","href":"/admin-api/javascript"}]},{"group":"JAMstack","pages":[{"title":"Ghost On The JAMstack","sidebarTitle":"Overview","href":"/jamstack"},{"title":"Working With Next.Js","sidebarTitle":"Next.js","href":"/jamstack/next"},{"title":"Working With Gatsby","sidebarTitle":"Gatsby","href":"/jamstack/gatsby"},{"title":"Working With Hexo","sidebarTitle":"Hexo","href":"/jamstack/hexo"},{"title":"Working With Nuxt","sidebarTitle":"Nuxt","href":"/jamstack/nuxt"},{"title":"Working With VuePress","sidebarTitle":"VuePress","href":"/jamstack/vuepress"},{"title":"Working With Gridsome","sidebarTitle":"Gridsome","href":"/jamstack/gridsome"},{"title":"Working With Eleventy","sidebarTitle":"Eleventy","description":"Build a completely custom front-end for your Ghost site with the flexibility of Static Site Generator [Eleventy](http://11ty.io).","href":"/jamstack/eleventy"},{"title":"Building A Custom Front End For Ghost","sidebarTitle":"Custom","href":"/jamstack/custom"}]},{"title":"Webhooks","description":"Webhooks are specific events triggered when something happens in Ghost, like publishing a new post or receiving a new member","href":"/webhooks"}]},{"group":"Resources","pages":[{"title":"Ghost Developer FAQs","sidebarTitle":"FAQ","href":"/faq"},{"title":"Breaking Changes","href":"/changes"},{"title":"Contributing to Ghost","sidebarTitle":"Contributing","href":"/contributing"},{"title":"LLM","href":"/llm"},{"title":"License","href":"/license/index"},{"title":"Logos","href":"/logos"},{"title":"Trademark","url":"https://ghost.org/trademark","href":"/trademark"}]}]},{"tab":"Migration Guides","pages":[{"title":"Migration Guides","href":"/migration"}]}]},"title":"Building A Custom Front End For Ghost - Ghost Developer Docs","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":[],"chunks":[]}