CINXE.COM
Forestry.io CMS | Tina
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@tinacms"/><meta name="twitter:creator" content="@tinacms"/><meta property="og:type" content="website"/><meta property="og:image" content="https://tina.io/img/tina-og.png"/><meta property="og:image:alt" content="Tina - The Markdown CMS"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="628"/><meta property="og:locale" content="en_CA"/><meta property="og:site_name" content="Tina"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="theme-color" content="#E6FAF8"/><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="https://tina.io/rss.xml"/><title>Forestry.io CMS | Tina</title><meta name="description" content="The Forestry.io team is now focused on building TinaCMS. If you wish to migrate your Forestry site to Tina, follow the guide below."/><meta property="og:title" content="Forestry.io CMS"/><meta property="og:description" content="The Forestry.io team is now focused on building TinaCMS. If you wish to migrate your Forestry site to Tina, follow the guide below."/><meta name="robots" content="index,follow"/><meta name="googlebot" content="index,follow"/><meta property="og:url" content="https://tina.io/forestry"/><meta name="next-head-count" content="22"/><script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-K35ZHHJF'); </script><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/754f2c0ba942d379.css" as="style"/><link rel="stylesheet" href="/_next/static/css/754f2c0ba942d379.css" data-n-g=""/><link rel="preload" href="/_next/static/css/55433288aa3481df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/55433288aa3481df.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-936833f5c3c1f7f9.js" defer=""></script><script src="/_next/static/chunks/framework-6603b6fce1ea64cf.js" defer=""></script><script src="/_next/static/chunks/main-b04bd3236fd826ab.js" defer=""></script><script src="/_next/static/chunks/pages/_app-075e63bb128ae0b6.js" defer=""></script><script src="/_next/static/chunks/31659383-f8eca54dd44ddf80.js" defer=""></script><script src="/_next/static/chunks/0dcc1ccd-6bfb9c8b0648f4b0.js" defer=""></script><script src="/_next/static/chunks/3eea48ae-2a6a8e7ffa9bf1a0.js" defer=""></script><script src="/_next/static/chunks/2fd2a1c3-58e3c10d184a4563.js" defer=""></script><script src="/_next/static/chunks/e4c53c71-23867b7483e9f01e.js" defer=""></script><script src="/_next/static/chunks/67481f39-0a6b72e2ab15c012.js" defer=""></script><script src="/_next/static/chunks/52ca40a5-5006ac2efa77aeb0.js" defer=""></script><script src="/_next/static/chunks/556d3d11-9363b58c1ce35c28.js" defer=""></script><script src="/_next/static/chunks/e42aca50-0dfc7b35cb6bfc35.js" defer=""></script><script src="/_next/static/chunks/b5e95343-222c00d7f3c529c2.js" defer=""></script><script src="/_next/static/chunks/769b7355-5f10e9e81967f42f.js" defer=""></script><script src="/_next/static/chunks/ea1289c6-af06a3aa354af787.js" defer=""></script><script src="/_next/static/chunks/33e67163-4ccb06f9e0896b7e.js" defer=""></script><script src="/_next/static/chunks/45083629-81c12d79136b41e2.js" defer=""></script><script src="/_next/static/chunks/f2bcd8ad-9f9f112a7c558611.js" defer=""></script><script src="/_next/static/chunks/912a37ed-4a6a451ca163fb30.js" defer=""></script><script src="/_next/static/chunks/491f5cfb-82d9d47af9b7b881.js" defer=""></script><script src="/_next/static/chunks/b7300653-cf5868b0204fa7c1.js" defer=""></script><script src="/_next/static/chunks/d3a2d874-bd9936fb5f2e8d59.js" defer=""></script><script src="/_next/static/chunks/5e405f82-d1e6a26ead2c0284.js" defer=""></script><script src="/_next/static/chunks/1209-050c4b99de8bab48.js" defer=""></script><script src="/_next/static/chunks/5975-4fc6f54c65688b3c.js" defer=""></script><script src="/_next/static/chunks/6757-c445959089d9b343.js" defer=""></script><script src="/_next/static/chunks/8833-256e678e0ce2061d.js" defer=""></script><script src="/_next/static/chunks/6487-8b04937be030c655.js" defer=""></script><script src="/_next/static/chunks/pages/%5Bslug%5D-59f8733b56a2fdc7.js" defer=""></script><script src="/_next/static/G4qA0OBKSCKOYgWhTwn9S/_buildManifest.js" defer=""></script><script src="/_next/static/G4qA0OBKSCKOYgWhTwn9S/_ssgManifest.js" defer=""></script><style id="__jsx-1737984343">.wordmark.jsx-1737984343{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:0.5rem;}.wordmark.jsx-1737984343 svg{height:1rem;width:auto;margin-bottom:0.125rem;}.banner.jsx-1737984343{background:linear-gradient(90deg,white,#f2fdfc 33.3%,#e6faf8 100%);box-shadow:0 0 8px 2px rgba(0,0,0,0.03);border-bottom:1px solid #d1faf6;color:var(--color-tina-blue);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0.75rem 1rem;font-size:1rem;position:relative;z-index:10;line-height:1.2;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:100%;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.banner.jsx-1737984343 a{-webkit-text-decoration:underline;text-decoration:underline;}.banner.jsx-1737984343 em{font-style:normal;font-weight:bold;}.banner-content.jsx-1737984343{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:0.3rem;margin-bottom:0.5rem;}.banner-content-subscribe.jsx-1737984343{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.hand-emoji.jsx-1737984343{display:none;}@media (min-width:1024px){.banner.jsx-1737984343{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding-left:2rem;padding-right:2.5rem;}.hand-emoji.jsx-1737984343{display:block;}.banner-content-subscribe.jsx-1737984343{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}.banner-content.jsx-1737984343{margin-bottom:0;}}.actions.jsx-1737984343{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}.actions.jsx-1737984343 > *{width:auto;}.link.jsx-1737984343{font-size:1rem;margin-right:1rem;}.link.jsx-1737984343 svg{display:none;margin-left:0.5rem;height:1em;}@media (min-width:680px){.link.jsx-1737984343 svg{display:inline-block;}}@media (min-width:680px){.link.jsx-1737984343{margin-right:2rem;white-space:nowrap;}}.tinaCloud.jsx-1737984343{display:inline-block;white-space:nowrap;}</style><style id="__jsx-4217814947">.or-text.jsx-4217814947{margin:0.5rem 1.5rem 0.5rem 0.75rem;font-size:1.125rem;color:var(--color-secondary);font-weight:bold;}.actionGroupCenter.jsx-4217814947{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}.icon-class.jsx-4217814947{display:inline-block;fill:currentColor;margin-left:0.375em;height:1em;width:auto;-webkit-transition:opacity ease-out 150ms;transition:opacity ease-out 150ms;}</style><style id="__jsx-4148967827">.bash.jsx-4148967827{opacity:0.5;margin-right:0.25rem;}.label.jsx-4148967827{margin-right:0.5rem;position:relative;z-index:1;}.success-message.jsx-4148967827{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;top:0;left:0;right:0;bottom:0;text-align:center;color:var(--color-orange);font-family:var(--font-tuner);font-weight:regular;font-style:normal;background:white;z-index:10;-webkit-transition:opacity 180ms ease-out;transition:opacity 180ms ease-out;opacity:0;}.visible.jsx-4148967827{opacity:1;}.icon.jsx-4148967827{width:2.5rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background:var(--color-seafoam);border-left:1px solid #b4f4e0;color:var(--color-orange);-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;opacity:0.5;-webkit-transition:opacity 180ms ease-out;transition:opacity 180ms ease-out;}.text.jsx-4148967827{padding:0.75rem 1rem;font-size:1rem;}.code-button.jsx-4148967827{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;font-weight:bold;overflow:hidden;font-size:1rem;border-radius:0.375rem;cursor:pointer;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;width:-webkit-max-content;width:-moz-max-content;width:max-content;background-color:white;color:var(--color-secondary);font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;padding:0;border:1px solid #b4f4e0;font-weight:regular;font-style:normal;-webkit-text-decoration:none !important;text-decoration:none !important;white-space:nowrap;opacity:1;line-height:1;position:relative;}.code-button.jsx-4148967827:hover,.code-button.jsx-4148967827:focus{color:var(--color-orange);-webkit-text-decoration:none;text-decoration:none;-webkit-transform:translate3d(-1px,-2px,0);-ms-transform:translate3d(-1px,-2px,0);transform:translate3d(-1px,-2px,0);-webkit-transition:-webkit-transform 180ms ease-out;-webkit-transition:transform 180ms ease-out;transition:transform 180ms ease-out;}.code-button.jsx-4148967827:hover .icon.jsx-4148967827,.code-button.jsx-4148967827:focus .icon.jsx-4148967827{opacity:1;}.code-button.jsx-4148967827:focus{box-shadow:rgba(0,0,0,0.08) 0px 0px 0px 1px inset,rgba(236,72,21,0.7) 0px 0px 0px 3px,rgba(0,0,0,0.12) 0px 2px 3px;}.code-button.jsx-4148967827:focus,.code-button.jsx-4148967827:active{outline:none;}.code-button.jsx-4148967827:active{-webkit-filter:none;filter:none;}.content.jsx-4148967827{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}</style><style id="__jsx-2286557706">.heading.jsx-2286557706{font-family:var(--font-tuner);font-weight:bold;font-style:normal;font-size:2.5rem;line-height:1.3;-webkit-letter-spacing:0.1px;-moz-letter-spacing:0.1px;-ms-letter-spacing:0.1px;letter-spacing:0.1px;display:inline-block;color:transparent;background:linear-gradient(to right,var(--color-orange-light),var(--color-orange),var(--color-orange-dark));-webkit-background-clip:text;background-clip:text;text-align:center;margin:0 auto;max-width:12em;}@media (min-width:800px){.heading.jsx-2286557706{font-size:3rem;}}@media (min-width:1200px){.heading.jsx-2286557706{font-size:3.5rem;}}</style><style id="__jsx-2536084304">.container.jsx-2536084304{margin:0 auto;padding:0 var(--container-padding);width:100%;}@media (min-width:800px){.container.jsx-2536084304{width:80%;}}.wide.jsx-2536084304{max-width:1500px;}@media (min-width:600px){.wide.jsx-2536084304{width:100%;}}@media (min-width:1000px){.wide.jsx-2536084304{width:92%;}}.medium.jsx-2536084304{max-width:1350px;}@media (min-width:600px){.medium.jsx-2536084304{width:90%;}}@media (min-width:1000px){.medium.jsx-2536084304{width:80%;}}.narrow.jsx-2536084304{max-width:900px;}@media (min-width:600px){.narrow.jsx-2536084304{width:60%;}}@media (min-width:1000px){.narrow.jsx-2536084304{width:55%;}}.center.jsx-2536084304{text-align:center;}</style><style id="__jsx-2255289348">.blob-bg.jsx-2255289348{background-image:url("data:image/svg+xml,%3Csvg preserveAspectRatio='none' viewBox='0 0 194 109' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_566_318)'%3E%3Crect width='194' height='109' fill='white' /%3E%3Cmask id='mask0_566_318' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='194' height='109'%3E%3Crect width='194' height='109' fill='url(%23paint0_linear_566_318)' /%3E%3C/mask%3E%3Cg mask='url(%23mask0_566_318)'%3E%3Crect width='194' height='109' fill='url(%23paint1_linear_566_318)' /%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_566_318' x1='97' y1='0' x2='97' y2='109' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23D9D9D9' stop-opacity='0.45' /%3E%3Cstop offset='0.229052' stop-color='%23D9D9D9' stop-opacity='0.1678' /%3E%3Cstop offset='0.677779' stop-color='%23D9D9D9' stop-opacity='0.0513' /%3E%3Cstop offset='1' stop-color='%23D9D9D9' stop-opacity='0' /%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_566_318' x1='0' y1='54.5' x2='194' y2='54.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2353E9DD' /%3E%3Cstop offset='0.34375' stop-color='%2368D7E4' /%3E%3Cstop offset='0.59375' stop-color='%2359BFF2' /%3E%3Cstop offset='1' stop-color='%234BA8FF' /%3E%3C/linearGradient%3E%3CclipPath id='clip0_566_318'%3E%3Crect width='194' height='109' fill='white' /%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E ");background-repeat:no-repeat;background-position:top center;background-size:100% 100%;background-attachment:fixed;}</style><style id="__jsx-91136458">:root{--color-tina-blue-light:#2296fe;--color-tina-blue:#2296fe;--color-tina-blue-dark:#0574e4;--color-orange-light:#ea6d43;--color-orange:#ec4815;--color-orange-dark:#d94217;--color-yellow:#f2c94c;--color-green:#6fcf97;--color-black:#1c1b2e;--color-blue:#241748;--color-blue-light:#31215e;--color-white:#ffffff;--color-gray:#f3f3f3;--color-light-gray:#fafafa;--color-seafoam:#e6faf8;--color-seafoam-dark:#b4f4e0;--color-emphasis:var(--color-orange);--color-card-background:var(--color-light-gray);--spacer-size:4.5rem;--section-padding:calc(var(--spacer-size) * 2);--container-padding:2rem;}::-moz-selection{background:var(--color-seafoam-dark);color:var(--color-blue-light);}::selection{background:var(--color-seafoam-dark);color:var(--color-blue-light);}html{min-width:380px;width:100%;}.section{padding:var(--section-padding) 0;}h1 p,h2 p,h3 p,h4 p{font-weight:inherit;}.headingLarge{font-family:var(--font-tuner);font-weight:bold;line-height:1.4;margin-bottom:1rem;font-size:2.25rem;color:#00255b;}.headingMedium{font-size:1.675rem;line-height:1.4;margin-bottom:1rem;}.textHuge{display:block;width:100%;max-width:600px;margin-left:auto;margin-right:auto;font-size:1.375rem;}.textHuge:not(:last-child){margin-bottom:2.5rem;}.textLarge{font-size:1.125rem;opacity:0.85;}.textLarge:not(:last-child){margin-bottom:1.25rem;}.spacer{display:block;width:100%;height:var(--spacer-size);}.spacerBig{height:calc(var(--spacer-size) * 1.5);}.orange{background:linear-gradient(to top right,var(--color-orange),var(--color-orange-light));color:var(--color-white);}.black{background:var(--color-black);color:var(--color-white);}.lightblue{background:var(--color-tina-blue);color:var(--color-white);--color-emphasis:var(--color-orange);}.blue{background:var(--color-blue);color:var(--color-white);--color-emphasis:var(--color-orange-light);}.lightGray{background:var(--color-light-gray);color:var(--color-black);--color-card-background:var(--color-white);}.white{background:var(--color-white);color:var(--color-blue);}</style><style data-styled="" data-styled-version="6.1.13">html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0;}/*!sc*/ ul{list-style:none;}/*!sc*/ button,input,select,textarea{margin:0;}/*!sc*/ html{box-sizing:border-box;}/*!sc*/ *,*:before,*:after{box-sizing:inherit;}/*!sc*/ img,video{height:auto;max-width:100%;}/*!sc*/ iframe{border:0;}/*!sc*/ table{border-collapse:collapse;border-spacing:0;}/*!sc*/ td,th{padding:0;text-align:left;}/*!sc*/ .short-code-warning{position:relative;display:block;font-size:1.125rem;background-color:var(--color-warning);border:1px solid var(--color-warning-dark);border-left-width:6px;border-radius:3px;padding:1rem 1rem 1rem 3.5rem;}/*!sc*/ .short-code-warning *:first-child{margin-top:0;}/*!sc*/ .short-code-warning *:last-child{margin-bottom:0;}/*!sc*/ .short-code-warning a,.short-code-warning a:visited{color:var(--color-tina-blue-dark)!important;font-weight:bold;}/*!sc*/ .short-code-warning svg{position:absolute;top:1.25rem;left:1rem;width:1.625rem;height:auto;fill:var(--color-orange);}/*!sc*/ html{font-size:81.25%;font-weight:normal;font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;line-height:1.6;width:100%;overflow-x:hidden;height:100%;min-height:100%;box-sizing:border-box;-webkit-font-smooth:'antialiased';-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;--color-white:#FFFFFF;--color-orange-light:#EA6D43;--color-orange:#EC4815;--color-orange-dark:#D94217;--color-secondary:#1D2C6C;--color-secondary-dark:#241748;--color-blue:var(--color-secondary-dark);--color-blue-light:var(--color-secondary);--color-tina-blue:#2296FE;--color-tina-blue-light:#00A5FF;--color-tina-blue-dark:#0574E4;--color-seafoam-100:#F2FDFC;--color-seafoam-200:#E6FAF8;--color-seafoam-300:#D1FAF6;--color-seafoam-400:#B4F4E0;--color-seaforam-500:#96E7D8;--color-seafoam:var(--color-seafoam-200);--color-seafoam-dark:var(--color-seafoam-400);--color-light:#FAFAFA;--color-light-dark:#E9E9EC;--color-warning-light:#FFFBEB;--color-warning:#FEF3C7;--color-warning-dark:#FDE68A;--color-tina-blue-light:#2296fe;--color-tina-blue:#0084ff;--color-tina-blue-dark:#0574e4;--color-error-light:var(--color-orange-light);--color-error:var(--color-orange);--color-error-dark:var(--color-orange-dark);--color-success-light:#57c355;--color-success:#3cad3a;--color-success-dark:#249a21;--color-grey:#595959;--color-grey-dark:#404040;--color-grey-0:#ffffff;--color-grey-1:#f6f6f9;--color-grey-2:#edecf3;--color-grey-3:#e1ddec;--color-grey-4:#b2adbe;--color-grey-5:#918c9e;--color-grey-6:#716c7f;--color-grey-7:#565165;--color-grey-8:#433e52;--color-grey-9:#363145;--color-grey-10:#252336;--color-indicator:var(--color-primary);--radius-small:5px;--radius-big:24px;--padding-small:12px;--padding-big:20px;--font-size-0:12px;--font-size-1:13px;--font-size-2:15px;--font-size-3:16px;--font-size-4:18px;--font-size-5:20px;--font-size-6:22px;--font-size-7:26px;--font-size-8:32px;--font-family:'Inter',sans-serif;--font-weight-regular:400;--font-weight-bold:600;--shadow-big:0px 2px 3px rgba(0,0,0,0.05),0 4px 12px rgba(0,0,0,0.1);--shadow-small:0px 2px 3px rgba(0,0,0,0.12);--timing-short:85ms;--timing-medium:150ms;--timing-long:250ms;--z-index-0:0;--z-index-1:10;--z-index-2:20;--z-index-3:30;--z-index-4:40;--z-index-5:50;--breakpoint-small:400px;--breakpoint-medium:800px;--breakpoint-large:1200px;--spacer-size:4.5rem;--section-padding:calc(var(--spacer-size) * 2);--container-padding:2rem;--font-tuner:'tuner-regular',-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-tuner-medium:'tuner-medium',-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;}/*!sc*/ @media (min-width:450px){html{font-size:87.5%;}}/*!sc*/ @media (min-width:685px){html{font-size:100%;}}/*!sc*/ html *{box-sizing:inherit;font-variant-numeric:inherit;font-family:inherit;line-height:inherit;font-size:100%;}/*!sc*/ ::-moz-selection{background:var(--color-seafoam-dark);color:var(--color-blue-light);}/*!sc*/ ::selection{background:var(--color-seafoam-dark);color:var(--color-blue-light);}/*!sc*/ .fitVids-wrapper{position:relative;padding-bottom:56.25%;height:0;}/*!sc*/ .fitVids-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;}/*!sc*/ hr{display:block;border:none;border-image:initial;background:url('/svg/hr.svg');background-size:auto 100%;background-repeat:no-repeat;height:7px;width:100%;margin:2rem 0px;}/*!sc*/ data-styled.g1[id="sc-global-egrist1"]{content:"sc-global-egrist1,"}/*!sc*/ .gxWBqx{width:100%;max-width:1350px;margin:0 auto;padding:0 2rem;max-width:900px;}/*!sc*/ @media (min-width:600px){.gxWBqx{width:60%;}}/*!sc*/ @media (min-width:1000px){.gxWBqx{width:55%;}}/*!sc*/ data-styled.g17[id="Wrapper-sc-1qfos15-0"]{content:"gxWBqx,"}/*!sc*/ .bhmeQf h1,.bhmeQf h2,.bhmeQf h3,.bhmeQf h4,.bhmeQf h5,.bhmeQf h6{margin:2rem 0 1.5rem 0;}/*!sc*/ .bhmeQf h1:first-child,.bhmeQf h2:first-child,.bhmeQf h3:first-child,.bhmeQf h4:first-child,.bhmeQf h5:first-child,.bhmeQf h6:first-child{margin-top:0;}/*!sc*/ .bhmeQf h1:last-child,.bhmeQf h2:last-child,.bhmeQf h3:last-child,.bhmeQf h4:last-child,.bhmeQf h5:last-child,.bhmeQf h6:last-child{margin-bottom:0;}/*!sc*/ .bhmeQf p,.bhmeQf iframe,.bhmeQf blockquote,.bhmeQf image{margin:1.5rem 0;}/*!sc*/ .bhmeQf p:first-child,.bhmeQf iframe:first-child,.bhmeQf blockquote:first-child,.bhmeQf image:first-child{margin-top:0;}/*!sc*/ .bhmeQf p:last-child,.bhmeQf iframe:last-child,.bhmeQf blockquote:last-child,.bhmeQf image:last-child{margin-bottom:0;}/*!sc*/ .bhmeQf ul,.bhmeQf ol{padding-left:2rem;margin-bottom:1.5rem;}/*!sc*/ .bhmeQf li{margin-bottom:0.5rem;}/*!sc*/ .bhmeQf h1,.bhmeQf h2,.bhmeQf h3,.bhmeQf h4,.bhmeQf h5,.bhmeQf h6{position:relative;font-family:var(--font-tuner);font-weight:regular;font-style:normal;}/*!sc*/ .bhmeQf h1 em,.bhmeQf h2 em,.bhmeQf h3 em,.bhmeQf h4 em,.bhmeQf h5 em,.bhmeQf h6 em{font-style:normal;}/*!sc*/ .bhmeQf h1,.bhmeQf .h1{display:inline-block;font-size:2.5rem;line-height:1.3;letter-spacing:0.1px;color:transparent;background:linear-gradient( to bottom right,var(--color-orange-light),var(--color-orange),var(--color-orange-dark) );-webkit-background-clip:text;background-clip:text;}/*!sc*/ .bhmeQf h1 em,.bhmeQf .h1 em{color:var(--color-secondary-dark);}/*!sc*/ @media (min-width:800px){.bhmeQf h1,.bhmeQf .h1{font-size:3rem;}}/*!sc*/ @media (min-width:1200px){.bhmeQf h1,.bhmeQf .h1{font-size:4rem;}}/*!sc*/ .bhmeQf h2,.bhmeQf .h2{display:inline-block;font-size:2.25rem;line-height:1.3;letter-spacing:0.1px;color:transparent;background:linear-gradient( to bottom right,var(--color-orange-light),var(--color-orange),var(--color-orange-dark) );-webkit-background-clip:text;background-clip:text;font-weight:bold;}/*!sc*/ .bhmeQf h2 em,.bhmeQf .h2 em{color:var(--color-secondary-dark);}/*!sc*/ .bhmeQf h3,.bhmeQf .h3{font-size:1.5rem;font-weight:bold;line-height:1.3;letter-spacing:0.1px;color:var(--color-secondary-dark);}/*!sc*/ .bhmeQf h3 em,.bhmeQf .h3 em{color:var(--color-orange);}/*!sc*/ .bhmeQf h4,.bhmeQf .h4{font-size:1.25rem;font-weight:bold;line-height:1.3;letter-spacing:0.1px;color:var(--color-secondary-dark);}/*!sc*/ .bhmeQf h4 em,.bhmeQf .h4 em{color:var(--color-orange);}/*!sc*/ .bhmeQf p{font-size:16px;color:var(--color-secondary-dark);}/*!sc*/ @media (min-width:685px){.bhmeQf p{font-size:18px;}}/*!sc*/ .bhmeQf p img{display:block;margin:1.5rem auto;border-radius:5px;border-width:1px;border-style:solid;border-color:rgb(237,238,238);border-image:initial;overflow:hidden;}/*!sc*/ .bhmeQf iframe{display:block;margin:1.5rem auto;border-radius:5px;border-width:1px;border-style:solid;border-color:rgb(237,238,238);border-image:initial;overflow:hidden;}/*!sc*/ .bhmeQf a:not([class]){color:inherit;opacity:0.8;text-decoration:underline rgba(0,0,0,0.3);transition:all 185ms ease-out;}/*!sc*/ .bhmeQf a:not([class]):hover,.bhmeQf a:not([class]):focus{opacity:1;color:var(--color-orange);text-decoration-color:var(--color-orange);}/*!sc*/ .bhmeQf blockquote{display:block;font-size:1.125rem;background-color:var(--color-seafoam);border:1px solid var(--color-seafoam-dark);border-left-width:6px;border-radius:3px;padding:1em;}/*!sc*/ .bhmeQf hr{display:block;border:none;border-image:initial;background:url('/svg/hr.svg');background-size:auto 100%;background-repeat:no-repeat;height:7px;width:100%;margin:2rem 0px;}/*!sc*/ .bhmeQf strong{font-weight:bold;}/*!sc*/ .bhmeQf ul{list-style-type:disc;}/*!sc*/ .bhmeQf li{font-size:1.125rem;color:var(--color-secondary-dark);}/*!sc*/ .bhmeQf *:not(pre)>code{padding:0.1em 0.2em;border-radius:0.3em;background-color:var(--color-light);border:1px solid var(--color-light-dark);border-radius:0.3rem;color:var(--color-orange);font-size:1em;line-height:inherit;}/*!sc*/ .bhmeQf pre{border-radius:5px;border-width:1px;border-style:solid;border-color:rgb(237,238,238);border-image:initial;}/*!sc*/ .bhmeQf table{width:100%;line-height:1.375;}/*!sc*/ .bhmeQf tr:nth-child(even){background-color:var(--color-light);}/*!sc*/ .bhmeQf th,.bhmeQf td{padding:0.4rem 0.5rem;}/*!sc*/ .bhmeQf th{border-bottom:3px solid var(--color-light-dark);font-family:var(--font-tuner);font-weight:regular;font-style:normal;color:var(--color-orange);letter-spacing:0.5px;font-size:1.125rem;line-height:1.3;letter-spacing:0.1px;}/*!sc*/ .bhmeQf td{border-bottom:1px solid var(--color-light-dark);}/*!sc*/ data-styled.g18[id="RichTextWrapper-sc-zoklxf-0"]{content:"bhmeQf,"}/*!sc*/ </style></head><body><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K35ZHHJF" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><div id="__next"><div class="jsx-1737984343 banner"><div class="jsx-1737984343 banner-content"><span class="jsx-1737984343 mobile pr-2">Loving Tina? ⭐️ us on<!-- --> <a href="https://github.com/tinacms/tinacms" target="_blank" class="jsx-1737984343">GitHub</a></span><span><a href="https://github.com/tinacms/tinacms" data-size="medium" data-show-count="true" aria-label="Star TinaCMS on GitHub">Star</a></span></div></div><div class="jsx-2255289348 flex flex-col min-h-screen blob-bg font-sans"><div class="jsx-2255289348 lg:pb-20"><div class="relative w-full"><div class="flex min-[1135px]:hidden w-full py-4 pl-4 pr-18 items-center justify-between gap-6"><div class="fixed top-0 right-0 h-full w-3/4 bg-gradient-to-t from-blue-50 to-white shadow-2xl z-50 transition ease-out duration-200 translate-x-full"><button class="absolute top-6 left-0 -translate-x-full transition duration-150 ease-out rounded-l-full flex items-center font-tuner whitespace-nowrap leading-tight hover:shadow active:shadow-none text-orange-500 hover:text-orange-400 border border-gray-100/60 bg-gradient-to-br from-white to-gray-50 pr-3 pl-4 pt-[8px] pb-[6px] text-sm font-medium cursor-pointer"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="h-6 w-auto transition ease-out duration-200 " height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z"></path></svg><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" class="absolute h-6 w-auto transition ease-out duration-150 -rotate-90 opacity-0" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M405 136.798L375.202 107 256 226.202 136.798 107 107 136.798 226.202 256 107 375.202 136.798 405 256 285.798 375.202 405 405 375.202 285.798 256z"></path></svg></button><ul class="flex flex-col py-4 px-6 relative z-20"><li class="pb-4 pt-2"><a href="/"><svg viewBox="0 0 49 68" fill="inherit" aria-labelledby="title desc" class="flex items-center w-7 h-auto fill-orange-500"><path d="M31.462 30.178c3.301-2.73 4.764-18.868 6.193-24.669 1.43-5.8 7.34-5.507 7.34-5.507s-1.534 2.671-.909 4.664C44.712 6.659 49 8.44 49 8.44l-.925 2.438s-1.93-.247-3.08 2.052c-1.15 2.298.739 25.058.739 25.058s-6.907 13.623-6.907 19.374c0 5.752 2.723 10.572 2.723 10.572h-3.82s-5.605-6.67-6.754-10.002c-1.15-3.333-.69-6.666-.69-6.666s-6.091-.345-11.493 0c-5.401.345-9.004 4.988-9.654 7.585-.65 2.598-.92 9.083-.92 9.083H5.2C3.361 62.26 1.9 60.227 2.693 57.362c2.194-7.935 1.763-12.436 1.255-14.44C3.44 40.917 0 39.168 0 39.168c1.685-3.433 3.405-5.083 10.803-5.255 7.398-.172 17.357-1.004 20.658-3.735z"></path><path d="M12.25 57.03s.78 7.223 4.927 10.904h3.554c-3.554-4.026-3.941-14.519-3.941-14.519-1.808.589-4.31 2.696-4.54 3.615z"></path></svg></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium"><a class="py-2" href="/docs">Docs</a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium"><a class="py-2" href="/pricing">Cloud Pricing</a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="/about"><span class="">About TinaCMS</span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="/blog"><span class="">Blog</span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="/compare-tina"><span class="">Compare Tina</span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="/examples"><span class="">Examples</span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="/whats-new/tinacms"><span class="">Whats New - TinaCMS</span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="/whats-new/tinacloud"><span class="">Whats New - TinaCloud</span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="/showcase"><span class="">Showcase</span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="/roadmap"><span class="">Roadmap</span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="/docs/support"><span class="">Support</span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="https://github.com/tinacms/awesome-tinacms"><span class="">Awesome TinaCMS<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="text-blue-200 text-sm inline ml-1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="m13 3 3.293 3.293-7 7 1.414 1.414 7-7L21 11V3z"></path><path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"></path></svg></span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="https://discord.com/invite/zumN63Ybpf"><span class="">Discord<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="text-blue-200 text-sm inline ml-1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="m13 3 3.293 3.293-7 7 1.414 1.414 7-7L21 11V3z"></path><path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"></path></svg></span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><a href="https://github.com/tinacms/tinacms/discussions"><span class="">Forum<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="text-blue-200 text-sm inline ml-1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="m13 3 3.293 3.293-7 7 1.414 1.414 7-7L21 11V3z"></path><path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"></path></svg></span></a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium"><a class="py-2" href="/enterprise">Enterprise</a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium"><a class="py-2" href="https://app.tina.io/signin">My TinaCloud</a></li></ul></div><div class="fixed top-0 left-0 w-full h-full bg-gray-900/70 z-30 opacity-0 pointer-events-none"></div><a href="/"><svg viewBox="0 0 49 68" fill="inherit" aria-labelledby="title desc" class="flex items-center w-7 h-auto fill-orange-500"><path d="M31.462 30.178c3.301-2.73 4.764-18.868 6.193-24.669 1.43-5.8 7.34-5.507 7.34-5.507s-1.534 2.671-.909 4.664C44.712 6.659 49 8.44 49 8.44l-.925 2.438s-1.93-.247-3.08 2.052c-1.15 2.298.739 25.058.739 25.058s-6.907 13.623-6.907 19.374c0 5.752 2.723 10.572 2.723 10.572h-3.82s-5.605-6.67-6.754-10.002c-1.15-3.333-.69-6.666-.69-6.666s-6.091-.345-11.493 0c-5.401.345-9.004 4.988-9.654 7.585-.65 2.598-.92 9.083-.92 9.083H5.2C3.361 62.26 1.9 60.227 2.693 57.362c2.194-7.935 1.763-12.436 1.255-14.44C3.44 40.917 0 39.168 0 39.168c1.685-3.433 3.405-5.083 10.803-5.255 7.398-.172 17.357-1.004 20.658-3.735z"></path><path d="M12.25 57.03s.78 7.223 4.927 10.904h3.554c-3.554-4.026-3.941-14.519-3.941-14.519-1.808.589-4.31 2.696-4.54 3.615z"></path></svg></a><div class="flex space-x-2 gap-2 cursor-pointer"><button class="transition duration-150 ease-out rounded-full flex items-center font-tuner whitespace-nowrap leading-snug focus:outline-none focus:shadow-outline hover:-translate-y-px active:translate-y-px hover:-translate-x-px active:translate-x-px leading-tight hover:shadow active:shadow-none text-orange-500 hover:text-orange-400 border border-gray-100/60 bg-gradient-to-br from-white to-gray-50 px-5 pt-[10px] pb-[8px] text-sm font-medium "><span class="mr-2"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="w-5 h-5" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"></path></svg></span>Subscribe</button><button class="transition duration-150 ease-out rounded-full flex items-center font-tuner whitespace-nowrap leading-snug focus:outline-none focus:shadow-outline hover:-translate-y-px active:translate-y-px hover:-translate-x-px active:translate-x-px leading-tight hover:shadow active:shadow-none text-white hover:text-gray-50 border border-orange-600 bg-gradient-to-br from-orange-400 to-orange-600 px-5 pt-[10px] pb-[8px] text-sm font-medium "><span class="mr-2"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" class="w-5 h-5" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"></path></svg></span>Book a demo</button></div></div><div class="absolute translate-y-2 px-4 pt-4 pb-6 z-40 w-full min-[1135px]:px-10 hidden min-[1135px]:flex items-center justify-between gap-6"><a href="/"><svg viewBox="0 0 49 68" fill="inherit" aria-labelledby="title desc" class="w-10 flex items-center h-auto fill-orange-500"><path d="M31.462 30.178c3.301-2.73 4.764-18.868 6.193-24.669 1.43-5.8 7.34-5.507 7.34-5.507s-1.534 2.671-.909 4.664C44.712 6.659 49 8.44 49 8.44l-.925 2.438s-1.93-.247-3.08 2.052c-1.15 2.298.739 25.058.739 25.058s-6.907 13.623-6.907 19.374c0 5.752 2.723 10.572 2.723 10.572h-3.82s-5.605-6.67-6.754-10.002c-1.15-3.333-.69-6.666-.69-6.666s-6.091-.345-11.493 0c-5.401.345-9.004 4.988-9.654 7.585-.65 2.598-.92 9.083-.92 9.083H5.2C3.361 62.26 1.9 60.227 2.693 57.362c2.194-7.935 1.763-12.436 1.255-14.44C3.44 40.917 0 39.168 0 39.168c1.685-3.433 3.405-5.083 10.803-5.255 7.398-.172 17.357-1.004 20.658-3.735z"></path><path d="M12.25 57.03s.78 7.223 4.927 10.904h3.554c-3.554-4.026-3.941-14.519-3.941-14.519-1.808.589-4.31 2.696-4.54 3.615z"></path></svg></a><nav class="flex-1 flex flex-wrap-reverse justify-end items-end min-[1135px]:items-center gap-2 min-[1135px]:gap-x-12"><ul class="flex gap-6 min-[1135px]:gap-8 min-[1135px]:gap-12 relative z-20"><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium"><a class="py-2 w-max" href="/docs">Docs</a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium"><a class="py-2 w-max" href="/pricing">Cloud Pricing</a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium"><div class="relative group"><span class="flex items-center cursor-pointer">Resources<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="ml-1 text-blue-200 group-hover:text-blue-400 transition-transform duration-200 group-hover:rotate-90" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M10.707 17.707 16.414 12l-5.707-5.707-1.414 1.414L13.586 12l-4.293 4.293z"></path></svg></span><ul class="absolute left-0 top-full mt-2 min-w-full w-max bg-white shadow-lg rounded-md p-2 opacity-0 pointer-events-none group-hover:opacity-100 group-hover:pointer-events-auto transition-opacity duration-500 ease-in-out"><li class="py-2 px-2 flex items-center"><a href="/about"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">About TinaCMS</span></a></li><li class="py-2 px-2 flex items-center"><a href="/blog"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Blog</span></a></li><li class="py-2 px-2 flex items-center"><a href="/compare-tina"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Compare Tina</span></a></li><li class="py-2 px-2 flex items-center"><a href="/examples"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Examples</span></a></li><li class="py-2 px-2 flex items-center"><a href="/whats-new/tinacms"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Whats New - TinaCMS</span></a></li><li class="py-2 px-2 flex items-center"><a href="/whats-new/tinacloud"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Whats New - TinaCloud</span></a></li></ul></div></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium"><div class="relative group"><span class="flex items-center cursor-pointer">Community<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="ml-1 text-blue-200 group-hover:text-blue-400 transition-transform duration-200 group-hover:rotate-90" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M10.707 17.707 16.414 12l-5.707-5.707-1.414 1.414L13.586 12l-4.293 4.293z"></path></svg></span><ul class="absolute left-0 top-full mt-2 min-w-full w-max bg-white shadow-lg rounded-md p-2 opacity-0 pointer-events-none group-hover:opacity-100 group-hover:pointer-events-auto transition-opacity duration-500 ease-in-out"><li class="py-2 px-2 flex items-center"><a href="/showcase"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Showcase</span></a></li><li class="py-2 px-2 flex items-center"><a href="/roadmap"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Roadmap</span></a></li><li class="py-2 px-2 flex items-center"><a href="/docs/support"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Support</span></a></li><li class="py-2 px-2 flex items-center"><a href="https://github.com/tinacms/awesome-tinacms"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Awesome TinaCMS<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="text-blue-200 text-sm group-hover:text-blue-400 inline ml-1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="m13 3 3.293 3.293-7 7 1.414 1.414 7-7L21 11V3z"></path><path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"></path></svg></span></a></li><li class="py-2 px-2 flex items-center"><a href="https://discord.com/invite/zumN63Ybpf"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Discord<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="text-blue-200 text-sm group-hover:text-blue-400 inline ml-1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="m13 3 3.293 3.293-7 7 1.414 1.414 7-7L21 11V3z"></path><path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"></path></svg></span></a></li><li class="py-2 px-2 flex items-center"><a href="https://github.com/tinacms/tinacms/discussions"><span class="text-gray-600 hover:text-blue-500 transition text-md ease-out duration-150">Forum<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="text-blue-200 text-sm group-hover:text-blue-400 inline ml-1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="m13 3 3.293 3.293-7 7 1.414 1.414 7-7L21 11V3z"></path><path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"></path></svg></span></a></li></ul></div></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium"><a class="py-2 w-max" href="/enterprise">Enterprise</a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium"><a class="py-2 w-max" href="https://app.tina.io/signin">My TinaCloud</a></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><button class="transition duration-150 ease-out rounded-full flex items-center font-tuner whitespace-nowrap leading-snug focus:outline-none focus:shadow-outline hover:-translate-y-px active:translate-y-px hover:-translate-x-px active:translate-x-px leading-tight hover:shadow active:shadow-none text-orange-500 hover:text-orange-400 border border-gray-100/60 bg-gradient-to-br from-white to-gray-50 px-5 pt-[10px] pb-[8px] text-sm font-medium "><span class="mr-2"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="w-5 h-5" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"></path></svg></span>Subscribe</button></li><li class="group flex items-center text-blue-700 hover:text-blue-500 transition ease-out duration-150 cursor-pointer drop-shadow-sm text-base font-medium py-2"><button class="transition duration-150 ease-out rounded-full flex items-center font-tuner whitespace-nowrap leading-snug focus:outline-none focus:shadow-outline hover:-translate-y-px active:translate-y-px hover:-translate-x-px active:translate-x-px leading-tight hover:shadow active:shadow-none text-white hover:text-gray-50 border border-orange-600 bg-gradient-to-br from-orange-400 to-orange-600 px-5 pt-[10px] pb-[8px] text-sm font-medium "><span class="mr-2"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" class="w-5 h-5" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"></path></svg></span>Book a demo</button></li></ul></nav></div></div></div><div class="jsx-2255289348 flex flex-col flex-1"><section class="relative overflow-visible z-10 text-center px-8 py-12 lg:py-16"><div class="jsx-2536084304 container narrow center"><div class="jsx-2286557706 flex flex-col gap-6"><h2 data-tina-field="" class="jsx-2286557706 heading">Goodbye Forestry.io, Hello TinaCMS</h2><p data-tina-field="" class="jsx-2286557706 text-xl">The Forestry.io team is focused on building TinaCMS, the next iteration of our vision. See the migration guide or test it with the following command. </p><div class="jsx-2286557706 flex justify-center items-center gap-10"><div class="jsx-4217814947 items-center flex flex-col sm:flex-row md:flex-row lg:flex-row"><a class="transition duration-150 ease-out rounded-full flex items-center font-tuner whitespace-nowrap leading-snug focus:outline-none focus:shadow-outline hover:-translate-y-px active:translate-y-px hover:-translate-x-px active:translate-x-px leading-tight hover:shadow active:shadow-none text-white hover:text-gray-50 border border-blue-400 bg-gradient-to-br from-blue-300 via-blue-400 to-blue-600 px-5 pt-[10px] pb-[8px] text-sm font-medium " id="tina-migration-guide" target="_self" data-tina-field="" href="/">Tina Migration Guide</a></div><button id="npx-create-tina-applatest" class="jsx-4148967827 code-button event-cmd-button"><div class="jsx-4148967827 content"><span class="jsx-4148967827 text"><span class="jsx-4148967827 bash">></span> </span><span class="jsx-4148967827 label">npx create-tina-app@latest</span><span class="jsx-4148967827 icon"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M20 2H10c-1.103 0-2 .897-2 2v4H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2v-4h4c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM4 20V10h10l.002 10H4zm16-6h-4v-4c0-1.103-.897-2-2-2h-4V4h10v10z"></path></svg></span></div><span id="npx-create-tina-applatest" class="jsx-4148967827 success-message ">Copied to clipboard!</span></button></div></div></div></section><section class="relative z-0 py-20 lg:py-28" style="overflow:visible"><div class="jsx-2536084304 container wide "><div class="grid gap-[0.5px] grid-flow-row grid-cols-auto-sm md:grid-cols-auto-lg auto-rows-auto w-full rounded-xl overflow-visible shadow border border-blue-50/50 bg-gradient-to-br from-seafoam-200/30 to-blue-100/30"><a target="_blank" rel="noopener noreferrer" class="group block py-6 px-8 md:py-9 md:px-11 lg:py-12 lg:px-14 rounded-sm bg-gradient-to-br from-white via-white to-white/50 shadow-[inset_0_0_0_1px_rgba(223,219,252,0.15),_0_0_1px_1px_rgba(223,219,252,0.5)] transition duration-500 hover:scale-105 hover:bg-gradient-to-br hover:from-orange-200 hover:via-orange-400 hover:to-orange-600 hover:z-20" style="text-decoration:none;overflow:visible" id="frameworks-agnostic"><div data-tina-field="" class="flex flex-col gap-4"><h3 class="text-2xl md:text-xl lg:text-2xl font-tuner leading-tight text-transparent bg-gradient-to-br from-blue-700/80 via-blue-900/90 to-blue-1000 bg-clip-text mb-2 group-hover:text-white break-words">Frameworks-Agnostic</h3><p class="group-hover:text-white">Tina supports all frameworks and static site generators.</p></div></a><a target="_blank" rel="noopener noreferrer" class="group block py-6 px-8 md:py-9 md:px-11 lg:py-12 lg:px-14 rounded-sm bg-gradient-to-br from-white via-white to-white/50 shadow-[inset_0_0_0_1px_rgba(223,219,252,0.15),_0_0_1px_1px_rgba(223,219,252,0.5)] transition duration-500 hover:scale-105 hover:bg-gradient-to-br hover:from-orange-200 hover:via-orange-400 hover:to-orange-600 hover:z-20" style="text-decoration:none;overflow:visible" id="git-sync"><div data-tina-field="" class="flex flex-col gap-4"><h3 class="text-2xl md:text-xl lg:text-2xl font-tuner leading-tight text-transparent bg-gradient-to-br from-blue-700/80 via-blue-900/90 to-blue-1000 bg-clip-text mb-2 group-hover:text-white break-words">Git-Sync</h3><p class="group-hover:text-white">Similar to Forestry, Tina commits content changes to your repository.</p></div></a><a target="_blank" rel="noopener noreferrer" class="group block py-6 px-8 md:py-9 md:px-11 lg:py-12 lg:px-14 rounded-sm bg-gradient-to-br from-white via-white to-white/50 shadow-[inset_0_0_0_1px_rgba(223,219,252,0.15),_0_0_1px_1px_rgba(223,219,252,0.5)] transition duration-500 hover:scale-105 hover:bg-gradient-to-br hover:from-orange-200 hover:via-orange-400 hover:to-orange-600 hover:z-20" style="text-decoration:none;overflow:visible" id="basic-or-visual-editing"><div data-tina-field="" class="flex flex-col gap-4"><h3 class="text-2xl md:text-xl lg:text-2xl font-tuner leading-tight text-transparent bg-gradient-to-br from-blue-700/80 via-blue-900/90 to-blue-1000 bg-clip-text mb-2 group-hover:text-white break-words">Basic or Visual Editing</h3><p class="group-hover:text-white">Tina's basic editing mode is similar to editing content with Forestry. Tina also supports visual editing which shows a live preview of your site as you edit content. </p></div></a><a target="_blank" rel="noopener noreferrer" class="group block py-6 px-8 md:py-9 md:px-11 lg:py-12 lg:px-14 rounded-sm bg-gradient-to-br from-white via-white to-white/50 shadow-[inset_0_0_0_1px_rgba(223,219,252,0.15),_0_0_1px_1px_rgba(223,219,252,0.5)] transition duration-500 hover:scale-105 hover:bg-gradient-to-br hover:from-orange-200 hover:via-orange-400 hover:to-orange-600 hover:z-20" style="text-decoration:none;overflow:visible" id="multi-branch"><div data-tina-field="" class="flex flex-col gap-4"><h3 class="text-2xl md:text-xl lg:text-2xl font-tuner leading-tight text-transparent bg-gradient-to-br from-blue-700/80 via-blue-900/90 to-blue-1000 bg-clip-text mb-2 group-hover:text-white break-words">Multi-Branch</h3><p class="group-hover:text-white">Create new branches and switch between them right from the Tina UI.</p></div></a><a target="_blank" rel="noopener noreferrer" class="group block py-6 px-8 md:py-9 md:px-11 lg:py-12 lg:px-14 rounded-sm bg-gradient-to-br from-white via-white to-white/50 shadow-[inset_0_0_0_1px_rgba(223,219,252,0.15),_0_0_1px_1px_rgba(223,219,252,0.5)] transition duration-500 hover:scale-105 hover:bg-gradient-to-br hover:from-orange-200 hover:via-orange-400 hover:to-orange-600 hover:z-20" style="text-decoration:none;overflow:visible" id="open-source-and-extensible"><div data-tina-field="" class="flex flex-col gap-4"><h3 class="text-2xl md:text-xl lg:text-2xl font-tuner leading-tight text-transparent bg-gradient-to-br from-blue-700/80 via-blue-900/90 to-blue-1000 bg-clip-text mb-2 group-hover:text-white break-words">Open-Source and Extensible</h3><p class="group-hover:text-white">Tina is very customizable and extensible due to it's open-source nature.</p></div></a><a target="_blank" rel="noopener noreferrer" class="group block py-6 px-8 md:py-9 md:px-11 lg:py-12 lg:px-14 rounded-sm bg-gradient-to-br from-white via-white to-white/50 shadow-[inset_0_0_0_1px_rgba(223,219,252,0.15),_0_0_1px_1px_rgba(223,219,252,0.5)] transition duration-500 hover:scale-105 hover:bg-gradient-to-br hover:from-orange-200 hover:via-orange-400 hover:to-orange-600 hover:z-20" style="text-decoration:none;overflow:visible" id="local-development"><div data-tina-field="" class="flex flex-col gap-4"><h3 class="text-2xl md:text-xl lg:text-2xl font-tuner leading-tight text-transparent bg-gradient-to-br from-blue-700/80 via-blue-900/90 to-blue-1000 bg-clip-text mb-2 group-hover:text-white break-words">Local Development</h3><p class="group-hover:text-white">TinaCMS can be run locally alongside your site. You can make changes to your content models and fields, and see the results immediately.</p></div></a></div></div><svg preserveAspectRatio="none" viewBox="0 0 194 89" fill="none" class="absolute w-full h-auto bottom-0 left-0 -z-1"><g clip-path="url(#grad-glow_svg__clip0_615_319)"><mask id="grad-glow_svg__a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="19" width="194" height="70"><path transform="matrix(1 0 0 -1 0 89)" fill="url(#grad-glow_svg__paint0_linear_615_319)" d="M0 0h194v70H0z"></path></mask><g mask="url(#grad-glow_svg__a)"><path transform="matrix(1 0 0 -1 0 89)" fill="url(#grad-glow_svg__paint1_linear_615_319)" d="M0 0h194v73H0z"></path></g></g><defs><linearGradient id="grad-glow_svg__paint0_linear_615_319" x1="97" y1="0" x2="97" y2="70" gradientUnits="userSpaceOnUse"><stop stop-color="#D9D9D9" stop-opacity="0.45"></stop><stop offset="0.272" stop-color="#D9D9D9" stop-opacity="0.168"></stop><stop offset="0.67" stop-color="#D9D9D9" stop-opacity="0.051"></stop><stop offset="1" stop-color="#D9D9D9" stop-opacity="0"></stop></linearGradient><linearGradient id="grad-glow_svg__paint1_linear_615_319" x1="0" y1="36.5" x2="194" y2="36.5" gradientUnits="userSpaceOnUse"><stop stop-color="#53E9DD"></stop><stop offset="0.344" stop-color="#68D7E4"></stop><stop offset="0.594" stop-color="#59BFF2"></stop><stop offset="1" stop-color="#4BA8FF"></stop></linearGradient><clipPath id="grad-glow_svg__clip0_615_319"><path fill="#fff" transform="matrix(1 0 0 -1 0 89)" d="M0 0h194v89H0z"></path></clipPath></defs></svg></section><section class="relative overflow-hidden py-20 lg:py-28"><div class="relative z-10"><div class="Wrapper-sc-1qfos15-0 gxWBqx"><div class="faq-wrapper"><div class="mb-10"><h3 class="font-tuner text-3xl text-orange-500 mb-8">FAQ</h3><div class="text-xl"></div></div><div class="RichTextWrapper-sc-zoklxf-0 bhmeQf"><div><h4>How are Tina and Forestry different?</h4><p>Forestry and Tina share a lot in common but there are some key differences.</p><ul><li><div>Tina's UI is an open-source single page application that you host with your site (i.e. mysite.com/admin).</div></li><li><div>Tina does not have a preview button like Forestry. If previewing is needed, we recommend setting up visual editing for a live preview.</div></li><li><div>Tina only supports GitHub repositories at this time.</div></li><li><div>Tina offers an API so you can query for your content much like you would with a traditional headless CMS. This supports complex queries (filter, sort, etc), server-side rendering, client-side rendering, and incremental static regeneration.</div></li></ul><p>You can see a full list of missing features between Forestry.io and TinaCMS <a href="https://tina.io/docs/forestry/missing-forestry-features/">here</a>.</p><hr/></div><div><h4>How do I migrate my site from Forestry to Tina?</h4><p>To migrate a Forestry site to Tina, see this <a href="https://gmail.us20.list-manage.com/track/click?u=1fea337bee20e7270d025ea8a&id=5196507034&e=963e000296">migration guide</a> or <a href="https://gmail.us20.list-manage.com/track/click?u=1fea337bee20e7270d025ea8a&id=4589793572&e=963e000296">video walkthrough</a></p><hr/></div><div><h4>More questions? </h4><p>Contact us at <a href="mailto:info@tina.io">info@tina.io</a></p></div></div></div></div></div></section></div><div><div class="flex flex-col md:flex-row gap-6 w-full justify-between items-start bg-[url('/svg/orange-bg.svg')] bg-cover bg-center px-6 py-8 lg:py-12 lg:px-12 -mt-px"><div class="max-w-[20%] flex-1 drop-shadow-sm"><a class="" href="/"><h1 class="flex items-center"><svg viewBox="0 0 49 68" fill="inherit" aria-labelledby="title desc" class="w-10 h-auto fill-white"><path d="M31.462 30.178c3.301-2.73 4.764-18.868 6.193-24.669 1.43-5.8 7.34-5.507 7.34-5.507s-1.534 2.671-.909 4.664C44.712 6.659 49 8.44 49 8.44l-.925 2.438s-1.93-.247-3.08 2.052c-1.15 2.298.739 25.058.739 25.058s-6.907 13.623-6.907 19.374c0 5.752 2.723 10.572 2.723 10.572h-3.82s-5.605-6.67-6.754-10.002c-1.15-3.333-.69-6.666-.69-6.666s-6.091-.345-11.493 0c-5.401.345-9.004 4.988-9.654 7.585-.65 2.598-.92 9.083-.92 9.083H5.2C3.361 62.26 1.9 60.227 2.693 57.362c2.194-7.935 1.763-12.436 1.255-14.44C3.44 40.917 0 39.168 0 39.168c1.685-3.433 3.405-5.083 10.803-5.255 7.398-.172 17.357-1.004 20.658-3.735z"></path><path d="M12.25 57.03s.78 7.223 4.927 10.904h3.554c-3.554-4.026-3.941-14.519-3.941-14.519-1.808.589-4.31 2.696-4.54 3.615z"></path></svg></h1></a></div><div class="flex-1 flex flex-col py-2 lg:py-0 md:grid md:grid-cols-2 lg:grid-cols-4 gap-8"><div class="flex flex-col items-stretch justify-start gap-2"><p class="uppercase text-orange-100 font-bold -mt-1">Product</p><a class="cursor-pointer" href="/showcase"><div class="inline-block drop-shadow-sm relative opacity-90 hover:opacity-100 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px">Showcase</div></a><a class="cursor-pointer" href="https://app.tina.io"><div class="inline-block drop-shadow-sm relative opacity-90 hover:opacity-100 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px">TinaCloud</div></a><a class="cursor-pointer" href="/docs"><div class="inline-block drop-shadow-sm relative opacity-90 hover:opacity-100 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px">Introduction</div></a><a class="cursor-pointer" href="/docs/product-tour"><div class="inline-block drop-shadow-sm relative opacity-90 hover:opacity-100 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px">How Tina Works</div></a><a class="cursor-pointer" href="/roadmap"><div class="inline-block drop-shadow-sm relative opacity-90 hover:opacity-100 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px">Roadmap</div></a></div><div class="flex flex-col items-stretch justify-start gap-2"><p class="uppercase text-orange-100 font-bold -mt-1">Resources</p><a class="cursor-pointer" href="/blog"><div class="inline-block drop-shadow-sm relative opacity-90 hover:opacity-100 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px">Blog</div></a><a class="cursor-pointer" href="/examples"><div class="inline-block drop-shadow-sm relative opacity-90 hover:opacity-100 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px">Examples</div></a><a class="cursor-pointer" href="/compare-tina"><div class="inline-block drop-shadow-sm relative opacity-90 hover:opacity-100 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px">Compare Tina</div></a><a class="cursor-pointer" href="/docs/support"><div class="inline-block drop-shadow-sm relative opacity-90 hover:opacity-100 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px">Support</div></a><a class="cursor-pointer" href="/media"><div class="inline-block drop-shadow-sm relative opacity-90 hover:opacity-100 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px">Media</div></a></div><div class="flex flex-col items-stretch justify-start gap-2"><p class="uppercase text-orange-100 font-bold -mt-1"></p><details class="inline-block drop-shadow-sm relative opacity-90 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out "><summary class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Whats New</summary><div class="p-4"><div><a class="cursor-pointer" href="/whats-new/tinacms"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">TinaCMS</div></a></div><div><a class="cursor-pointer" href="/whats-new/tinacloud"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">TinaCloud</div></a></div></div></details><details class="inline-block drop-shadow-sm relative opacity-90 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out "><summary class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Use Cases</summary><div class="p-4"><div><a class="cursor-pointer" href="/agencies"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Agencies</div></a></div><div><a class="cursor-pointer" href="/documentation"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Documentation</div></a></div><div><a class="cursor-pointer" href="/cms-for-teams"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Teams</div></a></div><div><a class="cursor-pointer" href="/jamstack-cms"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Jamstack CMS</div></a></div></div></details><details class="inline-block drop-shadow-sm relative opacity-90 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out "><summary class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Benefits</summary><div class="p-4"><div><a class="cursor-pointer" href="/mdx-cms"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">MDX</div></a></div><div><a class="cursor-pointer" href="/markdown-cms"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Markdown</div></a></div><div><a class="cursor-pointer" href="/git-cms"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Git</div></a></div><div><a class="cursor-pointer" href="/editorial-workflow"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Editorial Workflow</div></a></div><div><a class="cursor-pointer" href="/flexible-cms"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Customization</div></a></div><div><a class="cursor-pointer" href="/seo"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">SEO</div></a></div></div></details><details class="inline-block drop-shadow-sm relative opacity-90 text-white uppercase text-lg lg:text-xl font-tuner transition duration-150 ease-out "><summary class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Integrations</summary><div class="p-4"><div><a class="cursor-pointer" href="/astro"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Astro</div></a></div><div><a class="cursor-pointer" href="/hugo-cms"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Hugo</div></a></div><div><a class="cursor-pointer" href="/nextjs-cms"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">NextJS</div></a></div><div><a class="cursor-pointer" href="/jekyll-cms"><div class="hover:-translate-y-px hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] active:translate-y-px hover:-translate-x-px active:translate-x-px hover:opacity-100 cursor-pointer">Jekyll</div></a></div></div></details></div><div class="flex flex-col lg:items-center"><div class="flex w-1/2 flex-col lg:items-start gap-4 drop-shadow-sm"><a class="transition ease-out duration-150 opacity-80 hover:opacity-100 flex items-center gap-2 text-white font-tuner" href="https://github.com/tinacms/tinacms" target="_blank"><svg fill="inherit" width="24" height="24" viewBox="0 0 32 31.21" class="w-7 h-auto fill-current opacity-80"><g data-name="Layer 2"><path d="M16 0a16 16 0 00-5.06 31.18c.8.15 1.09-.34 1.09-.77v-2.72c-4.45 1-5.39-2.14-5.39-2.14a4.25 4.25 0 00-1.79-2.35c-1.46-1 .11-1 .11-1a3.39 3.39 0 012.45 1.65 3.39 3.39 0 004.65 1.33 3.44 3.44 0 011-2.14c-3.55-.4-7.29-1.78-7.29-7.91a6.21 6.21 0 011.65-4.29 5.67 5.67 0 01.18-4.2s1.34-.43 4.4 1.64a15.12 15.12 0 018 0c3-2.07 4.39-1.64 4.39-1.64a5.72 5.72 0 01.16 4.23 6.16 6.16 0 011.65 4.29c0 6.15-3.74 7.5-7.31 7.9A3.79 3.79 0 0120 26v4.39c0 .52.29.93 1.1.77A16 16 0 0016 0z" data-name="Layer 1"></path></g></svg> <!-- -->GitHub</a><a class="transition ease-out duration-150 opacity-80 hover:opacity-100 flex items-center gap-2 text-white font-tuner" href="https://twitter.com/tinacms" target="_blank"><svg width="24" height="24" class="w-7 h-auto fill-current opacity-80"><path d="M14.095 10.316L22.286 1h-1.94L13.23 9.088 7.551 1H1l8.59 12.231L1 23h1.94l7.51-8.543L16.45 23H23l-8.905-12.684zm-2.658 3.022l-.872-1.218L3.64 2.432h2.98l5.59 7.821.869 1.219 7.265 10.166h-2.982l-5.926-8.3z"></path></svg> <!-- -->Twitter</a><a class="transition ease-out duration-150 opacity-80 hover:opacity-100 flex items-center gap-2 text-white font-tuner" href="https://discord.com/invite/zumN63Ybpf" target="_blank"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" class="w-7 h-auto fill-current opacity-80" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612Zm5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612Z"></path></svg> <!-- -->Discord</a><a class="transition ease-out duration-150 opacity-80 hover:opacity-100 flex items-center gap-2 text-white font-tuner" href="https://www.youtube.com/@TinaCMS" target="_blank"><svg width="24" height="24" class="w-7 h-auto fill-current opacity-80"><path d="M4.652 0h1.44l.988 3.702L7.996 0H9.45L7.785 5.505v3.757H6.354V5.505L4.652 0zm6.594 2.373c-1.119 0-1.861.74-1.861 1.835v3.349c0 1.204.629 1.831 1.861 1.831 1.022 0 1.826-.683 1.826-1.831V4.208c0-1.069-.797-1.835-1.826-1.835zm.531 5.127c0 .372-.19.646-.532.646-.351 0-.554-.287-.554-.646V4.321c0-.374.172-.651.529-.651.39 0 .557.269.557.651V7.5zm4.729-5.07v5.186c-.155.194-.5.512-.747.512-.271 0-.338-.186-.338-.46V2.43h-1.27v5.71c0 .675.206 1.22.887 1.22.384 0 .918-.2 1.468-.853v.754h1.27V2.43h-1.27zm2.203 13.858c-.448 0-.541.315-.541.763v.659h1.069v-.66c.001-.44-.092-.762-.528-.762zm-4.703.04a.927.927 0 00-.25.198v4.055c.099.106.194.182.287.229.197.1.485.107.619-.067.07-.092.105-.241.105-.449v-3.359c0-.22-.043-.386-.129-.5-.147-.193-.42-.214-.632-.107zm4.827-5.195c-2.604-.177-11.066-.177-13.666 0C2.353 11.325 2.021 13.025 2 17.5c.021 4.467.35 6.175 3.167 6.367 2.6.177 11.062.177 13.666 0 2.814-.192 3.146-1.893 3.167-6.367-.021-4.467-.35-6.175-3.167-6.367zM6.509 21.819H5.146v-7.54h-1.41v-1.28h4.182v1.28h-1.41v7.54zm4.846 0h-1.21v-.718a2.645 2.645 0 01-.696.605c-.652.374-1.547.365-1.547-.955v-5.438h1.209v4.988c0 .262.063.438.322.438.236 0 .564-.303.711-.487v-4.939h1.21v6.506zm4.657-1.348c0 .805-.301 1.431-1.106 1.431-.443 0-.812-.162-1.149-.583v.5h-1.221v-8.82h1.221v2.84c.273-.333.644-.608 1.076-.608.886 0 1.18.749 1.18 1.631v3.609zm4.471-1.752h-2.314v1.228c0 .488.042.91.528.91.511 0 .541-.344.541-.91v-.452h1.245v.489c0 1.253-.538 2.013-1.813 2.013-1.155 0-1.746-.842-1.746-2.013v-2.921c0-1.129.746-1.914 1.837-1.914 1.161 0 1.721.738 1.721 1.914v1.656z"></path></svg> <!-- -->YouTube</a><a class="transition ease-out duration-150 opacity-80 hover:opacity-100 flex items-center gap-2 text-white font-tuner" href="https://www.linkedin.com/company/tinacms" target="_blank"><svg width="24" height="24" class="w-7 h-auto fill-current opacity-80"><path d="M19 0H5a5 5 0 00-5 5v14a5 5 0 005 5h14a5 5 0 005-5V5a5 5 0 00-5-5zM8 19H5V8h3v11zM6.5 6.732c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zM20 19h-3v-5.604c0-3.368-4-3.113-4 0V19h-3V8h3v1.765c1.396-2.586 7-2.777 7 2.476V19z"></path></svg> <!-- -->LinkedIn</a></div></div></div></div><div class="flex justify-end flex-col lg:flex-row w-full lg:items-center bg-gradient-to-br from-orange-600 via-orange-800 to-orange-900 text-white px-6 py-8 lg:px-18 gap-6"><div class="flex drop-shadow-sm flex-wrap gap-6"><div class="flex flex-wrap gap-x-6 gap-y-2"><a class="transition ease-out duration-150 hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] hover:opacity-100 opacity-70 whitespace-nowrap" href="/security">Security</a><a class="transition ease-out duration-150 hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] hover:opacity-100 opacity-70 whitespace-nowrap" href="/telemetry">Open Source Telemetry</a><a class="transition ease-out duration-150 hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] hover:opacity-100 opacity-70 whitespace-nowrap" href="/terms-of-service">Terms of Service</a><a class="transition ease-out duration-150 hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] hover:opacity-100 opacity-70 whitespace-nowrap" href="/privacy-notice">Privacy Notice</a><a class="transition ease-out duration-150 hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] hover:opacity-100 opacity-70 whitespace-nowrap" href="https://github.com/tinacms/tinacms/blob/master/LICENSE">License</a><a class="transition ease-out duration-150 hover:drop-shadow-[0_0_6px_rgba(255,255,255,0.5)] hover:opacity-100 opacity-70 whitespace-nowrap" href="/docs/support">Support</a></div><div><p>© TinaCMS 2019–<!-- -->2024</p></div></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"query":"\n query pageWithRecentPosts($relativePath: String!) {\n page(relativePath: $relativePath) {\n ... on Document {\n _sys {\n filename\n basename\n breadcrumbs\n path\n relativePath\n extension\n }\n id\n }\n ...PageParts\n }\n recentPosts: postConnection(sort: \"date\", last: 2) {\n edges {\n node {\n _sys {\n filename\n basename\n breadcrumbs\n path\n relativePath\n extension\n }\n ...PostParts\n }\n }\n }\n}\n \n fragment PageParts on Page {\n __typename\n seo {\n __typename\n title\n description\n hasCustomSuffix\n }\n blocks {\n __typename\n ... on PageBlocksHero {\n headline\n text\n media {\n __typename\n ... on PageBlocksHeroMediaImage {\n image\n }\n ... on PageBlocksHeroMediaVideo {\n src\n }\n }\n margin\n spacing\n smallerMobileBodyText\n buttons {\n __typename\n ... on PageBlocksHeroButtonsActions {\n label\n icon\n variant\n size\n url\n }\n ... on PageBlocksHeroButtonsModalButton {\n label\n icon\n color\n size\n modal\n }\n ... on PageBlocksHeroButtonsCodeButton {\n label\n }\n }\n }\n ... on PageBlocksFeatures {\n features {\n __typename\n headline\n text\n buttons {\n __typename\n ... on PageBlocksFeaturesFeaturesButtonsActions {\n label\n icon\n variant\n size\n url\n }\n ... on PageBlocksFeaturesFeaturesButtonsModalButton {\n label\n icon\n color\n size\n modal\n }\n ... on PageBlocksFeaturesFeaturesButtonsCodeButton {\n label\n }\n }\n media {\n __typename\n ... on PageBlocksFeaturesFeaturesMediaImage {\n image\n }\n ... on PageBlocksFeaturesFeaturesMediaVideo {\n src\n }\n ... on PageBlocksFeaturesFeaturesMediaCode {\n file\n code\n language\n scale\n }\n }\n isReversed\n imageBackground\n }\n }\n ... on PageBlocksFlying {\n headline\n text\n buttons {\n __typename\n ... on PageBlocksFlyingButtonsActions {\n label\n icon\n variant\n size\n url\n }\n ... on PageBlocksFlyingButtonsModalButton {\n label\n icon\n color\n size\n modal\n }\n ... on PageBlocksFlyingButtonsCodeButton {\n label\n }\n }\n }\n ... on PageBlocksPricing {\n headline\n freeTier {\n __typename\n name\n description\n price\n annualPrice\n annualDescription\n interval\n cardItem {\n __typename\n name\n icon\n description\n annualDescription\n }\n buttons {\n __typename\n ... on PageBlocksPricingFreeTierButtonsActions {\n label\n icon\n variant\n size\n url\n }\n ... on PageBlocksPricingFreeTierButtonsModalButton {\n label\n icon\n color\n size\n modal\n }\n ... on PageBlocksPricingFreeTierButtonsCodeButton {\n label\n }\n }\n isStarred\n }\n intro\n pillSwitchVisibileText\n pillSwitchToggleText\n plans {\n __typename\n name\n description\n price\n annualPrice\n annualDescription\n interval\n cardItem {\n __typename\n name\n icon\n description\n annualDescription\n }\n buttons {\n __typename\n ... on PageBlocksPricingPlansButtonsActions {\n label\n icon\n variant\n size\n url\n }\n ... on PageBlocksPricingPlansButtonsModalButton {\n label\n icon\n color\n size\n modal\n }\n ... on PageBlocksPricingPlansButtonsCodeButton {\n label\n }\n }\n isStarred\n }\n }\n ... on PageBlocksFaq {\n title\n intro\n questions {\n __typename\n question\n answer\n }\n color\n }\n ... on PageBlocksContent {\n options {\n __typename\n narrow\n color\n align\n }\n content\n }\n ... on PageBlocksShowcase {\n items {\n __typename\n headline\n text\n url\n media {\n __typename\n src\n }\n }\n }\n ... on PageBlocksColumns {\n options {\n __typename\n columns\n narrow\n color\n align\n }\n columnOne\n columnTwo\n }\n ... on PageBlocksStory {\n title\n }\n ... on PageBlocksFeatureGrid {\n items {\n __typename\n headline\n text\n url\n actions {\n __typename\n label\n icon\n variant\n size\n url\n }\n }\n }\n ... on PageBlocksLogoGrid {\n title\n link\n items {\n __typename\n name\n link\n logo\n size\n }\n }\n ... on PageBlocksRoadmapGrid {\n headline\n items {\n __typename\n headline\n status\n content\n actions {\n __typename\n label\n icon\n variant\n size\n url\n }\n }\n options {\n __typename\n paddingTop\n paddingBottom\n }\n }\n ... on PageBlocksRecentPosts {\n title\n }\n ... on PageBlocksTestimonials {\n title\n testimonials {\n __typename\n name\n username\n rhsImage\n imageBorder\n avatar\n date\n testimonial\n link\n }\n }\n ... on PageBlocksQuote {\n title2\n subtext\n logo\n }\n ... on PageBlocksEvents {\n title\n cardItems {\n __typename\n headline\n startDate\n startTime\n endDate\n endTime\n timezone\n location\n image\n link\n markerLAT\n markerLONG\n }\n }\n ... on PageBlocksCompareBox {\n criteriaItems {\n __typename\n criteria\n description\n }\n companies {\n __typename\n headline\n logoColour\n logoWhite\n active\n isHidden\n backgroundColor\n satisfiedCriteria\n }\n }\n ... on PageBlocksTable {\n tableHeader\n columnItems {\n __typename\n columnHeader\n columnByLine\n columnHeaderLink\n }\n rowItems {\n __typename\n rowHeader\n rowDescription\n rowCells\n }\n }\n ... on PageBlocksBooking {\n title\n description\n }\n ... on PageBlocksMediaComponent {\n headline\n mediaItem {\n __typename\n ... on PageBlocksMediaComponentMediaItemCloudinaryMediaComponent {\n media\n thumbnail\n }\n ... on PageBlocksMediaComponentMediaItemYoutubeMedia {\n embedUrl\n }\n }\n }\n ... on PageBlocksTextMediaColumnComponent {\n isVideoOnLeft\n body\n mediaColumnItem {\n __typename\n ... on PageBlocksTextMediaColumnComponentMediaColumnItemCloudinaryMediaComponent {\n media\n thumbnail\n }\n ... on PageBlocksTextMediaColumnComponentMediaColumnItemYoutubeMedia {\n embedUrl\n }\n }\n }\n ... on PageBlocksTinaBanner {\n backdrop\n leftFig\n rightFig\n leftScreen\n rightScreen\n centerFig\n llama\n }\n ... on PageBlocksHighlightsSection {\n highlightColumn {\n __typename\n heading\n highlights {\n __typename\n name\n icon\n }\n }\n }\n ... on PageBlocksSpacer {\n spacingPx\n spacingPxMobile\n }\n ... on PageBlocksCarouselFeature {\n blockHeadline\n items {\n __typename\n headline\n text\n icon2\n videoSrc\n button {\n __typename\n label\n icon\n variant\n size\n url\n }\n }\n }\n ... on PageBlocksRecipeBlock {\n title\n description\n code\n instruction {\n __typename\n header\n itemDescription\n codeLineStart\n codeLineEnd\n }\n }\n }\n}\n \n\n fragment PostParts on Post {\n __typename\n seo {\n __typename\n title\n description\n }\n title\n date\n last_edited\n author\n prev {\n ... on Post {\n __typename\n seo {\n __typename\n title\n description\n }\n title\n date\n last_edited\n author\n prev {\n ... on Post {\n __typename\n seo {\n __typename\n title\n description\n }\n title\n date\n last_edited\n author\n body\n }\n ... on Document {\n _sys {\n filename\n basename\n breadcrumbs\n path\n relativePath\n extension\n }\n id\n }\n }\n next {\n ... on Post {\n __typename\n seo {\n __typename\n title\n description\n }\n title\n date\n last_edited\n author\n body\n }\n ... on Document {\n _sys {\n filename\n basename\n breadcrumbs\n path\n relativePath\n extension\n }\n id\n }\n }\n body\n }\n ... on Document {\n _sys {\n filename\n basename\n breadcrumbs\n path\n relativePath\n extension\n }\n id\n }\n }\n next {\n ... on Post {\n __typename\n seo {\n __typename\n title\n description\n }\n title\n date\n last_edited\n author\n prev {\n ... on Post {\n __typename\n seo {\n __typename\n title\n description\n }\n title\n date\n last_edited\n author\n body\n }\n ... on Document {\n _sys {\n filename\n basename\n breadcrumbs\n path\n relativePath\n extension\n }\n id\n }\n }\n next {\n ... on Post {\n __typename\n seo {\n __typename\n title\n description\n }\n title\n date\n last_edited\n author\n body\n }\n ... on Document {\n _sys {\n filename\n basename\n breadcrumbs\n path\n relativePath\n extension\n }\n id\n }\n }\n body\n }\n ... on Document {\n _sys {\n filename\n basename\n breadcrumbs\n path\n relativePath\n extension\n }\n id\n }\n }\n body\n}\n ","data":{"page":{"_sys":{"filename":"forestry","basename":"forestry.json","breadcrumbs":["forestry"],"path":"content/blocksPages/forestry.json","relativePath":"forestry.json","extension":".json"},"id":"content/blocksPages/forestry.json","__typename":"Page","seo":{"__typename":"PageSeo","title":"Forestry.io CMS","description":"The Forestry.io team is now focused on building TinaCMS. If you wish to migrate your Forestry site to Tina, follow the guide below.","hasCustomSuffix":null},"blocks":[{"__typename":"PageBlocksHero","headline":"Goodbye Forestry.io, Hello TinaCMS","text":"The Forestry.io team is focused on building TinaCMS, the next iteration of our vision. See the migration guide or test it with the following command. ","media":null,"margin":null,"spacing":null,"smallerMobileBodyText":null,"buttons":[{"__typename":"PageBlocksHeroButtonsActions","label":"Tina Migration Guide","icon":false,"variant":"blue","size":"small","url":"/"},{"__typename":"PageBlocksHeroButtonsCodeButton","label":"npx create-tina-app@latest"}]},{"__typename":"PageBlocksFeatureGrid","items":[{"__typename":"PageBlocksFeatureGridItems","headline":"Frameworks-Agnostic","text":"Tina supports all frameworks and static site generators.","url":null,"actions":null},{"__typename":"PageBlocksFeatureGridItems","headline":"Git-Sync","text":"Similar to Forestry, Tina commits content changes to your repository.","url":null,"actions":null},{"__typename":"PageBlocksFeatureGridItems","headline":"Basic or Visual Editing","text":"Tina's basic editing mode is similar to editing content with Forestry. Tina also supports visual editing which shows a live preview of your site as you edit content. ","url":null,"actions":null},{"__typename":"PageBlocksFeatureGridItems","headline":"Multi-Branch","text":"Create new branches and switch between them right from the Tina UI.","url":null,"actions":null},{"__typename":"PageBlocksFeatureGridItems","headline":"Open-Source and Extensible","text":"Tina is very customizable and extensible due to it's open-source nature.","url":null,"actions":null},{"__typename":"PageBlocksFeatureGridItems","headline":"Local Development","text":"TinaCMS can be run locally alongside your site. You can make changes to your content models and fields, and see the results immediately.","url":null,"actions":null}]},{"__typename":"PageBlocksFaq","title":"FAQ","intro":{"type":"root","children":[]},"questions":[{"__typename":"PageBlocksFaqQuestions","question":"How are Tina and Forestry different?","answer":{"type":"root","children":[{"type":"p","children":[{"type":"text","text":"Forestry and Tina share a lot in common but there are some key differences."}]},{"type":"ul","children":[{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Tina's UI is an open-source single page application that you host with your site (i.e. mysite.com/admin)."}]}]},{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Tina does not have a preview button like Forestry. If previewing is needed, we recommend setting up visual editing for a live preview."}]}]},{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Tina only supports GitHub repositories at this time."}]}]},{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Tina offers an API so you can query for your content much like you would with a traditional headless CMS. This supports complex queries (filter, sort, etc), server-side rendering, client-side rendering, and incremental static regeneration."}]}]}]},{"type":"p","children":[{"type":"text","text":"You can see a full list of missing features between Forestry.io and TinaCMS "},{"type":"a","url":"https://tina.io/docs/forestry/missing-forestry-features/","title":null,"children":[{"type":"text","text":"here"}]},{"type":"text","text":"."}]}]}},{"__typename":"PageBlocksFaqQuestions","question":"How do I migrate my site from Forestry to Tina?","answer":{"type":"root","children":[{"type":"p","children":[{"type":"text","text":"To migrate a Forestry site to Tina, see this "},{"type":"a","url":"https://gmail.us20.list-manage.com/track/click?u=1fea337bee20e7270d025ea8a\u0026id=5196507034\u0026e=963e000296","title":null,"children":[{"type":"text","text":"migration guide"}]},{"type":"text","text":" or "},{"type":"a","url":"https://gmail.us20.list-manage.com/track/click?u=1fea337bee20e7270d025ea8a\u0026id=4589793572\u0026e=963e000296","title":null,"children":[{"type":"text","text":"video walkthrough"}]}]}]}},{"__typename":"PageBlocksFaqQuestions","question":"More questions? ","answer":{"type":"root","children":[{"type":"p","children":[{"type":"text","text":"Contact us at "},{"type":"a","url":"mailto:info@tina.io","title":null,"children":[{"type":"text","text":"info@tina.io"}]}]}]}}],"color":"white"}]},"recentPosts":{"edges":[{"node":{"_sys":{"filename":"referential-integrity","basename":"referential-integrity.mdx","breadcrumbs":["referential-integrity"],"path":"content/blog/referential-integrity.mdx","relativePath":"referential-integrity.mdx","extension":".mdx"},"__typename":"Post","seo":{"__typename":"PostSeo","title":"Referential Integrity Now Available in TinaCMS | TinaCMS Blog","description":"Discover how TinaCMS’s new Referential Integrity feature simplifies content management by automatically updating or removing references when linked documents are renamed or deleted."},"title":"Referential Integrity in TinaCMS","date":"2024-11-19T14:00:00.000Z","last_edited":"2024-11-19T14:00:00.000Z","author":"Jack Pettit","prev":null,"next":null,"body":{"type":"root","children":[{"type":"p","children":[{"type":"text","text":"We’re excited to announce a significant enhancement to TinaCMS: "},{"type":"text","text":"Referential Integrity","bold":true},{"type":"text","text":"! This new feature ensures that references between documents remain consistent and error-free, even when linked documents are renamed or deleted. Let’s dive into what’s included and what it means for your content management workflows."}]},{"type":"h3","children":[{"type":"text","text":"Part 1: Automatic Updates for Renamed Documents"}]},{"type":"p","children":[{"type":"text","text":"Referential Integrity ensures that when a document is renamed, all related references are updated automatically. This is a massive win for users who frequently update file names while managing complex interlinked content."}]},{"type":"p","children":[{"type":"text","text":"Example:","bold":true}]},{"type":"ul","children":[{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Renaming the document "},{"type":"text","text":"content/authors/napoleon.md","code":true},{"type":"text","text":" to "},{"type":"text","text":"content/authors/napy.md","code":true},{"type":"text","text":" will instantly update all posts or pages that reference “Napoleon” to point to the new name “Napy.”"}]}]}]},{"type":"p","children":[{"type":"text","text":"This seamless synchronization eliminates the manual effort of finding and updating references across your site."}]},{"type":"h3","children":[{"type":"text","text":"Part 2: Cleaning Up References for Deleted Documents"}]},{"type":"p","children":[{"type":"text","text":"Deleting a document? No problem! With Referential Integrity, TinaCMS will:"}]},{"type":"ul","children":[{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Warn you before the deletion to prevent accidental changes."}]}]},{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Automatically remove all references to the deleted document once confirmed."}]}]}]},{"type":"p","children":[{"type":"text","text":"Example:","bold":true}]},{"type":"ul","children":[{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Deleting an author document for “Pedro” ensures that any blog post referencing “Pedro” will have the reference cleared, keeping your content consistent and free of broken links."}]}]}]},{"type":"h3","children":[{"type":"text","text":"What’s Next?"}]},{"type":"p","children":[{"type":"text","text":"This feature is now live in "},{"type":"text","text":"tinacms@2.5.0","code":true},{"type":"text","text":". If you want more features like this, please share your thoughts and feature requests on GitHub!"}]},{"type":"p","children":[{"type":"text","text":"In the meantime, you can explore this new functionality by upgrading to the latest version and trying it in your project. Your feedback will help us continue refining TinaCMS to meet your content management needs."}]},{"type":"p","children":[{"type":"text","text":"Thank you for being part of the TinaCMS journey. We’re committed to making content management as efficient and enjoyable as possible."}]},{"type":"p","children":[{"type":"text","text":"Best,"},{"type":"break","children":[{"type":"text","text":""}]},{"type":"text","text":"The TinaCMS Team 🦙"}]}]}}},{"node":{"_sys":{"filename":"media-manager-improvements","basename":"media-manager-improvements.mdx","breadcrumbs":["media-manager-improvements"],"path":"content/blog/media-manager-improvements.mdx","relativePath":"media-manager-improvements.mdx","extension":".mdx"},"__typename":"Post","seo":{"__typename":"PostSeo","title":"Media Manager Usability Improvements | TinaCMS Blog","description":"Explore the latest TinaCMS Media Manager updates, including support for non-image files and infinite scroll. Streamline your content management."},"title":"Media Manager - Big useability Improvements","date":"2024-10-17T13:00:00.000Z","last_edited":"2024-10-17T13:00:00.000Z","author":"Jord Gui","prev":null,"next":null,"body":{"type":"root","children":[{"type":"p","children":[{"type":"text","text":"We've rolled out some major updates to its Media Manager, making content handling faster and more user-friendly. Here’s what’s new:"}]},{"type":"ol","children":[{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Responsive Design: The Media Manager now adapts perfectly to any screen size, so you can manage files effortlessly whether you’re on desktop, tablet, or mobile."}]}]}]},{"type":"mdxJsxFlowElement","name":"Youtube","children":[{"type":"text","text":""}],"props":{"embedSrc":"https://assets.tina.io/06bcd49e-f919-4e53-a2c4-77f656491c7d/video/blog/infinite-scroll_1_nxkkiq.webm"}},{"type":"ol","children":[{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Infinite Scroll: Say goodbye to paging! Media items now load dynamically as you scroll, giving you a smoother, more intuitive browsing experience."}]}]}]},{"type":"mdxJsxFlowElement","name":"Youtube","children":[{"type":"text","text":""}],"props":{"embedSrc":"https://assets.tina.io/06bcd49e-f919-4e53-a2c4-77f656491c7d/video/blog/mobile-ui_deqt1v.webm"}},{"type":"ol","children":[{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Non-Image File Support: You can now upload and handle a variety of files beyond images, including PDFs, audio, and videos (MP4, MKV), all within the Media Manager."}]}]},{"type":"li","children":[{"type":"lic","children":[{"type":"text","text":"Bug Fixes: We resolved an issue where the active item window stayed open after navigation. The UI is now cleaner and more responsive."}]}]}]},{"type":"p","children":[{"type":"text","text":"These updates make the Media Manager more powerful and flexible, improving your workflow on any device. Stay tuned for more improvements as we keep pushing TinaCMS forward!"}]}]}}}]}},"vars":{"relativePath":"forestry.json"}},"__N_SSG":true},"page":"/[slug]","query":{"slug":"forestry"},"buildId":"G4qA0OBKSCKOYgWhTwn9S","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>