CINXE.COM
IDX
<!DOCTYPE html><html lang="en"><head><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="none"><meta charset="UTF-8"><meta name="description" content=""><meta name="viewport" content="width=device-width"><meta name="generator" content="Astro v4.10.1"><link rel="sitemap" href="/sitemap-index.xml"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="manifest" href="/site.webmanifest"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#a87ffb"><meta name="apple-mobile-web-app-title" content="Project IDX"><meta name="application-name" content="Project IDX"><meta name="msapplication-TileColor" content="#10151d"><meta name="theme-color" content="#10151d"><meta property="og:type" content="website"><meta property="og:url" content="https://idx.dev/blog/post/gitlab-bitbucket-preview-announcement/"><meta property="og:title" content="IDX"><meta property="og:description" content=""><meta property="og:image" content="https://cdn.raster.app/google/idx/AfEGWyeSKl?ixlib=js-3.7.0&width=1200&height=630&compress=false&q=85&s=9da0a8f7e17838c341fe30f15b699317"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans+Display:wght@400;500;700&display=swap"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans+Text:wght@300;400;500;600;700&display=swap"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans+Mono:wght@400;500;600;700&display=swap"><link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><title>IDX</title><script type="text/partytown" src="https://www.googletagmanager.com/gtag/js?id=G-GMNGFBDXTR"></script><script type="text/partytown">window.dataLayer = window.dataLayer || [] function gtag() { dataLayer.push(arguments) } gtag('js', new Date()) gtag('config', 'G-GMNGFBDXTR')</script><link rel="stylesheet" href="/_astro/_page_.DLtxn820.css"><style>.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.menu-to-close[data-astro-cid-zdwhra5n]{--size: 16px;display:flex;width:var(--size);height:var(--size);overflow:hidden}.menu-to-close[data-astro-cid-zdwhra5n] svg[data-astro-cid-zdwhra5n]{flex:0 0 auto;width:auto;height:var(--size);transition:transform .3s steps(30,start)}.menu-to-close[data-astro-cid-zdwhra5n][data-close] svg[data-astro-cid-zdwhra5n]{transform:translate(calc(-100% + var(--size)))}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:flex;align-items:center}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{--tw-text-opacity: 1;color:rgb(200 170 255 / var(--tw-text-opacity))}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{gap:8px}.site-footer-row[data-astro-cid-sz7xmlte]{display:flex;align-items:center}@media (max-width: 1023px){.site-footer-row[data-astro-cid-sz7xmlte]{justify-content:center}}@media (min-width: 1024px){.site-footer-row[data-astro-cid-sz7xmlte].is-end{flex:1 1 0%;justify-content:flex-end}}.footer-separator[data-astro-cid-sz7xmlte]{margin-left:12px;margin-right:12px;width:12px;--tw-bg-opacity: 1;background-color:rgb(137 100 232 / var(--tw-bg-opacity))}@media (max-width: 1023px){.footer-separator[data-astro-cid-sz7xmlte]{margin-left:8px;margin-right:8px;width:8px}}.footer-separator[data-astro-cid-sz7xmlte]{height:1px}</style><link rel="stylesheet" href="/_astro/_slug_.tz1e6JGp.css"><style>@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0}}@keyframes astroFadeOut{to{opacity:0}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}lite-youtube{background-color:#000;position:relative;display:block;contain:content;background-position:center center;background-size:cover;cursor:pointer;max-width:720px}lite-youtube:before{content:attr(data-title);display:block;position:absolute;top:0;background-image:linear-gradient(180deg,#000000ab,#0000008a 14%,#00000026 54%,#0000000d 72%,#0000 94%);height:99px;width:100%;font-family:YouTube Noto,Roboto,Arial,Helvetica,sans-serif;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);font-size:18px;padding:25px 20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}lite-youtube:hover:before{color:#fff}lite-youtube:after{content:"";display:block;padding-bottom:56.25%}lite-youtube>iframe{width:100%;height:100%;position:absolute;top:0;left:0;border:0}lite-youtube>.lty-playbtn{display:block;width:100%;height:100%;background:no-repeat center/68px 48px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');position:absolute;cursor:pointer;z-index:1;filter:grayscale(100%);transition:filter .1s cubic-bezier(0,0,.2,1);border:0}lite-youtube:hover>.lty-playbtn,lite-youtube .lty-playbtn:focus{filter:none}lite-youtube.lyt-activated{cursor:unset}lite-youtube.lyt-activated:before,lite-youtube.lyt-activated>.lty-playbtn{opacity:0;pointer-events:none}.lyt-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}lite-youtube>iframe{all:unset!important;width:100%!important;height:100%!important;position:absolute!important;inset:0!important;border:0!important}</style><script type="module" src="/_astro/hoisted.CHSn5QLI.js"></script><script type="module" src="/_astro/page.C66G14YQ.js"></script><script>!(function(w,p,f,c){if(!window.crossOriginIsolated && !navigator.serviceWorker) return;c=w[p]=Object.assign(w[p]||{},{"lib":"/~partytown/","debug":false});c[f]=(c[f]||[]).concat(["dataLayer.push"])})(window,'partytown','forward');/* Partytown 0.10.2 - MIT builder.io */ const t={preserveBehavior:!1},e=e=>{if("string"==typeof e)return[e,t];const[n,r=t]=e;return[n,{...t,...r}]},n=Object.freeze((t=>{const e=new Set;let n=[];do{Object.getOwnPropertyNames(n).forEach((t=>{"function"==typeof n[t]&&e.add(t)}))}while((n=Object.getPrototypeOf(n))!==Object.prototype);return Array.from(e)})());!function(t,r,o,i,a,s,c,d,l,p,u=t,f){function h(){f||(f=1,"/"==(c=(s.lib||"/~partytown/")+(s.debug?"debug/":""))[0]&&(l=r.querySelectorAll('script[type="text/partytown"]'),i!=t?i.dispatchEvent(new CustomEvent("pt1",{detail:t})):(d=setTimeout(v,1e4),r.addEventListener("pt0",w),a?y(1):o.serviceWorker?o.serviceWorker.register(c+(s.swPath||"partytown-sw.js"),{scope:c}).then((function(t){t.active?y():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&y()}))}),console.error):v())))}function y(e){p=r.createElement(e?"script":"iframe"),t._pttab=Date.now(),e||(p.style.display="block",p.style.width="0",p.style.height="0",p.style.border="0",p.style.visibility="hidden",p.setAttribute("aria-hidden",!0)),p.src=c+"partytown-"+(e?"atomics.js?v=0.10.2":"sandbox-sw.html?"+t._pttab),r.querySelector(s.sandboxParent||"body").appendChild(p)}function v(n,o){for(w(),i==t&&(s.forward||[]).map((function(n){const[r]=e(n);delete t[r.split(".")[0]]})),n=0;n<l.length;n++)(o=r.createElement("script")).innerHTML=l[n].innerHTML,o.nonce=s.nonce,r.head.appendChild(o);p&&p.parentNode.removeChild(p)}function w(){clearTimeout(d)}s=t.partytown||{},i==t&&(s.forward||[]).map((function(r){const[o,{preserveBehavior:i}]=e(r);u=t,o.split(".").map((function(e,r,o){var a;u=u[o[r]]=r+1<o.length?u[o[r]]||(a=o[r+1],n.includes(a)?[]:{}):(()=>{let e=null;if(i){const{methodOrProperty:n,thisObject:r}=((t,e)=>{let n=t;for(let t=0;t<e.length-1;t+=1)n=n[e[t]];return{thisObject:n,methodOrProperty:e.length>0?n[e[e.length-1]]:void 0}})(t,o);"function"==typeof n&&(e=(...t)=>n.apply(r,...t))}return function(){let n;return e&&(n=e(arguments)),(t._ptf=t._ptf||[]).push(o,arguments),n}})()}))})),"complete"==r.readyState?h():(t.addEventListener("DOMContentLoaded",h),t.addEventListener("load",h))}(window,document,navigator,top,window.crossOriginIsolated);;((d,s)=>(s=d.currentScript,d.addEventListener('astro:before-swap',()=>s.remove(),{once:true})))(document);</script><style>[data-astro-transition-scope="astro-lax2adv2-1"] { view-transition-name: author-avatar-gitlab-bitbucket-preview-announcement; }@layer astro { ::view-transition-old(author-avatar-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-avatar-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-avatar-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-avatar-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-1"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-1"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-1"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-1"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-1"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-1"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-1"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-1"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-ya7hjo4y-2"] { view-transition-name: author-name-gitlab-bitbucket-preview-announcement; }@layer astro { ::view-transition-old(author-name-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-name-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-name-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-name-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-2"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-2"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-2"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-2"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-2"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-2"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-2"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-2"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-etyaxime-3"] { view-transition-name: author-title-gitlab-bitbucket-preview-announcement; }@layer astro { ::view-transition-old(author-title-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-title-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-title-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-title-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-3"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-3"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-3"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-3"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-3"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-3"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-3"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-3"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-4"] { view-transition-name: gitlab-bitbucket-preview-announcement2ksbekCzvhFX2KxlMKVO2sgitlab-bitbucket-preview-announcement; }@layer astro { ::view-transition-old(gitlab-bitbucket-preview-announcement2ksbekCzvhFX2KxlMKVO2sgitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(gitlab-bitbucket-preview-announcement2ksbekCzvhFX2KxlMKVO2sgitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(gitlab-bitbucket-preview-announcement2ksbekCzvhFX2KxlMKVO2sgitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(gitlab-bitbucket-preview-announcement2ksbekCzvhFX2KxlMKVO2sgitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-4"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-4"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-4"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-4"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-4"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-4"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-4"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-4"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style></head><body><nav id="nav"><div class="nav-items"><a href="https://idx.google.com" title="Project IDX" class="nav-item max-md:py-3 gap-2 z-50"><svg viewBox="0 0 192 192" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-7 max-md:w-6"><rect x="28" y="156" width="88" height="24" rx="12" class="fill-purple-500"></rect><rect x="104" y="120" width="36" height="24" rx="12" class="fill-green-400"></rect><rect x="56" y="120" width="36" height="24" rx="12" class="fill-green-400"></rect><rect x="84" y="84" width="52" height="24" rx="12" class="fill-yellow-400"></rect><rect x="148" y="84" width="24" height="24" rx="12" class="fill-yellow-400"></rect><rect x="56" y="48" width="88" height="24" rx="12" class="fill-blue-400"></rect><rect x="64" y="12" width="52" height="24" rx="12" class="fill-purple-500"></rect><rect x="28" y="12" width="24" height="24" rx="12" class="fill-purple-500"></rect></svg> <span class="sr-only">Project IDX</span> </a><label tabindex="0" for="nav-mobile-menu-trigger" class="nav-item"><div class="menu-icon-animation menu-to-close" data-astro-cid-zdwhra5n><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 496 16" width="496" height="16" data-astro-cid-zdwhra5n><path d="M0 4h16v1H0zm0 4h16v1H0zm0 4h16v1H0zm16-7.957h16v1H16zM16 8h16v1H16zm0 3.957h16v1H16zM32 4.2h16v1H32zM32 8h16v1H32zm0 3.8h16v1H32zm16-7.264h16v1H48zM48 8h16v1H48zm0 3.464h16v1H48zm16-6.352h16v1H64zM64 8h16v1H64zm0 2.888h16v1H64zm16-5.059h16v1H80zM80 8h16v1H80zm0 2.171h16v1H80zm16-3.717h16v1H96zM96 8h16v1H96zm0 1.546h16v1H96zm16-2.626h16v1h-16zM112 8h16v1h-16zm0 1.08h16v1h-16zm16-1.822h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M128 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M128 8.742h16v1h-16zm16-1.238h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M144 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M144 8.496h16v1h-16zm16-.813h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M160 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M160 8.317h16v1h-16z" data-astro-cid-zdwhra5n></path><g data-astro-cid-zdwhra5n><path d="M176 7.812h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M176 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M176 8.188h16v1h-16z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="M192 7.901h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M192 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M192 8.099h16v1h-16z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="M208 7.959h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M208 8h16v1h-16z" fill-opacity=".939" data-astro-cid-zdwhra5n></path><path d="M208 8.041h16v1h-16z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="M224 7.99h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M224 8h16v1h-16z" fill-opacity=".147" data-astro-cid-zdwhra5n></path><path d="M224 8.01h16v1h-16z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="M240 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M240 8h16v1h-16z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m256.013 7.933 15.982.134-.008 1-15.982-.134z" data-astro-cid-zdwhra5n></path><path d="m256.005 8.067 15.982-.134.008 1-15.982.134z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m272.066 7.688 15.908.624-.04 1-15.908-.624z" data-astro-cid-zdwhra5n></path><path d="m272.026 8.312 15.908-.624.04 1-15.908.624z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m288.203 7.174 15.699 1.658-.105.994-15.699-1.658z" data-astro-cid-zdwhra5n></path><path d="m288.098 8.832 15.699-1.658.105.994-15.699 1.658z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m304.515 6.327 15.186 3.37-.216.976-15.186-3.37z" data-astro-cid-zdwhra5n></path><path d="m304.299 9.697 15.186-3.37.216.976-15.186 3.37z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m321.029 5.349 14.294 5.366-.352.936-14.294-5.366z" data-astro-cid-zdwhra5n></path><path d="m320.677 10.715 14.294-5.366.352.936-14.294 5.366z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m337.578 4.577 13.308 6.96-.464.886-13.308-6.96z" data-astro-cid-zdwhra5n></path><path d="m337.114 11.537 13.308-6.96.464.886-13.308 6.96z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m354.041 4.057 12.46 8.046-.542.84-12.46-8.046z" data-astro-cid-zdwhra5n></path><path d="m353.499 12.103 12.46-8.046.542.84-12.46 8.046z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m370.403 3.712 11.791 8.773-.597.803-11.791-8.773z" data-astro-cid-zdwhra5n></path><path d="m369.806 12.485 11.791-8.773.597.803-11.791 8.773z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m386.679 3.479 11.277 9.27-.635.772-11.277-9.27z" data-astro-cid-zdwhra5n></path><path d="m386.044 12.749 11.277-9.27.635.772-11.277 9.27z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m402.885 3.318 10.891 9.614-.661.75-10.891-9.614z" data-astro-cid-zdwhra5n></path><path d="m402.224 12.932 10.89-9.614.662.75-10.89 9.614z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m419.037 3.208 10.607 9.85-.68.734-10.608-9.85z" data-astro-cid-zdwhra5n></path><path d="m418.356 13.059 10.607-9.85.68.732-10.606 9.85z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m435.143 3.135 10.407 10.01-.693.72-10.407-10.01z" data-astro-cid-zdwhra5n></path><path d="m434.45 13.145 10.407-10.01.693.72-10.407 10.01z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="M451.212 3.088 461.49 13.2l-.701.713L450.51 3.8z" data-astro-cid-zdwhra5n></path><path d="m450.511 13.2 10.277-10.112.7.713-10.276 10.11z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m467.25 3.063 10.205 10.166-.706.708-10.204-10.166z" data-astro-cid-zdwhra5n></path><path d="m466.545 13.229 10.204-10.166.706.708-10.204 10.166z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m483.262 3.055 10.183 10.183-.707.707-10.183-10.183z" data-astro-cid-zdwhra5n></path><path d="m482.555 13.238 10.183-10.183.707.707-10.183 10.183z" data-astro-cid-zdwhra5n></path></g></svg></div><span class="sr-only">Menu</span></label> <input tabindex="-1" type="checkbox" id="nav-mobile-menu-trigger"><div class="nav-list"><a href="https://idx.google.com" class="nav-item"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 6.08447V13H14V6.08447L8.49075 2.98148C8.18608 2.80988 7.81392 2.80988 7.50925 2.98148L2 6.08447ZM1 6.08447V13C1 13.5523 1.44772 14 2 14H14C14.5523 14 15 13.5523 15 13V6.08447C15 5.7234 14.8054 5.39036 14.4907 5.21317L8.98149 2.11018C8.37216 1.76699 7.62784 1.76699 7.01851 2.11018L1.50925 5.21317C1.19465 5.39036 1 5.7234 1 6.08447Z" fill="currentColor"></path></svg> <span>Home</span> </a><a href="/blog" class="nav-item selected"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.01333 13.0133C5.01333 12.4444 4.81778 11.9644 4.42667 11.5733C4.03556 11.1822 3.55556 10.9867 2.98667 10.9867V13.0133H5.01333ZM2.98667 2.98667C4.8 2.98667 6.47111 3.44889 8 4.37333C9.52889 5.26222 10.7378 6.47111 11.6267 8C12.5511 9.52889 13.0133 11.2 13.0133 13.0133H12C12 11.3778 11.5911 9.86667 10.7733 8.48C9.99111 7.09333 8.90667 6.00889 7.52 5.22667C6.13333 4.40889 4.62222 4 2.98667 4V2.98667ZM2.98667 6.98667C4.08889 6.98667 5.08444 7.27111 5.97333 7.84C6.89778 8.37333 7.62667 9.10222 8.16 10.0267C8.72889 10.9156 9.01333 11.9111 9.01333 13.0133H8C8 12.0889 7.76889 11.2533 7.30667 10.5067C6.88 9.72444 6.27556 9.12 5.49333 8.69333C4.74667 8.23111 3.91111 8 2.98667 8V6.98667Z" fill="currentColor"></path></svg> <span>Blog</span> </a><a href="https://developers.google.com/idx" target="_blank" rel="noopener" class="nav-item"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.01333 12V10.9867H10.0267V12H1.01333ZM1.01333 6.98667H14.9867V8H1.01333V6.98667ZM12 2.98667V4H1.01333V2.98667H12Z" fill="currentColor"></path></svg> <span>Docs</span> </a><a href="https://developers.google.com/idx/support/help" target="_blank" rel="noopener" class="nav-item"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.01333 6.98667L4.96 4.96L6.98667 9.01333L11.04 11.04L9.01333 6.98667ZM9.44 9.44L7.52 8.48L6.56 6.56L8.48 7.52L9.44 9.44ZM13.9733 8.48H13.0133V7.52H13.9733C13.9022 6.56 13.6178 5.67111 13.12 4.85333C12.6222 4.03556 11.9644 3.37778 11.1467 2.88C10.3289 2.38222 9.44 2.09778 8.48 2.02667V2.98667H7.52V2.02667C6.56 2.09778 5.67111 2.38222 4.85333 2.88C4.07111 3.37778 3.41333 4.03556 2.88 4.85333C2.38222 5.63556 2.09778 6.50667 2.02667 7.46667H2.98667V8.48H2.02667C2.09778 9.44 2.38222 10.3289 2.88 11.1467C3.37778 11.9289 4.03556 12.5867 4.85333 13.12C5.67111 13.6178 6.56 13.9022 7.52 13.9733V13.0133H8.48V13.9733C9.44 13.9022 10.3289 13.6178 11.1467 13.12C11.9644 12.6222 12.6222 11.9644 13.12 11.1467C13.6178 10.3289 13.9022 9.44 13.9733 8.48ZM8 14.9867C6.72 14.9867 5.54667 14.6844 4.48 14.08C3.41333 13.44 2.56 12.5867 1.92 11.52C1.31556 10.4533 1.01333 9.28 1.01333 8C1.01333 6.72 1.31556 5.54667 1.92 4.48C2.56 3.41333 3.41333 2.57778 4.48 1.97333C5.54667 1.33333 6.72 1.01333 8 1.01333C9.28 1.01333 10.4533 1.33333 11.52 1.97333C12.5867 2.57778 13.4222 3.41333 14.0267 4.48C14.6667 5.54667 14.9867 6.72 14.9867 8C14.9867 9.28 14.6667 10.4533 14.0267 11.52C13.4222 12.5867 12.5867 13.44 11.52 14.08C10.4533 14.6844 9.28 14.9867 8 14.9867Z" fill="currentColor"></path></svg> <span>Support</span></a></div></div><a href="https://developers.google.com" title="Made by Google" class="max-md:hidden group p-3 md:p-4 flex justify-center" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 21" class="w-5 h-5 text-gray-300 group-hover:text-gray-400 transition-colors duration-500"><path class="fill-current" d="M20 11.04c0-.72-.063-1.436-.19-2.144h-9.597v3.929h5.532a4.727 4.727 0 0 1-2.05 3.163v2.548h3.284C18.899 16.761 20 14.139 20 11.039Z"></path><path class="fill-current" d="M13.69 15.988c-.916.617-2.094.977-3.477.977-2.66 0-4.926-1.792-5.735-4.207H1.086v2.628a10.201 10.201 0 0 0 3.766 4.098A10.228 10.228 0 0 0 10.212 21c2.76 0 5.079-.906 6.765-2.464l-3.287-2.548Z"></path><path class="fill-current" d="M4.16 10.807c0-.663.107-1.322.318-1.95V6.229H1.086a10.193 10.193 0 0 0 0 9.156l3.394-2.627a6.13 6.13 0 0 1-.32-1.95Z"></path><path class="fill-current" d="M10.213 4.65c1.505 0 2.854.516 3.92 1.528L17.05 3.27C15.28 1.624 12.97.615 10.213.615c-1.893 0-3.75.524-5.361 1.516a10.2 10.2 0 0 0-3.766 4.098L4.48 8.857c.81-2.415 3.073-4.208 5.733-4.208Z"></path></svg></a></nav><main class="md:relative min-h-screen flex flex-col justify-between overflow-x-clip md:grow"><div class="shine -z-10 absolute inset-0"></div><div class="container max-w-screen-lg py-20 md:pt-6"><a href="/blog" data-back-to-blog class="button button-outline mt-2 mb-4 py-2 pl-3 pr-5 flex items-center gap-2 w-fit"><svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" width="20"><path d="m313-440 224 224-57 56-320-320 320-320 57 56-224 224h487v80H313Z" fill="#BFC7D2"></path></svg> Back to Blog</a><div class="space-y-6 flex flex-col items-center"><div class="item-content-container type-post page drop-shadow-[0_20px_25px_rgba(16,21,29,1)]" data-astro-transition-scope="astro-rhsclbw6-4"><div class="flex overflow-hidden sm:gap-4 p-4 md:p-8 md:gap-8 rounded-2xl relative bg-gray-100 w-full items-stretch"><aside class="shrink-0"><div class="flex sm:flex-col gap-2 max-sm:hidden mt-20"><a class="group bg-gray-200 rounded-lg p-2 w-10 h-10 sm:w-12 sm:h-12 flex justify-center items-center border hover:border-gray-300 transition-colors duration-300" href="https://twitter.com/intent/tweet?url=https://idx.dev/blog/post/gitlab-bitbucket-preview-announcement/" target="_blank" rel="noopener noreferrer"><svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path class="fill-gray-425 group-hover:fill-gray-500 transition-colors duration-300" d="M17.2039 0.25H20.5119L13.2849 8.51L21.7869 19.75H15.1299L9.91587 12.933L3.94987 19.75H0.639867L8.36987 10.915L0.213867 0.25H7.03987L11.7529 6.481L17.2039 0.25ZM16.0429 17.77H17.8759L6.04387 2.126H4.07687L16.0429 17.77Z"></path></svg> </a><a class="group bg-gray-200 rounded-lg p-2 w-10 h-10 sm:w-12 sm:h-12 flex justify-center items-center border hover:border-gray-300 transition-colors duration-300" href="https://www.linkedin.com/sharing/share-offsite/?url=https://idx.dev/blog/post/gitlab-bitbucket-preview-announcement/" target="_blank" rel="noopener noreferrer"><svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path class="fill-gray-425 group-hover:fill-gray-500 transition-colors duration-300" fill-rule="evenodd" clip-rule="evenodd" d="M0.229492 1.57599C0.229492 0.705865 0.942184 6.10352e-05 1.82138 6.10352e-05H20.1793C21.0584 6.10352e-05 21.7712 0.705865 21.7712 1.57599V20.424C21.7712 21.2944 21.0584 21.9999 20.1793 21.9999H1.82138C0.942184 21.9999 0.229492 21.2944 0.229492 20.424V1.57599ZM6.75977 18.4162V8.48198H3.5061V18.4162H6.75977ZM5.13292 7.12564C6.26754 7.12564 6.97375 6.36281 6.97375 5.40948C6.95261 4.43471 6.26755 3.69304 5.15445 3.69304C4.04146 3.69304 3.31376 4.43471 3.31376 5.40948C3.31376 6.36281 4.01982 7.12564 5.11171 7.12564H5.13292ZM11.8136 18.4162H8.56C8.56 18.4162 8.60278 9.41414 8.56009 8.48198H11.8137V9.88847C11.8064 9.89997 11.7991 9.91137 11.792 9.92269H11.8137V9.88847C12.2461 9.21156 13.02 8.24887 14.746 8.24887C16.8866 8.24887 18.4918 9.66871 18.4918 12.72V18.4162H15.2384V13.1016C15.2384 11.7661 14.7675 10.8551 13.5901 10.8551C12.6913 10.8551 12.1559 11.4695 11.9207 12.0627C11.8348 12.275 11.8136 12.5716 11.8136 12.8685V18.4162Z"></path></svg> </a><a class="group bg-gray-200 rounded-lg p-2 w-10 h-10 sm:w-12 sm:h-12 flex justify-center items-center border hover:border-gray-300 transition-colors duration-300" href="https://idx.dev/blog/post/gitlab-bitbucket-preview-announcement/" data-page-link><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_1562_749)"><path class="fill-gray-425 group-hover:fill-gray-500 transition-colors duration-300" d="M17 7H14C13.45 7 13 7.45 13 8C13 8.55 13.45 9 14 9H17C18.65 9 20 10.35 20 12C20 13.65 18.65 15 17 15H14C13.45 15 13 15.45 13 16C13 16.55 13.45 17 14 17H17C19.76 17 22 14.76 22 12C22 9.24 19.76 7 17 7ZM8 12C8 12.55 8.45 13 9 13H15C15.55 13 16 12.55 16 12C16 11.45 15.55 11 15 11H9C8.45 11 8 11.45 8 12ZM10 15H7C5.35 15 4 13.65 4 12C4 10.35 5.35 9 7 9H10C10.55 9 11 8.55 11 8C11 7.45 10.55 7 10 7H7C4.24 7 2 9.24 2 12C2 14.76 4.24 17 7 17H10C10.55 17 11 16.55 11 16C11 15.45 10.55 15 10 15Z"></path></g><defs><clipPath id="clip0_1562_749"><rect width="24" height="24" fill="white"></rect></clipPath></defs></svg> </a><a class="group bg-gray-200 rounded-lg p-2 w-10 h-10 sm:w-12 sm:h-12 flex justify-center items-center border hover:border-gray-300 transition-colors duration-300" href="mailto:?body=https://idx.dev/blog/post/gitlab-bitbucket-preview-announcement/" target="_blank" rel="noopener noreferrer"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_1562_2839)"><path class="fill-gray-425 group-hover:fill-gray-500 transition-colors duration-300" d="M20 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4ZM19.6 8.25L12.53 12.67C12.21 12.87 11.79 12.87 11.47 12.67L4.4 8.25C4.15 8.09 4 7.82 4 7.53C4 6.86 4.73 6.46 5.3 6.81L12 11L18.7 6.81C19.27 6.46 20 6.86 20 7.53C20 7.82 19.85 8.09 19.6 8.25Z"></path></g><defs><clipPath id="clip0_1562_2839"><rect width="24" height="24" fill="white"></rect></clipPath></defs></svg></a></div></aside><article class="flex flex-col items-start flex-1 gap-6"><a href="/blog/author/kirupa" class="flex items-center gap-4 hover:bg-gray-200 p-2 -m-2 pr-4 rounded-xl transition-colors duration-300"><img src="/_astro/5rawT6gI_400x400_nAhR8.webp" class="rounded-lg overflow-hidden w-12 h-12 flex-shrink-0" alt="Kirupa Chinnathambi's Avatar'" data-astro-transition-scope="astro-lax2adv2-1" width="400" height="400" loading="lazy" decoding="async"><div class="mt-[1px] flex flex-col"><span class="text-gray-500" data-astro-transition-scope="astro-ya7hjo4y-2">Kirupa Chinnathambi </span><span class="" data-astro-transition-scope="astro-etyaxime-3">Product Lead on Project IDX</span></div></a><div class="rich-text-content text-gray-500 md:text-xl"><p>Project IDX has always supported working with Github-based projects, but<a href="https://idx.uservoice.com/forums/953956-general/suggestions/46962415-add-gitlab-and-bitbucket-support" class="text-link"> we鈥檝e heard from many of you</a> that you'd also like to see us support both Gitlab and Bitbucket-based repos.</p><p></p><p>That鈥檚 why we're launching our early preview of Gitlab and Bitbucket support, now available to all IDX users. Watch the video below for walkthroughs and details.</p><p></p></div><lite-youtube videoid="SmpTu888hPc" class="rounded-lg overflow-hidden" data-youtube-video data-intercept-link-clicks style="background-image: url('https://i.ytimg.com/vi/SmpTu888hPc/hqdefault.jpg');"></lite-youtube><div class="flex flex-wrap gap-4 items-center justify-between max-sm:mt-8 mt-6"><time datetime="2024-08-08T16:00:00.000-07:00" class="font-mono-fancy text-xs">August 2024</time><div class="flex sm:flex-col gap-2 sm:hidden"><a class="group bg-gray-200 rounded-lg p-2 w-10 h-10 sm:w-12 sm:h-12 flex justify-center items-center border hover:border-gray-300 transition-colors duration-300" href="https://twitter.com/intent/tweet?url=https://idx.dev/blog/post/gitlab-bitbucket-preview-announcement/" target="_blank" rel="noopener noreferrer"><svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path class="fill-gray-425 group-hover:fill-gray-500 transition-colors duration-300" d="M17.2039 0.25H20.5119L13.2849 8.51L21.7869 19.75H15.1299L9.91587 12.933L3.94987 19.75H0.639867L8.36987 10.915L0.213867 0.25H7.03987L11.7529 6.481L17.2039 0.25ZM16.0429 17.77H17.8759L6.04387 2.126H4.07687L16.0429 17.77Z"></path></svg> </a><a class="group bg-gray-200 rounded-lg p-2 w-10 h-10 sm:w-12 sm:h-12 flex justify-center items-center border hover:border-gray-300 transition-colors duration-300" href="https://www.linkedin.com/sharing/share-offsite/?url=https://idx.dev/blog/post/gitlab-bitbucket-preview-announcement/" target="_blank" rel="noopener noreferrer"><svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path class="fill-gray-425 group-hover:fill-gray-500 transition-colors duration-300" fill-rule="evenodd" clip-rule="evenodd" d="M0.229492 1.57599C0.229492 0.705865 0.942184 6.10352e-05 1.82138 6.10352e-05H20.1793C21.0584 6.10352e-05 21.7712 0.705865 21.7712 1.57599V20.424C21.7712 21.2944 21.0584 21.9999 20.1793 21.9999H1.82138C0.942184 21.9999 0.229492 21.2944 0.229492 20.424V1.57599ZM6.75977 18.4162V8.48198H3.5061V18.4162H6.75977ZM5.13292 7.12564C6.26754 7.12564 6.97375 6.36281 6.97375 5.40948C6.95261 4.43471 6.26755 3.69304 5.15445 3.69304C4.04146 3.69304 3.31376 4.43471 3.31376 5.40948C3.31376 6.36281 4.01982 7.12564 5.11171 7.12564H5.13292ZM11.8136 18.4162H8.56C8.56 18.4162 8.60278 9.41414 8.56009 8.48198H11.8137V9.88847C11.8064 9.89997 11.7991 9.91137 11.792 9.92269H11.8137V9.88847C12.2461 9.21156 13.02 8.24887 14.746 8.24887C16.8866 8.24887 18.4918 9.66871 18.4918 12.72V18.4162H15.2384V13.1016C15.2384 11.7661 14.7675 10.8551 13.5901 10.8551C12.6913 10.8551 12.1559 11.4695 11.9207 12.0627C11.8348 12.275 11.8136 12.5716 11.8136 12.8685V18.4162Z"></path></svg> </a><a class="group bg-gray-200 rounded-lg p-2 w-10 h-10 sm:w-12 sm:h-12 flex justify-center items-center border hover:border-gray-300 transition-colors duration-300" href="https://idx.dev/blog/post/gitlab-bitbucket-preview-announcement/" data-page-link><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_1562_749)"><path class="fill-gray-425 group-hover:fill-gray-500 transition-colors duration-300" d="M17 7H14C13.45 7 13 7.45 13 8C13 8.55 13.45 9 14 9H17C18.65 9 20 10.35 20 12C20 13.65 18.65 15 17 15H14C13.45 15 13 15.45 13 16C13 16.55 13.45 17 14 17H17C19.76 17 22 14.76 22 12C22 9.24 19.76 7 17 7ZM8 12C8 12.55 8.45 13 9 13H15C15.55 13 16 12.55 16 12C16 11.45 15.55 11 15 11H9C8.45 11 8 11.45 8 12ZM10 15H7C5.35 15 4 13.65 4 12C4 10.35 5.35 9 7 9H10C10.55 9 11 8.55 11 8C11 7.45 10.55 7 10 7H7C4.24 7 2 9.24 2 12C2 14.76 4.24 17 7 17H10C10.55 17 11 16.55 11 16C11 15.45 10.55 15 10 15Z"></path></g><defs><clipPath id="clip0_1562_749"><rect width="24" height="24" fill="white"></rect></clipPath></defs></svg> </a><a class="group bg-gray-200 rounded-lg p-2 w-10 h-10 sm:w-12 sm:h-12 flex justify-center items-center border hover:border-gray-300 transition-colors duration-300" href="mailto:?body=https://idx.dev/blog/post/gitlab-bitbucket-preview-announcement/" target="_blank" rel="noopener noreferrer"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_1562_2839)"><path class="fill-gray-425 group-hover:fill-gray-500 transition-colors duration-300" d="M20 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4ZM19.6 8.25L12.53 12.67C12.21 12.87 11.79 12.87 11.47 12.67L4.4 8.25C4.15 8.09 4 7.82 4 7.53C4 6.86 4.73 6.46 5.3 6.81L12 11L18.7 6.81C19.27 6.46 20 6.86 20 7.53C20 7.82 19.85 8.09 19.6 8.25Z"></path></g><defs><clipPath id="clip0_1562_2839"><rect width="24" height="24" fill="white"></rect></clipPath></defs></svg></a></div></div></article></div></div></div></div><script src="../../scripts/card-gradient.ts"></script><footer class="site-footer mt-10 mb-10 text-xs" data-astro-cid-sz7xmlte><div class="container flex gap-2 max-lg:flex-col" data-astro-cid-sz7xmlte><div class="site-footer-row is-start" data-astro-cid-sz7xmlte><a href="/status" target="_blank" rel="noopener" data-astro-cid-sz7xmlte><style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var l=(s,i,o)=>{let r=async()=>{await(await s())()},t=typeof i.value=="object"?i.value:void 0,c={rootMargin:t==null?void 0:t.rootMargin},n=new IntersectionObserver(e=>{for(let a of e)if(a.isIntersecting){n.disconnect(),r();break}},c);for(let e of o.children)n.observe(e)};(self.Astro||(self.Astro={})).visible=l;window.dispatchEvent(new Event("astro:visible"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="Z1WJNS1" component-url="/_astro/ServiceStatusDot.CHS8dBLT.js" component-export="default" renderer-url="/_astro/client.Cx1FBVJX.js" props="{"data-astro-cid-sz7xmlte":[0,true]}" ssr="" client="visible" opts="{"name":"ServiceStatusDot","value":true}" await-children=""><div class="w-2 h-2 rounded-full bg-gray-300"></div></astro-island>Status</a><div class="footer-separator" data-astro-cid-sz7xmlte></div><a href="https://community.idx.dev/" target="_blank" rel="noopener" data-astro-cid-sz7xmlte>Discussion Forum</a><div class="footer-separator" data-astro-cid-sz7xmlte></div><a href="https://idx.uservoice.com/" target="_blank" rel="noopener" data-astro-cid-sz7xmlte>Feature Requests</a></div><div class="site-footer-row is-end" data-astro-cid-sz7xmlte><a href="/" data-astro-cid-sz7xmlte>About IDX</a><div class="footer-separator" data-astro-cid-sz7xmlte></div><a href="/blog/rss.xml" target="_blank" rel="noopener" data-astro-cid-sz7xmlte><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.01333 13.0133C5.01333 12.4444 4.81778 11.9644 4.42667 11.5733C4.03556 11.1822 3.55556 10.9867 2.98667 10.9867V13.0133H5.01333ZM2.98667 2.98667C4.8 2.98667 6.47111 3.44889 8 4.37333C9.52889 5.26222 10.7378 6.47111 11.6267 8C12.5511 9.52889 13.0133 11.2 13.0133 13.0133H12C12 11.3778 11.5911 9.86667 10.7733 8.48C9.99111 7.09333 8.90667 6.00889 7.52 5.22667C6.13333 4.40889 4.62222 4 2.98667 4V2.98667ZM2.98667 6.98667C4.08889 6.98667 5.08444 7.27111 5.97333 7.84C6.89778 8.37333 7.62667 9.10222 8.16 10.0267C8.72889 10.9156 9.01333 11.9111 9.01333 13.0133H8C8 12.0889 7.76889 11.2533 7.30667 10.5067C6.88 9.72444 6.27556 9.12 5.49333 8.69333C4.74667 8.23111 3.91111 8 2.98667 8V6.98667Z" fill="currentColor"></path></svg></a><div class="footer-separator" data-astro-cid-sz7xmlte></div><a href="https://policies.google.com/terms" target="_blank" rel="noopener" data-astro-cid-sz7xmlte>Terms</a><div class="footer-separator" data-astro-cid-sz7xmlte></div><a href="https://policies.google.com/privacy" target="_blank" rel="noopener" data-astro-cid-sz7xmlte>Privacy</a></div></div></footer></main></body></html>