CINXE.COM
Joining the ActivityPub network
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Joining the ActivityPub network</title> <link rel="stylesheet" href="https://ghost.org/changelog/assets/built/screen.css?v=29e5b91597"> <link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap"> <style> :root { --brand-color: #15171A; } </style> <script defer data-domain="ghost.org" src="/js/script.js"></script> <meta name="description" content="Ghost is federating over ActivityPub to become part of the world’s largest publishing network."> <link rel="icon" href="https://ghost.org/changelog/content/images/size/w256h256/2023/06/ghost-orb-orange-squircle-04.png" type="image/png"> <link rel="canonical" href="https://ghost.org/changelog/activitypub-alpha/"> <meta name="referrer" content="no-referrer-when-downgrade"> <meta property="og:site_name" content="Changelog"> <meta property="og:type" content="article"> <meta property="og:title" content="Joining the ActivityPub network"> <meta property="og:description" content="Ghost is federating over ActivityPub to become part of the world’s largest publishing network."> <meta property="og:url" content="https://ghost.org/changelog/activitypub-alpha/"> <meta property="og:image" content="https://ghost.org/changelog/content/images/size/w1200/2024/04/CleanShot-2024-04-22-at-09.39.57@2x-1-1.png"> <meta property="article:published_time" content="2024-04-22T21:04:14.000Z"> <meta property="article:modified_time" content="2024-04-22T21:04:14.000Z"> <meta property="article:tag" content="Alpha"> <meta property="article:publisher" content="https://www.facebook.com/ghost"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Joining the ActivityPub network"> <meta name="twitter:description" content="Ghost is federating over ActivityPub to become part of the world’s largest publishing network."> <meta name="twitter:url" content="https://ghost.org/changelog/activitypub-alpha/"> <meta name="twitter:image" content="https://ghost.org/changelog/content/images/size/w1200/2024/04/CleanShot-2024-04-22-at-09.39.57@2x-1-1.png"> <meta name="twitter:label1" content="Written by"> <meta name="twitter:data1" content="John O'Nolan"> <meta name="twitter:label2" content="Filed under"> <meta name="twitter:data2" content="Alpha"> <meta name="twitter:site" content="@ghost"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="635"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "publisher": { "@type": "Organization", "name": "Changelog", "url": "https://ghost.org/changelog/", "logo": { "@type": "ImageObject", "url": "https://ghost.org/changelog/content/images/2022/06/logo-black-1.png" } }, "author": { "@type": "Person", "name": "John O'Nolan", "image": { "@type": "ImageObject", "url": "https://ghost.org/changelog/content/images/size/w1200/avatar/f95828f4e92f1befebabfb7f65cdc8f2.jpeg", "width": 1200, "height": 1200 }, "url": "https://ghost.org/changelog/author/john/", "sameAs": [] }, "headline": "Joining the ActivityPub network", "url": "https://ghost.org/changelog/activitypub-alpha/", "datePublished": "2024-04-22T21:04:14.000Z", "dateModified": "2024-04-22T21:04:14.000Z", "image": { "@type": "ImageObject", "url": "https://ghost.org/changelog/content/images/size/w1200/2024/04/CleanShot-2024-04-22-at-09.39.57@2x-1-1.png", "width": 1200, "height": 635 }, "keywords": "Alpha", "description": "Ghost is federating over ActivityPub to become part of the world’s largest publishing network.", "mainEntityOfPage": "https://ghost.org/changelog/activitypub-alpha/" } </script> <meta name="generator" content="Ghost 5.101"> <link rel="alternate" type="application/rss+xml" title="Changelog" href="https://ghost.org/changelog/rss/"> <script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.46/umd/portal.min.js" data-i18n="true" data-ghost="https://ghost.org/changelog/" data-key="2684759f159dc30f9ef9411c48" data-api="https://changelog.ghost.io/changelog/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content, .gh-post-upgrade-cta { display: flex; flex-direction: column; align-items: center; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; text-align: center; width: 100%; color: #ffffff; font-size: 16px; } .gh-post-upgrade-cta-content { border-radius: 8px; padding: 40px 4vw; } .gh-post-upgrade-cta h2 { color: #ffffff; font-size: 28px; letter-spacing: -0.2px; margin: 0; padding: 0; } .gh-post-upgrade-cta p { margin: 20px 0 0; padding: 0; } .gh-post-upgrade-cta small { font-size: 16px; letter-spacing: -0.2px; } .gh-post-upgrade-cta a { color: #ffffff; cursor: pointer; font-weight: 500; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a:hover { color: #ffffff; opacity: 0.8; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a.gh-btn { display: block; background: #ffffff; text-decoration: none; margin: 28px 0 0; padding: 8px 18px; border-radius: 4px; font-size: 16px; font-weight: 600; } .gh-post-upgrade-cta a.gh-btn:hover { opacity: 0.92; }</style> <script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/sodo-search.min.js" data-key="2684759f159dc30f9ef9411c48" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/main.css" data-sodo-search="https://changelog.ghost.io/changelog/" data-locale="en" crossorigin="anonymous"></script> <link href="https://ghost.org/changelog/webmentions/receive/" rel="webmention"> <script defer src="/changelog/public/cards.min.js?v=29e5b91597"></script> <link rel="stylesheet" type="text/css" href="/changelog/public/cards.min.css?v=29e5b91597"> <script defer src="/changelog/public/member-attribution.min.js?v=29e5b91597"></script><style>:root {--ghost-accent-color: #15171A;}</style> <script defer src="https://unpkg.com/@tinybirdco/flock.js" data-host="https://api.tinybird.co" data-token="p.eyJ1IjogIjc5NDZiOGI4LWM3NDctNGZkMS04OTI1LTVmYjI2NjE3NDg4MyIsICJpZCI6ICJmMWFlMjZmZi02MDgzLTRiNmQtYmYyZS02NDQxOThjZjJlZWEiLCAiaG9zdCI6ICJldV9zaGFyZWQifQ.wblBPXhSEbdvN472osGCEspDCy2rOKCRMp_nlVxcPs4" tb_site_uuid="ghost-org-changelog" tb_post_uuid="92f2e9a9-18d7-4e95-bd60-7b7d34ec81f1" tb_member_uuid="undefined" tb_member_status="undefined"></script> </head> <body class="post-template tag-alpha"> <svg width="0" height="0" style="display: none;"> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="arrow-left"> <path d="M26.667 14.667v2.667h-16L18 24.667l-1.893 1.893L5.547 16l10.56-10.56L18 7.333l-7.333 7.333h16z"></path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="arrow-right"> <path d="M5.333 14.667v2.667h16L14 24.667l1.893 1.893L26.453 16 15.893 5.44 14 7.333l7.333 7.333h-16z"></path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="brightness-2"> <path d="M13.333 2.667c-2.427 0-4.707.667-6.667 1.8 4 2.307 6.667 6.6 6.667 11.533s-2.667 9.227-6.667 11.533c1.96 1.133 4.24 1.8 6.667 1.8 7.36 0 13.333-5.973 13.333-13.333S20.693 2.667 13.333 2.667z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="chevron-left"> <path d="M20.547 22.107L14.44 16l6.107-6.12L18.667 8l-8 8 8 8 1.88-1.893z"></path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="chevron-right"> <path d="M11.453 22.107L17.56 16l-6.107-6.12L13.333 8l8 8-8 8-1.88-1.893z"></path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="circle-half-full"> <path d="M16 2.667c-7.36 0-13.333 5.973-13.333 13.333s5.973 13.333 13.333 13.333c7.36 0 13.333-5.973 13.333-13.333s-5.973-13.333-13.333-13.333zM16 5.333c5.893 0 10.667 4.773 10.667 10.667s-4.773 10.667-10.667 10.667v-21.333z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="dots-horizontal"> <path d="M21.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0zM13.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0zM5.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="facebook-box"> <path d="M6.667 4h18.667c1.467 0 2.667 1.2 2.667 2.667v18.667c0 1.467-1.2 2.667-2.667 2.667H6.667A2.675 2.675 0 0 1 4 25.334V6.667C4 5.2 5.2 4 6.667 4zM24 6.667h-3.333A4.672 4.672 0 0 0 16 11.334v3.333h-2.667v4H16V28h4v-9.333h4v-4h-4V12c0-.733.6-1.333 1.333-1.333H24v-4z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="facebook"> <path d="M22.667 2.667V8H20c-.92 0-1.333 1.08-1.333 2v3.333h4v5.333h-4v10.667h-5.333V18.666h-4v-5.333h4V8a5.332 5.332 0 0 1 5.333-5.333h4z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="linkedin"> <path d="M25.333 4c1.473 0 2.667 1.194 2.667 2.667v0 18.667c0 1.473-1.194 2.667-2.667 2.667v0h-18.667c-1.473 0-2.667-1.194-2.667-2.667v0-18.667c0-1.473 1.194-2.667 2.667-2.667v0h18.667zM24.667 24.667v-7.067c0-2.401-1.946-4.347-4.347-4.347v0c-1.133 0-2.453 0.693-3.093 1.733v-1.48h-3.72v11.16h3.72v-6.573c0-1.027 0.827-1.867 1.853-1.867 1.031 0 1.867 0.836 1.867 1.867v0 6.573h3.72zM9.173 11.413c1.237 0 2.24-1.003 2.24-2.24v0c0-1.24-1-2.253-2.24-2.253-1.244 0-2.253 1.009-2.253 2.253v0c0 1.24 1.013 2.24 2.253 2.24zM11.027 24.667v-11.16h-3.693v11.16h3.693z"> </path> </symbol> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" id="loader"> <path opacity="0.3" fill="currentColor" d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946 s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634 c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z" /> <path fill="currentColor" d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0 C22.32,8.481,24.301,9.057,26.013,10.047z"> <animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 20 20" to="360 20 20" dur="0.5s" repeatCount="indefinite" /> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="magnify"> <path d="M12.667 4a8.667 8.667 0 0 1 8.667 8.667c0 2.147-.787 4.12-2.08 5.64l.36.36h1.053l6.667 6.667-2 2-6.667-6.667v-1.053l-.36-.36a8.689 8.689 0 0 1-5.64 2.08C7.88 21.334 4 17.454 4 12.667S7.88 4 12.667 4zm0 2.667c-3.333 0-6 2.667-6 6s2.667 6 6 6 6-2.667 6-6-2.667-6-6-6z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="menu-down"> <path d="M9.333 13.333L16 20l6.667-6.667H9.334z"></path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="rss-box"> <path d="M6.667 4h18.667c1.467 0 2.667 1.2 2.667 2.667v18.667c0 1.467-1.2 2.667-2.667 2.667H6.667A2.675 2.675 0 0 1 4 25.334V6.667C4 5.2 5.2 4 6.667 4zM10 20c-1.107 0-2 .893-2 2s.893 2 2 2 2-.893 2-2-.893-2-2-2zm-2-6.667V16c4.413 0 8 3.587 8 8h2.667c0-5.893-4.773-10.667-10.667-10.667zM8 8v2.667c7.36 0 13.333 5.973 13.333 13.333H24c0-8.84-7.16-16-16-16z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="star"> <path d="M16 23.027L24.24 28l-2.187-9.373 7.28-6.307-9.587-.827-3.747-8.827-3.747 8.827-9.587.827 7.267 6.307L7.759 28l8.24-4.973z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" id="table-of-contents"> <path d="M3 9h14V7H3v2m0 4h14v-2H3v2m0 4h14v-2H3v2m16 0h2v-2h-2v2m0-10v2h2V7h-2m0 6h2v-2h-2v2z"></path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="twitter-box"> <path d="M6.667 4h18.667c1.467 0 2.667 1.2 2.667 2.667v18.667c0 1.467-1.2 2.667-2.667 2.667H6.667A2.675 2.675 0 0 1 4 25.334V6.667C4 5.2 5.2 4 6.667 4zm16.946 8.44c.64-.533 1.387-1.173 1.72-1.88-.547.28-1.2.453-1.92.547.667-.48 1.213-1.107 1.493-1.96-.693.373-1.4.693-2.28.853-2.067-2.493-7.013-.467-6.133 3.267-3.48-.213-5.6-1.787-7.36-3.72-1 1.627-.133 4.093 1.053 4.773-.613-.04-1.08-.227-1.52-.44.053 2.053 1.187 3.04 2.773 3.573a4.47 4.47 0 0 1-1.52.04c.493 1.427 1.52 2.32 3.28 2.507-1.2 1.013-3.413 1.72-5.2 1.44 1.533.973 3.28 1.747 5.707 1.64 5.88-.267 9.813-4.48 9.907-10.64z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="twitter"> <path d="M29.947 8a11.423 11.423 0 0 1-3.28.92 5.738 5.738 0 0 0 2.507-3.173 11.52 11.52 0 0 1-3.627 1.4C24.494 6 23.014 5.334 21.334 5.334c-3.133 0-5.693 2.56-5.693 5.72 0 .453.053.893.147 1.307A16.261 16.261 0 0 1 4.001 6.388a5.663 5.663 0 0 0-.773 2.867c0 1.987 1 3.747 2.547 4.747-.947 0-1.827-.267-2.6-.667v.04a5.724 5.724 0 0 0 4.587 5.613 5.644 5.644 0 0 1-2.574.093c.72 2.253 2.813 3.933 5.333 3.973-1.947 1.547-4.413 2.453-7.107 2.453-.453 0-.907-.027-1.36-.08A16.19 16.19 0 0 0 10.827 28c10.507 0 16.28-8.72 16.28-16.28 0-.253 0-.493-.013-.747A11.42 11.42 0 0 0 29.947 8z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="white-balance-sunny"> <path d="M4.733 24.72l1.88 1.88 2.4-2.387L7.12 22.32zm9.934 5.213h2.667V26h-2.667zM16 7.333c-4.413 0-8 3.587-8 8s3.587 8 8 8 8-3.587 8-8c0-4.427-3.587-8-8-8zm10.667 9.334h4V14h-4zm-3.68 7.546l2.4 2.387 1.88-1.88-2.387-2.4zm4.28-18.266l-1.88-1.88-2.4 2.387 1.893 1.893zM17.333.733h-2.667v3.933h2.667zM5.333 14h-4v2.667h4zm3.68-7.547l-2.4-2.387-1.88 1.88 2.387 2.4 1.893-1.893z"> </path> </symbol> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="window-close"> <path d="M17.947 16l7.387 7.387v1.947h-1.947L16 17.947l-7.387 7.387H6.666v-1.947L14.053 16 6.666 8.613V6.666h1.947L16 14.053l7.387-7.387h1.947v1.947L17.947 16z"> </path> </symbol> </svg> <div class="site"> <header class="relative bg-white" x-data="{open: false}" x-on:keydown.escape="open = false"> <button class="sr-only" data-ghost-search></button> <div class="px-4 sm:px-6"> <div class="flex justify-between items-center max-w-8xl mx-auto py-[3vmin] md:justify-start md:space-x-10"> <div class="flex justify-start"> <a class="leading-[0]" href="https://ghost.org/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 294" preserveAspectRatio="xMidYMid meet" class="ghost-orb-logo" height="40px"> <title>Ghost Logo</title> <style> svg.ghost-orb-logo { background-size: 100% 100%; background-repeat: no-repeat; background-image: url(https://ghost.org/changelog/assets/images/logo-black-1.png); } </style> </svg> </a> </div> <div class="-mr-2 -my-2 md:hidden"> <button type="button" class="bg-white rounded-md p-2 inline-flex items-center justify-center text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none" aria-expanded="false" x-on:click="open = !open"> <span class="sr-only">Open menu</span> <svg class="h-5 w-5 max-w-none" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" /> </svg> </button> </div> <nav class="hidden md:flex space-x-10"> <div class="relative" x-data="{open: false}" x-on:keydown.escape="open = false"> <button type="button" class="whitespace-nowrap text-gray-500 font-medium group bg-white rounded-md inline-flex items-center text-md hover:text-gray-900 focus:outline-none" :class="{ 'text-gray-900': open, 'text-gray-500': !(open) }" aria-expanded="false" x-on:click="open = !open"> <span>Product</span> <svg class="text-gray-400 ml-1 h-5 w-5 group-hover:text-gray-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"> <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /> </svg> </button> <div class="absolute z-50 -ml-4 mt-8 transform px-2 w-screen max-w-xs sm:px-0 lg:ml-0 lg:left-1/2 lg:-translate-x-1/2" x-cloak x-on:click.outside="open = false" x-show="open" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 -translate-y-1" x-transition:enter-end="opacity-100 translate-y-0" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 translate-y-0" x-transition:leave-end="opacity-0 -translate-y-1"> <div class="rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 overflow-hidden"> <div class="relative grid grid-cols-1 gap-6 bg-white px-5 py-6 sm:gap-8 sm:p-8"> <a href="https://ghost.org/creators/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="md:flex-1 md:flex md:flex-col md:justify-between"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M14.885,3A16.977,16.977,0,0,0,7.385.75c-3,0-3.75,1.5-3.75,3,0,1.657.675,3,2.25,3h9c1.3,0,2.25-.127,2.25-1.5A1.989,1.989,0,0,0,14.885,3Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M14.885,3A2.25,2.25,0,0,1,17.135.75" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M6.635,15.748a9.762,9.762,0,0,0-5.886,7.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M22.823,13.382A2.25,2.25,0,1,1,19.006,11c.794-1.272,2.7-.08,3.895-1.989C22.9,9.009,23.481,12.328,22.823,13.382Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M19.722,14.1a2.035,2.035,0,0,0-2.9.825l-3.262,5.935a1.658,1.658,0,0,0,2.8,1.747l3.9-5.535A2.036,2.036,0,0,0,19.722,14.1Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M5.2,6.653a5.25,5.25,0,1,0,10.375.076" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">For Creators</p> <p class="mt-1 text-sm text-gray-500">YouTubers, bloggers, podcasters, musicians & artists</p> </div> </div> </div> </a> <a href="https://ghost.org/publishers/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="md:flex-1 md:flex md:flex-col md:justify-between"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21.746 15.75H2.246L1.2 21.479C1.16033 21.695 1.16856 21.917 1.2241 22.1294C1.27964 22.3419 1.38114 22.5395 1.52144 22.7084C1.66173 22.8773 1.8374 23.0134 2.03604 23.107C2.23467 23.2005 2.45143 23.2494 2.671 23.25H21.322C21.5422 23.2504 21.7597 23.2023 21.9592 23.1092C22.1587 23.0161 22.3353 22.8801 22.4763 22.7111C22.6174 22.5421 22.7195 22.3441 22.7755 22.1311C22.8314 21.9182 22.8398 21.6955 22.8 21.479L21.746 15.75Z"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M5.246 1.5C5.246 1.40117 5.26553 1.30331 5.30347 1.21206C5.34141 1.1208 5.39702 1.03794 5.46708 0.968246C5.53715 0.89855 5.62031 0.843389 5.71176 0.805934C5.80322 0.768479 5.90117 0.749468 6 0.749995H15L18.75 4.5V11.25H5.246V1.5Z"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21.746 12.75H23.246"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M0.75 12.75H2.25"></path><path stroke="currentColor" stroke-width="1.5" d="M7.125 19.875C6.91789 19.875 6.75 19.7071 6.75 19.5C6.75 19.2929 6.91789 19.125 7.125 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M7.125 19.875C7.33211 19.875 7.5 19.7071 7.5 19.5C7.5 19.2929 7.33211 19.125 7.125 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M12 19.875C11.7929 19.875 11.625 19.7071 11.625 19.5C11.625 19.2929 11.7929 19.125 12 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M12 19.875C12.2071 19.875 12.375 19.7071 12.375 19.5C12.375 19.2929 12.2071 19.125 12 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M16.875 19.875C16.6679 19.875 16.5 19.7071 16.5 19.5C16.5 19.2929 16.6679 19.125 16.875 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M16.875 19.875C17.0821 19.875 17.25 19.7071 17.25 19.5C17.25 19.2929 17.0821 19.125 16.875 19.125"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.246 15.75V12.75C2.246 12.3522 2.40404 11.9706 2.68534 11.6893C2.96665 11.408 3.34818 11.25 3.746 11.25H20.246C20.6438 11.25 21.0254 11.408 21.3067 11.6893C21.588 11.9706 21.746 12.3522 21.746 12.75V15.75"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8.246 8.25H14.996"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8.246 4.5H11.996"></path></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">For Publishers</p> <p class="mt-1 text-sm text-gray-500">Writers, journalists, local news and new media outlets</p> </div> </div> </div> </a> <a href="https://ghost.org/business/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="md:flex-1 md:flex md:flex-col md:justify-between"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><g> <path d="M6.25,23.25l7.61-12.08a1.12,1.12,0,0,1,1.78,0l7.61,12.08Z" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></path> <polyline points="6.25 23.25 0.75 23.26 6.75 14.26 9.6 17.94" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></polyline> <polyline points="11.31 15.22 14.72 17.51 18.16 15.16" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></polyline> <line x1="14.75" y1="10.73" x2="14.75" y2="0.74" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></line> <path d="M14.75.74h7.19a.53.53,0,0,1,.47.3.55.55,0,0,1-.06.55L21.21,3a.53.53,0,0,0,0,.65l1.14,1.45a.54.54,0,0,1,.06.55.53.53,0,0,1-.47.3H14.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></path> </g></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">For Business</p> <p class="mt-1 text-sm text-gray-500">Modern brands & companies with ambitious content marketing</p> </div> </div> </div> </a> <a href="https://ghost.org/docs/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="md:flex-1 md:flex md:flex-col md:justify-between"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M7.629,4.5l-6.44,6.439a1.5,1.5,0,0,0,0,2.121l6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M16.371,4.5l6.44,6.439a1.5,1.5,0,0,1,0,2.121l-6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">For Developers</p> <p class="mt-1 text-sm text-gray-500">Source code, documentation, guides and tutorials</p> </div> </div> </div> </a> </div> </div> </div> </div> <a href="https://ghost.org/explore/" class="whitespace-nowrap text-md text-gray-500 font-medium hover:text-gray-900">Explore</a> <div class="relative" x-data="{open: false}" x-on:keydown.escape="open = false"> <button type="button" class="whitespace-nowrap text-gray-500 font-medium group bg-white rounded-md inline-flex items-center text-md hover:text-gray-900 focus:outline-none" :class="{ 'text-gray-900': open, 'text-gray-500': !(open) }" aria-expanded="false" x-on:click="open = !open"> <span>Resources</span> <svg class="text-gray-400 ml-1 h-5 w-5 group-hover:text-gray-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"> <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /> </svg> </button> <div class="absolute ml-0 left-1/2 -translate-x-1/2 z-50 -ml-4 mt-8 transform px-2 w-screen max-w-2xl sm:px-0" x-cloak x-on:click.outside="open = false" x-show="open" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 -translate-y-1" x-transition:enter-end="opacity-100 translate-y-0" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 translate-y-0" x-transition:leave-end="opacity-0 -translate-y-1" > <div class="rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 overflow-hidden"> <div class="relative grid grid-cols-2 gap-6 bg-white px-5 py-6 sm:gap-7 sm:p-8"> <a href="https://ghost.org/marketplace/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between gap-y-1 lg:ml-0"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve" fill="currentColor"> <g> <path d="M11.993,14.251c-0.365,0-0.729-0.088-1.052-0.255L0.732,8.714C0.478,8.584,0.275,8.38,0.144,8.125 c-0.344-0.67-0.079-1.494,0.59-1.838l10.206-5.28c0.324-0.167,0.688-0.255,1.052-0.255s0.729,0.088,1.052,0.255l10.21,5.281 c0.252,0.131,0.454,0.333,0.585,0.585c0.346,0.67,0.083,1.495-0.585,1.842l-10.209,5.281 C12.723,14.162,12.359,14.251,11.993,14.251z M11.63,12.663c0.112,0.058,0.237,0.088,0.364,0.088c0.126,0,0.252-0.031,0.363-0.088 l9.979-5.162l-9.979-5.162c-0.111-0.058-0.237-0.088-0.363-0.088s-0.252,0.03-0.364,0.088L1.652,7.501L11.63,12.663z"/> <path d="M11.996,18.751c-0.366,0-0.73-0.088-1.055-0.256L0.433,13.426c-0.18-0.087-0.316-0.239-0.382-0.428 c-0.066-0.189-0.054-0.393,0.033-0.573c0.124-0.258,0.389-0.424,0.675-0.424c0.114,0,0.224,0.025,0.326,0.075l10.527,5.078 c0.126,0.064,0.256,0.096,0.385,0.096c0.125,0,0.25-0.03,0.361-0.088l10.576-5.087c0.103-0.049,0.212-0.074,0.325-0.074 c0.287,0,0.552,0.167,0.676,0.425c0.179,0.372,0.022,0.821-0.351,1l-10.557,5.078C12.718,18.664,12.359,18.751,11.996,18.751z"/> <path d="M11.996,23.251c-0.366,0-0.73-0.088-1.055-0.256L0.433,17.926c-0.18-0.087-0.316-0.239-0.382-0.428 c-0.066-0.189-0.054-0.393,0.033-0.573c0.124-0.258,0.389-0.424,0.676-0.424c0.114,0,0.223,0.025,0.326,0.075l10.527,5.078 c0.126,0.065,0.256,0.096,0.385,0.096c0.125,0,0.25-0.03,0.361-0.087l10.576-5.087c0.103-0.049,0.212-0.074,0.325-0.074 c0.287,0,0.552,0.167,0.676,0.425c0.179,0.372,0.022,0.821-0.351,1l-10.557,5.078C12.718,23.164,12.359,23.251,11.996,23.251z"/> </g> </svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">Marketplace</p> <p class="mt-1 text-sm text-gray-500">Professional themes, custom integrations and qualified experts</p> </div> </div> </div> </a> <a href="https://ghost.org/resources/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between gap-y-1 lg:ml-0"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M21,23.25H5.25A2.25,2.25,0,0,1,3,21" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M12,2.25H6a3,3,0,0,0-3,3V21a2.25,2.25,0,0,1,2.25-2.25h15A.75.75,0,0,0,21,18V3a.75.75,0,0,0-.75-.75H18" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M19.5 23.25L19.5 18.75" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M18,12.75l-3-3-3,3V2.25A1.5,1.5,0,0,1,13.5.75h3A1.5,1.5,0,0,1,18,2.25Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900 flex items-center gap-2">Start here <span class="inline-block bg-pink-900 text-white py-0.5 px-1 text-[1rem] font-semibold uppercase tracking-wide rounded-[4px]">New</span></p> <p class="mt-1 text-sm text-gray-500">A huge library of guides, stories, interviews and tips for success</p> </div> </div> </div> </a> <a href="https://ghost.org/themes/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between gap-y-1 lg:ml-0"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><g> <rect x="4.75" y="4.75" width="5.75" height="7.25" rx="0.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></rect> <rect x="4.75" y="15" width="5.75" height="4.25" rx="0.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></rect> <rect x="13.5" y="12" width="5.75" height="7.25" rx="0.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></rect> <rect x="13.5" y="4.75" width="5.75" height="4.25" rx="0.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></rect> <rect x="0.75" y="0.75" width="22.5" height="22.5" rx="1.5" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></rect> </g></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">Themes</p> <p class="mt-1 text-sm text-gray-500">Hundreds of beautifully designed publication templates</p> </div> </div> </div> </a> <a href="https://ghost.org/help/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between gap-y-1 lg:ml-0"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 9.00004C9.00011 8.45007 9.15139 7.91071 9.43732 7.44091C9.72325 6.97111 10.1328 6.58895 10.6213 6.33619C11.1097 6.08344 11.6583 5.96982 12.2069 6.00776C12.7556 6.04569 13.2833 6.23372 13.7323 6.55129C14.1813 6.86886 14.5344 7.30375 14.7529 7.80843C14.9715 8.31311 15.0471 8.86816 14.9715 9.41291C14.8959 9.95766 14.6721 10.4712 14.3244 10.8973C13.9767 11.3234 13.5185 11.6457 13 11.829C12.7074 11.9325 12.4541 12.1241 12.275 12.3775C12.0959 12.631 11.9998 12.9337 12 13.244V14.25"></path><path stroke="currentColor" stroke-width="1.5" d="M12 18C11.7929 18 11.625 17.8321 11.625 17.625C11.625 17.4179 11.7929 17.25 12 17.25"></path><path stroke="currentColor" stroke-width="1.5" d="M12 18C12.2071 18 12.375 17.8321 12.375 17.625C12.375 17.4179 12.2071 17.25 12 17.25"></path><path stroke="currentColor" stroke-miterlimit="10" stroke-width="1.5" d="M12 23.25C18.2132 23.25 23.25 18.2132 23.25 12C23.25 5.7868 18.2132 0.75 12 0.75C5.7868 0.75 0.75 5.7868 0.75 12C0.75 18.2132 5.7868 23.25 12 23.25Z"></path></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">Help center</p> <p class="mt-1 text-sm text-gray-500">Get help with product features and answers to common questions.</p> </div> </div> </div> </a> <a href="https://ghost.org/integrations/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between gap-y-1 lg:ml-0"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g transform="matrix(2,0,0,2,0,0)"><defs><style>.a{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;}</style></defs><title>module-four</title><polygon class="a" points="22.5 7.5 22.5 18 12 22.5 1.5 18 1.5 7.5 12 12 22.5 7.5"></polygon><line class="a" x1="12" y1="22.5" x2="12" y2="12"></line><line class="a" x1="7.5" y1="4.929" x2="1.5" y2="7.5"></line><line class="a" x1="16.5" y1="4.929" x2="22.5" y2="7.5"></line><ellipse class="a" cx="12" cy="3" rx="4.5" ry="1.5"></ellipse><path class="a" d="M7.5,3V6c0,.828,2.015,1.5,4.5,1.5s4.5-.672,4.5-1.5V3"></path></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">Integrations</p> <p class="mt-1 text-sm text-gray-500">Connect thousands of apps and services with your website</p> </div> </div> </div> </a> <a href="https://ghost.org/changelog/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between gap-y-1 lg:ml-0"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M7.5 23.248L12 11.248 12 8.248 12 11.248 16.5 23.248" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M17.726.747a9,9,0,0,1,0,15" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M16.5,4.575a5.249,5.249,0,0,1,0,7.347" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M6.275.747a9,9,0,0,0,0,15" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M7.5,4.575a5.251,5.251,0,0,0,0,7.347" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M8.625 20.248L15.375 20.248" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">Product updates</p> <p class="mt-1 text-sm text-gray-500">All the latest changes and improvements to Ghost</p> </div> </div> </div> </a> <a href="https://ghost.org/experts/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between gap-y-1 lg:ml-0"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M7.629,4.5l-6.44,6.439a1.5,1.5,0,0,0,0,2.121l6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M16.371,4.5l6.44,6.439a1.5,1.5,0,0,1,0,2.121l-6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">Experts</p> <p class="mt-1 text-sm text-gray-500">Get help building your site from certified Ghost developers</p> </div> </div> </div> </a> <a href="https://ghost.org/about/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"> <div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between gap-y-1 lg:ml-0"> <div class="flex items-start gap-x-2.5"> <span class="h-5 w-5 text-pink-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M3.75,14v7.5A1.5,1.5,0,0,0,5.25,23h13.5a1.5,1.5,0,0,0,1.5-1.5V14" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M.75,12.629,10.939,2.439a1.5,1.5,0,0,1,2.122,0L23.25,12.629" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M16.5 5.879L16.5 3.5 20.25 3.5 20.25 9.629" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M15.93,11.845a1.9,1.9,0,0,0-2.751,0L12,13.064l-1.179-1.219a1.9,1.9,0,0,0-2.751,0,2.06,2.06,0,0,0,0,2.845l3.511,3.631a.579.579,0,0,0,.838,0L15.93,14.69A2.06,2.06,0,0,0,15.93,11.845Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg> </span> <div> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">About us</p> <p class="mt-1 text-sm text-gray-500">Learn more about the people behind the platform (We're hiring!)</p> </div> </div> </div> </a> </div> </div> </div> </div> <a href="https://ghost.org/pricing/" class="whitespace-nowrap text-md text-gray-500 font-medium hover:text-gray-900">Pricing</a> </nav> <div class="hidden md:flex items-center gap-7 justify-end md:flex-1 lg:w-0"> <a href="https://account.ghost.org/signin/" class="whitespace-nowrap text-md text-gray-500 font-medium hover:text-gray-900">Sign in</a> <a href="https://account.ghost.org/signup/" class="plausible-event-name=Signup-CTA-clicked whitespace-nowrap px-4 py-2 border border-transparent rounded-md shadow-sm text-sm text-white bg-base"><strong class="font-semibold">Get Started</strong> — free</a> </div> </div> </div> <div class="absolute top-0 inset-x-0 z-50 transition transform origin-top-right md:hidden" x-cloak x-on:click.outside="open = false" x-show="open"> <div class="shadow-lg ring-1 ring-black ring-opacity-5 bg-white divide-y-2 divide-gray-50"> <div class="pt-[3vmin] pb-6 px-4 sm:px-6"> <div class="flex items-center justify-between"> <a href="https://ghost.org/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 294" preserveAspectRatio="xMidYMid meet" class="ghost-orb-logo" height="40px"> <title>Ghost Logo</title> <style> svg.ghost-orb-logo { background-size: 100% 100%; background-repeat: no-repeat; background-image: url(https://ghost.org/changelog/assets/images/logo-black-1.png); } </style> </svg> </a> <div class="-mr-2"> <button type="button" class="bg-white rounded-md p-2 inline-flex items-center justify-center text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none" x-on:click="open = !open"> <span class="sr-only">Close menu</span> <svg class="h-4 w-4 max-w-none" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /> </svg> </button> </div> </div> <div class="mt-10"> <nav class="grid grid-cols-1 gap-y-7"> <a href="https://ghost.org/creators/" class="flex flex-col justify-between"> <div class="md:flex-1 md:flex md:flex-col md:justify-between lg:ml-0"> <div class="flex items-center gap-x-2.5"> <span class="h-5 w-5 text-pink-900"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M14.885,3A16.977,16.977,0,0,0,7.385.75c-3,0-3.75,1.5-3.75,3,0,1.657.675,3,2.25,3h9c1.3,0,2.25-.127,2.25-1.5A1.989,1.989,0,0,0,14.885,3Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M14.885,3A2.25,2.25,0,0,1,17.135.75" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M6.635,15.748a9.762,9.762,0,0,0-5.886,7.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M22.823,13.382A2.25,2.25,0,1,1,19.006,11c.794-1.272,2.7-.08,3.895-1.989C22.9,9.009,23.481,12.328,22.823,13.382Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M19.722,14.1a2.035,2.035,0,0,0-2.9.825l-3.262,5.935a1.658,1.658,0,0,0,2.8,1.747l3.9-5.535A2.036,2.036,0,0,0,19.722,14.1Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M5.2,6.653a5.25,5.25,0,1,0,10.375.076" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg> </span> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">For Creators</p> </div> <p class="mt-1 text-sm text-gray-500">Join thousands of creators using Ghost to share their work</p> </div> </a> <a href="https://ghost.org/publishers/" class="flex flex-col justify-between"> <div class="md:flex-1 md:flex md:flex-col md:justify-between lg:ml-0"> <div class="flex items-center gap-x-2.5"> <span class="h-5 w-5 text-pink-900"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21.746 15.75H2.246L1.2 21.479C1.16033 21.695 1.16856 21.917 1.2241 22.1294C1.27964 22.3419 1.38114 22.5395 1.52144 22.7084C1.66173 22.8773 1.8374 23.0134 2.03604 23.107C2.23467 23.2005 2.45143 23.2494 2.671 23.25H21.322C21.5422 23.2504 21.7597 23.2023 21.9592 23.1092C22.1587 23.0161 22.3353 22.8801 22.4763 22.7111C22.6174 22.5421 22.7195 22.3441 22.7755 22.1311C22.8314 21.9182 22.8398 21.6955 22.8 21.479L21.746 15.75Z"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M5.246 1.5C5.246 1.40117 5.26553 1.30331 5.30347 1.21206C5.34141 1.1208 5.39702 1.03794 5.46708 0.968246C5.53715 0.89855 5.62031 0.843389 5.71176 0.805934C5.80322 0.768479 5.90117 0.749468 6 0.749995H15L18.75 4.5V11.25H5.246V1.5Z"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21.746 12.75H23.246"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M0.75 12.75H2.25"></path><path stroke="currentColor" stroke-width="1.5" d="M7.125 19.875C6.91789 19.875 6.75 19.7071 6.75 19.5C6.75 19.2929 6.91789 19.125 7.125 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M7.125 19.875C7.33211 19.875 7.5 19.7071 7.5 19.5C7.5 19.2929 7.33211 19.125 7.125 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M12 19.875C11.7929 19.875 11.625 19.7071 11.625 19.5C11.625 19.2929 11.7929 19.125 12 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M12 19.875C12.2071 19.875 12.375 19.7071 12.375 19.5C12.375 19.2929 12.2071 19.125 12 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M16.875 19.875C16.6679 19.875 16.5 19.7071 16.5 19.5C16.5 19.2929 16.6679 19.125 16.875 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M16.875 19.875C17.0821 19.875 17.25 19.7071 17.25 19.5C17.25 19.2929 17.0821 19.125 16.875 19.125"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.246 15.75V12.75C2.246 12.3522 2.40404 11.9706 2.68534 11.6893C2.96665 11.408 3.34818 11.25 3.746 11.25H20.246C20.6438 11.25 21.0254 11.408 21.3067 11.6893C21.588 11.9706 21.746 12.3522 21.746 12.75V15.75"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8.246 8.25H14.996"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8.246 4.5H11.996"></path></g></svg> </span> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">For Publishers</p> </div> <p class="mt-1 text-sm text-gray-500">The platform for independent publishers</p> </div> </a> <a href="https://ghost.org/business/" class="flex flex-col justify-between"> <div class="md:flex-1 md:flex md:flex-col md:justify-between lg:ml-0"> <div class="flex items-center gap-x-2.5"> <span class="h-5 w-5 text-pink-900"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><g> <path d="M6.25,23.25l7.61-12.08a1.12,1.12,0,0,1,1.78,0l7.61,12.08Z" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></path> <polyline points="6.25 23.25 0.75 23.26 6.75 14.26 9.6 17.94" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></polyline> <polyline points="11.31 15.22 14.72 17.51 18.16 15.16" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></polyline> <line x1="14.75" y1="10.73" x2="14.75" y2="0.74" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></line> <path d="M14.75.74h7.19a.53.53,0,0,1,.47.3.55.55,0,0,1-.06.55L21.21,3a.53.53,0,0,0,0,.65l1.14,1.45a.54.54,0,0,1,.06.55.53.53,0,0,1-.47.3H14.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></path> </g></g></svg> </span> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">For Business</p> </div> <p class="mt-1 text-sm text-gray-500">Content marketing for modern business</p> </div> </a> <a href="https://ghost.org/docs/" class="flex flex-col justify-between"> <div class="md:flex-1 md:flex md:flex-col md:justify-between lg:ml-0"> <div class="flex items-center gap-x-2.5"> <span class="h-5 w-5 text-pink-900"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M7.629,4.5l-6.44,6.439a1.5,1.5,0,0,0,0,2.121l6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M16.371,4.5l6.44,6.439a1.5,1.5,0,0,1,0,2.121l-6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg> </span> <p class="text-lg font-bold tracking-[-.01em] text-gray-900">For Developers</p> </div> <p class="mt-1 text-sm text-gray-500">Source code, documentation, guides and tutorials</p> </div> </a> </nav> </div> </div> <div class="py-6 px-4 sm:px-6 space-y-10"> <div class="grid grid-cols-2 gap-y-4 gap-x-8"> <a href="https://ghost.org/explore/" class="font-medium text-gray-900 hover:text-gray-700">Explore</a> <a href="https://ghost.org/pricing/" class="font-medium text-gray-900 hover:text-gray-700">Pricing</a> <a href="https://ghost.org/marketplace/" class="font-medium text-gray-900 hover:text-gray-700">Marketplace</a> <a href="https://ghost.org/themes/" class="font-medium text-gray-900 hover:text-gray-700">Themes</a> <a href="https://ghost.org/integrations/" class="font-medium text-gray-900 hover:text-gray-700">Integrations</a> <a href="https://ghost.org/resources/" class="font-medium text-gray-900 hover:text-gray-700">Resources</a> <a href="https://ghost.org/help/" class="font-medium text-gray-900 hover:text-gray-700">Help center</a> <a href="https://ghost.org/changelog/" class="font-medium text-gray-900 hover:text-gray-700">Product updates</a> <a href="https://ghost.org/developers/" class="font-medium text-gray-900 hover:text-gray-700">Developers</a> <a href="https://ghost.org/about/" class="font-medium text-gray-900 hover:text-gray-700">About us</a> </div> <div> <a href="https://account.ghost.org/signup/" class="plausible-event-name=Signup-CTA-clicked w-full block px-4 py-2 border border-transparent rounded-md shadow-sm text-sm text-white bg-base text-center"><strong class="font-semibold">Get Started</strong> — free</a> <p class="mt-4 text-center font-medium text-gray-500"> Existing customer? <a href="https://account.ghost.org/signin/">Sign in</a> </p> </div> </div> </div> </div> </header> <div class="site-content"> <div class="content-area"> <main class="site-main"> <article class="single post tag-alpha"> <header class="single-header kg-canvas"> <div class="single-meta"> <span class="single-meta-item single-meta-home"> <a href="https://ghost.org/changelog">← Changelog</a> </span> <span class="single-meta-item single-meta-date"> <time datetime="2024-04-22"> Apr 22, 2024 </time> </span> <span class="single-meta-item single-meta-tag"> <a class="post-tag post-tag-alpha" href="/changelog/tag/alpha/" style="color: ;"> Alpha </a> </span> </div> <h1 class="single-title">Joining the ActivityPub network</h1> <div class="single-excerpt"> Ghost is federating over ActivityPub to become part of the world’s largest publishing network. </div> <div class="single-media kg-width-wide u-placeholder horizontal"> <img class="lazyload u-object-fit" data-srcset="/changelog/content/images/size/w400/2024/04/CleanShot-2024-04-22-at-09.39.57@2x-1-1.png 400w, /changelog/content/images/size/w750/2024/04/CleanShot-2024-04-22-at-09.39.57@2x-1-1.png 750w, /changelog/content/images/size/w960/2024/04/CleanShot-2024-04-22-at-09.39.57@2x-1-1.png 960w, /changelog/content/images/size/w1140/2024/04/CleanShot-2024-04-22-at-09.39.57@2x-1-1.png 1140w, /changelog/content/images/size/w1920/2024/04/CleanShot-2024-04-22-at-09.39.57@2x-1-1.png 1920w" data-sizes="auto" src="/changelog/content/images/size/w960/2024/04/CleanShot-2024-04-22-at-09.39.57@2x-1-1.png" srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="Joining the ActivityPub network"> </div> </header> <div class="single-content gh-content kg-canvas"> <p>For the past few years, networked publishing has become an increasingly hot topic. Various platforms have allowed writers to follow, like and reply to posts from one another - making writing on the internet an altogether more <em>social</em> experience.</p><p>The problem, though, has always been that those networks have been closed, proprietary, and limited in their utility and longevity. We've all seen what happens when networks either run out of money, or get commandeered by people with... too much money.</p><p>At Ghost we've been interested in publishing networks for a long time, but as you have come to expect from us after over a decade of releasing open, decentralized technology that puts people first: We're doing things in our own way.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://activitypub.ghost.org/?ref=ghost.org"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Building ActivityPub</div><div class="kg-bookmark-description">Ghost is federating over ActivityPub to become part of the world’s largest publishing network.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://activitypub.ghost.org/content/images/size/w256h256/2024/04/ghost-favicon48.png" alt=""><span class="kg-bookmark-author">Building ActivityPub</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://activitypub.ghost.org/content/images/size/w1200/2024/04/appp-1.jpeg" alt=""></div></a></figure><p>We're excited to share that we've started work on bringing ActivityPub support to Ghost, making it possible for all Ghost publishers to distribute their work across to the largest decentralized network in the world.</p><p>It's going to take some time for us to ramp up our efforts here, but we're going to be sharing our build diary and all the details with you as we go.</p><p><a href="https://activitypub.ghost.org/?ref=ghost.org" rel="noreferrer">We've put together a full overview of what this means for you</a>, and we're looking forward to hearing what you think!</p> <div class="p-8 sm:p-12 flex flex-col justify-start bg-[#f6f6f6]"> <div class="flex items-center"> <svg class="min-w-[32px]" viewBox="0 0 24 24" height="40" width="40" xmlns="http://www.w3.org/2000/svg"><path d="M19.5,8.75l4,2.75V22A1.5,1.5,0,0,1,22,23.5H2A1.5,1.5,0,0,1,.5,22V11.5l4-2.75" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3.5 20.5L8.5 16.5 15.5 16.5 20.5 20.5" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round"></path><path d="M23.5 11.5L17.5 15.5" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round"></path><path d="M0.5 11.5L6.5 15.5" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round"></path><path d="M19.5,14.167V1.5a1,1,0,0,0-1-1H5.5a1,1,0,0,0-1,1V14.167" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12,11.5,8.591,7.944a2.018,2.018,0,0,1-.378-2.329h0a2.017,2.017,0,0,1,3.23-.524L12,5.648l.557-.557a2.017,2.017,0,0,1,3.23.524h0a2.018,2.018,0,0,1-.378,2.329Z" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round"></path> </svg> <h3 class="text-xl sm:text-2xl font-bold ml-4 sm:ml-5 mt-0 mb-0 leading-8 tracking-tight text-pretty">Get notified when we ship new features.</h3> </div> <form class="form-wrapper flex flex-col sm:flex-row flex-nowrap gap-2 sm:gap-0 relative justify-between sm:h-[44px] mt-6 sm:mt-8 w-full" data-members-form="subscribe"> <input data-members-label class="sr-only" type="hidden" value="Enter your email address" /> <input data-members-email class="py-0 px-4 min-h-[44px] sm:min-h-full sm:rounded-r-none rounded-l-md border-base sm:border-r-0 placeholder:text-[rgb(153,153,153)] focus:shadow-inner focus:border-base sm:focus:border-r-0" type="email" required="true" autocomplete="false" placeholder="Enter your email address"/> <button class="flex shrink-0 flex-nowrap justify-center items-center px-8 py-2 min-h-[44px] sm:min-h-full border border-transparent rounded-md sm:rounded-l-none shadow-sm text-sm text-white bg-base text-center cursor-pointer" type="submit" aria-label="Submit"> <span class="default">Subscribe →</span> <span class="loader"> <svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"> <path opacity="0.3" fill="currentColor" d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946 s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634 c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z" /> <path fill="currentColor" d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0 C22.32,8.481,24.301,9.057,26.013,10.047z"> <animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 20 20" to="360 20 20" dur="0.5s" repeatCount="indefinite" /> </path> </svg></span> <span class="success">Email sent</span> <span class="error">Try again</span> </button> </form> </div> </div> </article> <section class="related-wrapper"> <div class="container small"> <h3 class="related-title">You might also like...</h3> <div class="post-feed related-feed"> <article class="feed post tag-new" data-month="November 2024"> <div class="feed-calendar"> <div class="feed-calendar-month"> Nov </div> <div class="feed-calendar-day"> 05 </div> </div> <div class="feed-image u-placeholder rectangle"> <img class="lazyload u-object-fit" data-srcset="/changelog/content/images/size/w400/2024/11/i18n-feature-img-2.png 400w, /changelog/content/images/size/w750/2024/11/i18n-feature-img-2.png 750w, /changelog/content/images/size/w960/2024/11/i18n-feature-img-2.png 960w, /changelog/content/images/size/w1140/2024/11/i18n-feature-img-2.png 1140w, /changelog/content/images/size/w1920/2024/11/i18n-feature-img-2.png 1920w" data-sizes="auto" src="/changelog/content/images/size/w750/2024/11/i18n-feature-img-2.png" srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="Internationalization 🌏"> </div> <div class="feed-wrapper"> <h2 class="feed-title">Internationalization 🌏</h2> <div class="feed-excerpt">Automatic translations for Ghost portal, newsletters, search, and comments.</div> <div class="feed-right"> <time class="feed-date" datetime="2024-11-05"> Nov 5, 2024 </time> <svg class="icon feed-visibility feed-visibility-public"> <use xlink:href="#star"></use> </svg> <div class="feed-tag" style="background-color: #5dcf1f;"> New </div> <svg class="icon feed-icon"> <use xlink:href="#chevron-right"></use> </svg> </div> </div> <a class="u-permalink" href="/changelog/internationalization/" aria-label="Internationalization 🌏"></a> </article> <article class="feed post tag-beta featured" data-month="September 2024"> <div class="feed-calendar"> <div class="feed-calendar-month"> Sep </div> <div class="feed-calendar-day"> 17 </div> </div> <div class="feed-image u-placeholder rectangle"> <img class="lazyload u-object-fit" data-srcset="/changelog/content/images/size/w400/2024/09/image--4-.png 400w, /changelog/content/images/size/w750/2024/09/image--4-.png 750w, /changelog/content/images/size/w960/2024/09/image--4-.png 960w, /changelog/content/images/size/w1140/2024/09/image--4-.png 1140w, /changelog/content/images/size/w1920/2024/09/image--4-.png 1920w" data-sizes="auto" src="/changelog/content/images/size/w750/2024/09/image--4-.png" srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="Sales tax on autopilot (beta)"> </div> <div class="feed-wrapper"> <h2 class="feed-title">Sales tax on autopilot (beta)</h2> <div class="feed-excerpt">Calculate and collect tax for paid subscriptions, directly in Stripe Checkout</div> <div class="feed-right"> <time class="feed-date" datetime="2024-09-17"> Sep 17, 2024 </time> <svg class="icon feed-visibility feed-visibility-public"> <use xlink:href="#star"></use> </svg> <div class="feed-tag" style="background-color: ;"> Beta </div> <svg class="icon feed-icon"> <use xlink:href="#chevron-right"></use> </svg> </div> </div> <a class="u-permalink" href="/changelog/sales-tax-on-autopilot-beta/" aria-label="Sales tax on autopilot (beta)"></a> </article> </div> </div> </section> </main> </div> </div> <footer class="gh-foot container"> <div class="gh-foot-inner"> <div class="gh-foot-left"> <a href="https://ghost.org/"> <img class="footer-logo" src="https://ghost.org/changelog/content/images/2022/06/logo-black-1.png" alt="Changelog"> </a> <nav class="footer-nav"> <a class="menu-item menu-item-help-center" href="https://ghost.org/help/">Help Center</a> <a class="menu-item menu-item-support" href="mailto:support@ghost.org">Support</a> <a class="menu-item menu-item-ghost" href="https://twitter.com/Ghost">@Ghost</a> </nav> </div> <div class="gh-foot-right"> © 2024 </div> </div> </footer> <!-- Root element of PhotoSwipe. Must have class pswp. --> <div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> <!-- Background of PhotoSwipe. It's a separate element as animating opacity is faster than rgba(). --> <div class="pswp__bg"></div> <!-- Slides wrapper with overflow:hidden. --> <div class="pswp__scroll-wrap"> <!-- Container that holds slides. PhotoSwipe keeps only 3 of them in the DOM to save memory. Don't modify these 3 pswp__item elements, data is added later on. --> <div class="pswp__container"> <div class="pswp__item"></div> <div class="pswp__item"></div> <div class="pswp__item"></div> </div> <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> <div class="pswp__ui pswp__ui--hidden"> <div class="pswp__top-bar"> <!-- Controls are self-explanatory. Order can be changed. --> <div class="pswp__counter"></div> <button class="pswp__button pswp__button--close" title="Close (Esc)"></button> <button class="pswp__button pswp__button--share" title="Share"></button> <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> <!-- Preloader demo https://codepen.io/dimsemenov/pen/yyBWoR --> <!-- element will get class pswp__preloader--active when preloader is running --> <div class="pswp__preloader"> <div class="pswp__preloader__icn"> <div class="pswp__preloader__cut"> <div class="pswp__preloader__donut"></div> </div> </div> </div> </div> <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> <div class="pswp__share-tooltip"></div> </div> <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button> <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button> <div class="pswp__caption"> <div class="pswp__caption__center"></div> </div> </div> </div> </div> </div> <script> if (document.body.classList.contains('with-full-cover')) { document.getElementsByClassName('cover')[0].style.height = window.innerHeight + 'px'; } </script> <script> var feed = document.querySelector('.post-feed'); if (feed && !feed.classList.contains('related-feed')) { var wrapper = document.querySelector('.feed-layout'); var feedLayout = localStorage.getItem('edition_layout'); switch (feedLayout) { case 'compact': wrapper.classList.remove('expanded'); feed.classList.remove('expanded'); break; default: break; } } </script> <script src="//unpkg.com/alpinejs" defer></script> <script src="https://ghost.org/changelog/assets/built/main.min.js?v=29e5b91597"></script> </body> </html>