docusaurus/assets/js/519746e1.1b366983.js
2025-04-11 12:47:38 +00:00

1 line
No EOL
90 KiB
JavaScript

(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["43762"],{60381:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i=s.p+"assets/images/social-card-736cfe55fc7bba07204176852d67c0d5.png"},1352:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i=s.p+"assets/images/npm-downloads-f9d754a81ff372a5bae83c8751195e2b.png"},78948:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i=s.p+"assets/images/redocusaurus-5cf08a76be6f85090544417b82986cfb.png"},66474:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i=s.p+"assets/images/search-848f1f1b9eb0d1b710e1d1dec50fb84a.png"},66788:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i=s.p+"assets/images/shiki-twoslash-b74271684fa819a0175595409b2f323b.png"},61576:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i=s.p+"assets/images/slash-plushies-71b7a47477442dfcf890627669aba97d.jpg"},44065:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i=s.p+"assets/images/social-card-736cfe55fc7bba07204176852d67c0d5.png"},75964:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i=s.p+"assets/images/star-history-72ae014f60d05445753e9f690e41d347.png"},80415:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i="data:image/png;base64,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"},74270:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i=s.p+"assets/images/slash-introducing-411a16dd05086935b8e9ddae38ae9b45.svg"},50534:function(e,t,s){"use strict";s.d(t,{Z:()=>i});let i=s.p+"assets/images/slash-up-and-running-1c1f83f3064dcd56be41632c51be62ac.png"},54062:function(e,t,s){"use strict";s.r(t),s.d(t,{assets:()=>g,contentTitle:()=>p,default:()=>f,frontMatter:()=>u,metadata:()=>i,toc:()=>A});var i=s(11601),n=s(85893),a=s(80980),r=s(54208),o=s(14522),l=s(22097),c=s(85486),d=s(17017);s(83631),s(83569);var h=s(85017);let u={title:"Announcing Docusaurus 2.0",authors:["slorber","Josh-Cena","yangshun","lex111","zpao",{key:"JMarcey",title:"Co-creator of Docusaurus 1"}],tags:["release"],image:"./img/social-card.png"},p=void 0,g={image:s(60381).Z,authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0]},A=[{value:"What is Docusaurus exactly?",id:"what-is-docusaurus-exactly",level:2},{value:"The story behind Docusaurus",id:"the-story-behind-docusaurus",level:2},{value:"Toward Docusaurus 2.0",id:"toward-docusaurus-20",level:2},{value:"Who uses Docusaurus 2.0?",id:"who-uses-docusaurus-20",level:2},{value:"What&#39;s New in 2.0?",id:"whats-new-in-20",level:2},{value:"MDX",id:"mdx",level:3},{value:"File system conventions",id:"file-system-conventions",level:3},{value:"Plugins",id:"plugins",level:3},{value:"Theming",id:"theming",level:3},{value:"Other features",id:"other-features",level:3},{value:"Why 2.0 now?",id:"why-20-now",level:2},{value:"What&#39;s Next?",id:"whats-next",level:2},{value:"Thank You",id:"thank-you",level:2}];function m(e){let t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components},{TweetQuote:i}=t;return i||function(e,t){throw Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("TweetQuote",!0),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["Today we are extremely happy to finally ",(0,n.jsx)(t.strong,{children:"announce Docusaurus 2.0"}),"! \uD83E\uDD73\uFE0F"]}),"\n",(0,n.jsxs)(t.p,{children:["At ",(0,n.jsx)(t.a,{href:"https://opensource.fb.com/",children:(0,n.jsx)(t.strong,{children:"Meta Open Source"})}),", we believe Docusaurus will help you build the ",(0,n.jsx)(t.strong,{children:"best documentation websites"})," with ",(0,n.jsx)(t.strong,{children:"minimal effort"}),", letting you ",(0,n.jsx)(t.strong,{children:"focus on what really matters"}),": writing the content."]}),"\n",(0,n.jsxs)(t.p,{children:["After ",(0,n.jsxs)(t.strong,{children:["4 years of work, ",(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/releases/tag/v2.0.0-alpha.75",children:"75 alphas"})," and ",(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/releases/tag/v2.0.0-beta.22",children:"22 betas"})]}),", the next generation of Docusaurus is ",(0,n.jsx)(t.strong,{children:"ready for prime time"}),". From now on, we now plan to ",(0,n.jsxs)(t.strong,{children:["respect ",(0,n.jsx)(t.a,{href:"https://semver.org/",children:"Semantic Versioning"})]})," and will release ",(0,n.jsx)(t.strong,{children:"major versions more frequently"}),"."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"social-card image",src:s(44065).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,n.jsxs)(t.admonition,{type:"info",children:[(0,n.jsxs)(t.mdxAdmonitionTitle,{children:["We are on ",(0,n.jsx)(t.a,{href:"https://www.producthunt.com/posts/docusaurus-2-0",children:"ProductHunt"})," and ",(0,n.jsx)(t.a,{href:"https://news.ycombinator.com/item?id=32303052",children:"Hacker News"}),"!"]}),(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Now"})," is the best time to show your love for Docusaurus!"]}),(0,n.jsxs)("div",{style:{display:"flex"},children:[(0,n.jsx)(l.Z,{}),(0,n.jsx)(c.Z,{})]})]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["In a hurry? Check ",(0,n.jsx)(t.a,{href:"#whats-new-in-20",children:"what's new in Docusaurus 2.0"}),"!"]})}),"\n",(0,n.jsx)(t.h2,{id:"what-is-docusaurus-exactly",children:"What is Docusaurus exactly?"}),"\n",(0,n.jsxs)(t.p,{children:["Docusaurus is a ",(0,n.jsx)(t.strong,{children:"static site generator"})," that helps you ship ",(0,n.jsx)(t.strong,{children:"beautiful documentation websites"})," in ",(0,n.jsx)(t.strong,{children:"no time"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["Focus on your content: just write ",(0,n.jsx)(t.strong,{children:"Markdown files"}),". Docusaurus will generate an optimized ",(0,n.jsx)(t.strong,{children:"website"})," for you that's easy to ",(0,n.jsx)(t.strong,{children:"host anywhere"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["Docusaurus is ",(0,n.jsx)(t.strong,{children:"full-featured"})," and very ",(0,n.jsx)(t.strong,{children:"flexible"}),": we ship with well-designed docs and blog layout, as well as out-of-the-box versioning, search, and internationalization functionalities, with a call to accessibility and search engine optimizations. Its flexible theming system permits to ",(0,n.jsx)(t.strong,{children:"adapt the UI to match your branding"})," so that it integrates nicely with your main website or documentation portal. Its usage of ",(0,n.jsx)(t.strong,{children:"React"})," enables a ",(0,n.jsx)(t.strong,{children:"modern client-side navigation"}),", and the ability to build an ",(0,n.jsx)(t.strong,{children:"interactive documentation"}),"."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Introducing Slash",src:s(74270).Z+"",width:"760",height:"160"})}),"\n",(0,n.jsxs)(t.p,{children:["The Docusaurus philosophy is akin to the ",(0,n.jsx)(t.strong,{children:"Pareto principle"}),": you can get ",(0,n.jsx)(t.strong,{children:"80% of the results"})," for ",(0,n.jsx)(t.strong,{children:"20% of the effort"}),". This enables you to compete with top-notch documentation sites with ",(0,n.jsx)(t.strong,{children:"minimal effort"}),"."]}),"\n",(0,n.jsx)(i,{url:"https://x.com/rachelnabors/status/1452697991039660038",handle:"rachelnabors",name:"Rachel Nabors",job:"Former ReactJS & React-Native docs manager",children:(0,n.jsx)(t.p,{children:"Unless you're spinning up a documentation team with engineering resources, you\nprobably want Docusaurus!"})}),"\n",(0,n.jsxs)(t.p,{children:["Docusaurus aims to be the ",(0,n.jsx)(t.strong,{children:"best documentation tool"}),", but you can use it for ",(0,n.jsx)(t.strong,{children:"other use-cases"})," as well: a blog, a knowledge base, a developer portfolio, a second brain, or even to scaffold landing pages!"]}),"\n",(0,n.jsx)(i,{url:"https://x.com/johnny_reilly/status/1551861926334025728",handle:"johnny_reilly",name:"Johnny Reilly",job:"Group Principal Engineer at Investec",children:(0,n.jsx)(t.p,{children:"Using Docusaurus for my tech blog has been a fantastic choice. It looks\ntremendous out-of-the-box and the awesome DX means I write way more"})}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["Try Docusaurus now with our ",(0,n.jsx)(t.a,{href:"/docs/playground",children:"online playgrounds"})," and ",(0,n.jsx)(t.a,{href:"https://tutorial.docusaurus.io/",children:"5 minutes tutorial"})," \u23F1\uFE0F"]})}),"\n",(0,n.jsx)(t.h2,{id:"the-story-behind-docusaurus",children:"The story behind Docusaurus"}),"\n",(0,n.jsxs)(t.p,{children:["Docusaurus was created at ",(0,n.jsx)(t.strong,{children:"Facebook Open Source"})," in ",(0,n.jsx)(t.strong,{children:"2017"})," (now ",(0,n.jsx)(t.a,{href:"https://opensource.fb.com/",children:"Meta Open Source"}),"). We had a lot of internal and open source projects to document. It's ",(0,n.jsx)(t.strong,{children:"complicated enough to write good documentation"}),", let alone to create the HTML, CSS, and JavaScript for a good-looking website. We wanted project leaders to be able to ",(0,n.jsx)(t.strong,{children:"focus on the content"}),", and ",(0,n.jsx)(t.strong,{children:"Markdown"})," is great for that."]}),"\n",(0,n.jsxs)(t.p,{children:["At that time, our solution was to ",(0,n.jsx)(t.strong,{children:"copy/paste a Jekyll template"})," over and over again. This naturally became ",(0,n.jsx)(t.strong,{children:"hard to maintain"}),", so we created a tool to ",(0,n.jsx)(t.strong,{children:"solve our own pain"})," once for all."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsxs)(t.strong,{children:[(0,n.jsx)(t.a,{href:"/blog/2017/12/14/introducing-docusaurus",children:"Docusaurus v1 was born"}),"!"]})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Birth of Slash",src:s(80415).Z+"",width:"760",height:"160"})}),"\n",(0,n.jsxs)(t.p,{children:["It quickly built momentum at Facebook and in the frontend ecosystem, adopted by many popular projects such as ",(0,n.jsx)(t.a,{href:"https://prettier.io/",children:"Prettier"}),", ",(0,n.jsx)(t.a,{href:"https://babeljs.io/",children:"Babel"}),", ",(0,n.jsx)(t.a,{href:"https://archive.reactnative.dev/",children:"React-Native"}),", ",(0,n.jsx)(t.a,{href:"https://katex.org/docs/",children:"KaTeX"}),", and of course ",(0,n.jsx)(t.a,{href:"http://v1.docusaurus.io/",children:"Docusaurus v1"})," itself."]}),"\n",(0,n.jsx)(h.Gl,{}),"\n",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsx)(t.p,{children:"Notice that the sample sites above use different colors, but still look quite the same."})}),"\n",(0,n.jsx)(t.h2,{id:"toward-docusaurus-20",children:"Toward Docusaurus 2.0"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"http://v1.docusaurus.io/",children:(0,n.jsx)(t.strong,{children:"Docusaurus v1"})})," has been very successful, but we started to ",(0,n.jsx)(t.strong,{children:"question some architectural choices"}),":"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["React was only used as a ",(0,n.jsx)(t.strong,{children:"server-side templating language"}),", and not used on the client"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Theming system was pretty limited"}),", and apart from changing a few colors with CSS, it was difficult to do more advanced customizations"]}),"\n",(0,n.jsxs)(t.li,{children:["The ",(0,n.jsx)(t.strong,{children:"docs versioning system was confusing"}),", since it was based on a diff algorithm"]}),"\n",(0,n.jsxs)(t.li,{children:["The codebase was ",(0,n.jsx)(t.strong,{children:"monolithic"}),", neither well-tested nor easy to extend"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"https://docusaurus.io/",children:(0,n.jsx)(t.strong,{children:"Docusaurus v2"})})," was ",(0,n.jsx)(t.strong,{children:"rebuilt"})," from the ground up with a new ",(0,n.jsx)(t.strong,{children:"modular architecture"}),":"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["React is now also used on the client, enabling a ",(0,n.jsx)(t.strong,{children:"modern Single Page Application navigation"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Plugins"})," empower the community to contribute useful features as third-party packages"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Theming"})," is more ",(0,n.jsx)(t.strong,{children:"flexible"})," than ever"]}),"\n",(0,n.jsx)(t.li,{children:"Docs versioning is now based on snapshot copies, much easier to understand"}),"\n",(0,n.jsxs)(t.li,{children:["We kept ",(0,n.jsx)(t.strong,{children:"everything good from v1"}),": docs, blog, pages, versioning, i18n..."]}),"\n",(0,n.jsxs)(t.li,{children:["We implemented ",(0,n.jsx)(t.strong,{children:"several new features"})]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["More details in the ",(0,n.jsx)(t.a,{href:"/blog/2018/09/11/Towards-Docusaurus-2",children:"Docusaurus 2 project announcement"})," and ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/migration",children:"v1 to v2 migration guide"})]}),"\n",(0,n.jsx)(t.h2,{id:"who-uses-docusaurus-20",children:"Who uses Docusaurus 2.0?"}),"\n",(0,n.jsxs)(t.p,{children:["Despite being in pre-release, it didn't take long for ",(0,n.jsx)(t.strong,{children:"Docusaurus v2 to outgrow Docusaurus v1"})," in terms of NPM downloads:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://npmtrends.com/docusaurus-vs-@docusaurus/core",children:(0,n.jsx)(t.img,{alt:"NPM downloads: v2 outgrows v1",src:s(1352).Z+"",width:"1200",height:"645"})})}),"\n",(0,n.jsx)(t.p,{children:"Our GitHub star trend is very positive, competing with major frameworks:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://star-history.com/#facebook/docusaurus&vercel/next.js&gatsbyjs/gatsby&hexojs/hexo&nuxt/nuxt.js&vuejs/vuepress&11ty/eleventy&gohugoio/hugo&remix-run/remix&mkdocs/mkdocs&Timeline",children:(0,n.jsx)(t.img,{alt:"GitHub stars: Docusaurus is well-positioned",src:s(75964).Z+"",width:"1200",height:"759"})})}),"\n",(0,n.jsx)(t.p,{children:"Today, Docusaurus v2 has already been a great success even before its launch:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["We received so many ",(0,n.jsx)(t.a,{href:"https://x.com/sebastienlorber/timelines/1392048416872706049",children:"lovely testimonials"})]}),"\n",(0,n.jsxs)(t.li,{children:["Companies like ",(0,n.jsx)(t.a,{href:"https://blog.1password.com/docusaurus-documentation-framework/",children:"1Password"})," and ",(0,n.jsx)(t.a,{href:"https://www.courier.com/blog/how-we-built-our-documentation/",children:"Courier"})," are writing down their positive experience"]}),"\n",(0,n.jsxs)(t.li,{children:["Our ",(0,n.jsx)(t.a,{href:"/showcase",children:"site showcase"})," references hundreds of sites, and this is only the tip of the iceberg."]}),"\n"]}),"\n",(0,n.jsx)(h.qg,{}),"\n",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["Please add your site to our ",(0,n.jsx)(t.a,{href:"/showcase",children:"site showcase"}),"! It only takes a few seconds: just ",(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/discussions/7826",children:"post a comment here"}),"."]})}),"\n",(0,n.jsx)(i,{url:"https://x.com/maxlynch/status/1549415692704825346",handle:"maxlynch",name:"Max Lynch",job:"Ionic co-founder and CEO",children:(0,n.jsx)(t.p,{children:"We use Docusaurus everywhere now and love it"})}),"\n",(0,n.jsx)(i,{url:"https://x.com/supabase/status/1328960757149671425",handle:"supabase",name:"Supabase",job:"Open Source Firebase alternative",children:(0,n.jsx)(t.p,{children:"We've been using V2 since January and it has been great"})}),"\n",(0,n.jsx)(i,{url:"https://x.com/gabrielcsapo/status/1415061312917233665",handle:"gabrielcsapo",name:"Gabriel Csapo",job:"Staff Software Engineer at LinkedIn",children:(0,n.jsx)(t.p,{children:"Docusaurus is next level easy for literally everything you would need for\ndocumentation in your project."})}),"\n",(0,n.jsx)(i,{url:"https://x.com/ItWasMattGregg/status/1526682295075102721",handle:"ItWasMattGregg",name:"Matt Gregg",job:"Senior Front End Developer at Shopify",children:(0,n.jsx)(t.p,{children:"Docusaurus is awesome. We use it"})}),"\n",(0,n.jsx)(t.h2,{id:"whats-new-in-20",children:"What's New in 2.0?"}),"\n",(0,n.jsxs)(t.p,{children:["It would be difficult to describe every single new feature coming with Docusaurus v2. Let's focus on the features we believe are the ",(0,n.jsx)(t.strong,{children:"most impactful"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"mdx",children:"MDX"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"https://github.com/mdx-js/mdx",children:"MDX"})," allows you to ",(0,n.jsx)(t.strong,{children:"interleave React components"})," in Markdown. This enables you to build top-notch ",(0,n.jsx)(t.strong,{children:"interactive documentation experiences"})," very easily."]}),"\n",(0,n.jsx)(t.p,{children:"A demo is worth a thousand words:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-md",metastring:'title="docs/my-document.mdx"',children:"### Give it a try: press that button!\n\nimport ColorModeToggle from '@theme/ColorModeToggle';\n\n<ColorModeToggle/>\n"})}),"\n",(0,n.jsxs)(o.Z,{children:[(0,n.jsx)("h3",{children:"Give it a try: press that button!"}),(0,n.jsx)(d.Z,{})]}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsxs)(t.p,{children:["MDX has its own ",(0,n.jsx)(t.a,{href:"https://mdxjs.com/docs/extending-mdx/",children:"plugin system"}),". You to customize your Markdown authoring experience, and even create your own Markdown syntax."]})}),"\n",(0,n.jsx)(i,{url:"https://x.com/HamelHusain/status/1551962275250053123",handle:"HamelHusain",name:"Hamel Husain",job:"Head Of Data Science at Outerbounds",children:(0,n.jsx)(t.p,{children:"Docusaurus + MDX is great: we were able to implement a beautiful two-pane\nlayout and give the author fine-grained control on the placement of code and\ncorresponding prose."})}),"\n",(0,n.jsx)(t.h3,{id:"file-system-conventions",children:"File system conventions"}),"\n",(0,n.jsxs)(t.p,{children:["Our goal is to make Docusaurus very ",(0,n.jsx)(t.strong,{children:"intuitive"})," to use. We added file system conventions, and adding a doc page is as easy as creating one Markdown file."]}),"\n",(0,n.jsx)(r.Z,{id:"T3S8GyFIXjo",params:"autoplay=1&autohide=1&showinfo=0&rel=0",title:"Explain Like I'm 5: Docusaurus",poster:"maxresdefault",webp:!0}),"\n",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(i,{url:"https://x.com/paularmstrong/status/1552005085168865281",handle:"paularmstrong",name:"Paul Armstrong",job:"Principal Engineer at Microsoft",children:(0,n.jsx)(t.p,{children:"Using the auto-generated sidebars makes it so simple to just create a page and\nnot worry about any other configuration."})}),"\n",(0,n.jsx)(t.h3,{id:"plugins",children:"Plugins"}),"\n",(0,n.jsxs)(t.p,{children:["Docusaurus now has a ",(0,n.jsx)(t.strong,{children:"modular architecture"})," with a plugin system \u2014 our ",(0,n.jsx)(t.strong,{children:"core features"})," like docs, blog, pages, and search are all powered by individual plugins."]}),"\n",(0,n.jsxs)(t.p,{children:["More importantly, it enables our community to ",(0,n.jsx)(t.strong,{children:"enhance Docusaurus"})," with additional features."]}),"\n",(0,n.jsx)(t.p,{children:"Let's highlight some examples:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/rohit-gohri/redocusaurus",children:"redocusaurus"}),": seamless integration with ",(0,n.jsx)(t.a,{href:"https://www.openapis.org/",children:"OpenAPI"})," and ",(0,n.jsx)(t.a,{href:"https://github.com/Redocly/redoc",children:"Redoc"})]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"redocusaurus plugin example",src:s(78948).Z+"",width:"1200",height:"667"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://www.npmjs.com/package/docusaurus-preset-shiki-twoslash",children:"docusaurus-preset-shiki-twoslash"}),": use ",(0,n.jsx)(t.a,{href:"https://github.com/shikijs/shiki",children:"Shiki"})," code block syntax highlighting with ",(0,n.jsx)(t.a,{href:"https://shikijs.github.io/twoslash/",children:"TwoSlash"})," TypeScript compiler hints"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"shiki-twoslash plugin example",src:s(66788).Z+"",width:"1200",height:"667"})}),"\n",(0,n.jsx)(i,{url:"https://x.com/orta",handle:"orta",name:"Orta Therox",job:"Former TypeScript core team at Microsoft",children:(0,n.jsx)(t.p,{children:"The plugin API was a breeze to use, and powerful enough that I could port the\ncode sample renderer from the TypeScript website site in a couple of hours."})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/easyops-cn/docusaurus-search-local",children:"docusaurus-search-local"}),": one of the various local search alternatives to the built-in Algolia plugin"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"local search plugin example",src:s(66474).Z+"",width:"1200",height:"627"})}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["We have a curated list of outstanding plugins in our ",(0,n.jsx)(t.a,{href:"/community/resources",children:"community resources"})," page."]})}),"\n",(0,n.jsx)(i,{url:"https://x.com/jodyheavener/status/1551974535452311552",handle:"jodyheavener",name:"Jody Heavener",job:"Senior Developer at 1Password",children:(0,n.jsx)(t.p,{children:"The plugin system in Docusaurus v2 has made expanding 1Password's developer\nportal so easy and fun. Super excited to show you what we've got cooking up."})}),"\n",(0,n.jsx)(t.h3,{id:"theming",children:"Theming"}),"\n",(0,n.jsxs)(t.p,{children:["Theming is one of the most important features of Docusaurus: we believe a professional documentation site should ",(0,n.jsx)(t.strong,{children:"respect your company's branding"})," and create a consistent experience."]}),"\n",(0,n.jsxs)(t.p,{children:["Docusaurus theming gives a lot of ",(0,n.jsx)(t.strong,{children:"flexibility"})," on multiple levels:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Customize CSS variables to adjust colors, fonts, and more"}),"\n",(0,n.jsx)(t.li,{children:"Provide your own CSS stylesheets"}),"\n",(0,n.jsx)(t.li,{children:"Implement your own theme from scratch"}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Override any React component"})," provided by our default theme: we call this ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/swizzling",children:"swizzling"})]}),"\n"]}),"\n",(0,n.jsx)(i,{url:"https://x.com/hung_dev/status/1546918275065741312",handle:"hung_dev",name:"\nHung Viet Nguyen",job:"Creator of JestPreview",children:(0,n.jsx)(t.p,{children:"I love Docusaurus Swizzling feature. It\u2019s opinionated and flexible at the same\ntime. This is super cool since a framework usually needs to sacrifice one for\nthe other."})}),"\n",(0,n.jsxs)(t.p,{children:["This enables users willing to invest a bit more time on ",(0,n.jsx)(t.strong,{children:"customizations"})," to build sites that ",(0,n.jsx)(t.strong,{children:"look different"})," from others."]}),"\n",(0,n.jsx)(h.cQ,{}),"\n",(0,n.jsx)(i,{url:"https://x.com/dabit3/status/1382855449813389315",handle:"dabit3",name:"Nader Dabit",job:"Web3 developer, Developer DAO founder",children:(0,n.jsx)(t.p,{children:"So far it\u2019s working out really nicely. It\u2019s been really easy to style up the\nway that we wanted it to look. No blockers at all."})}),"\n",(0,n.jsx)(t.h3,{id:"other-features",children:"Other features"}),"\n",(0,n.jsx)(t.p,{children:"Docusaurus 2 comes with a very long list of useful features:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Theme: dark mode, better UI and UX, flexible ",(0,n.jsx)(t.code,{children:"themeConfig"})," options..."]}),"\n",(0,n.jsx)(t.li,{children:"Docs versioning: flexible plugin options to adapt to your workflow"}),"\n",(0,n.jsx)(t.li,{children:"Docs sidebar: collapsible category, category index pages..."}),"\n",(0,n.jsx)(t.li,{children:"Blog: multiple authors, authors map, archive page..."}),"\n",(0,n.jsx)(t.li,{children:"Markdown: tabs, math equations, live code blocks, linking, flexible front matter..."}),"\n",(0,n.jsx)(t.li,{children:"Search: use the new Algolia DocSearch 3 experience"}),"\n",(0,n.jsx)(t.li,{children:"Assets: make it easy to incorporate images and other kinds of files"}),"\n",(0,n.jsx)(t.li,{children:"Internationalization: config options, default theme translations..."}),"\n",(0,n.jsx)(t.li,{children:"Accessibility: aria labels, color contrasts, skip-to-content, keyboard navigation, progressive enhancement..."}),"\n",(0,n.jsx)(t.li,{children:"SEO: sensible defaults, easy to customize, canonical url, social card, no-index, sitemap, microdata, hreflang..."}),"\n",(0,n.jsx)(t.li,{children:"PWA: add offline support to your site, and make it installable"}),"\n",(0,n.jsx)(t.li,{children:"Fail-fast: strict config validation, detect broken links, and prevent bad production deployments"}),"\n",(0,n.jsx)(t.li,{children:"TypeScript support for config files, plugins, custom pages and theme authors"}),"\n",(0,n.jsxs)(t.li,{children:["Playgrounds: assess Docusaurus easily from your browser with ",(0,n.jsx)(t.a,{href:"https://docusaurus.new",children:"docusaurus.new"})]}),"\n",(0,n.jsx)(t.li,{children:"Canary releases: use the @canary npm tag to use the upcoming release before anyone else"}),"\n",(0,n.jsx)(t.li,{children:"Tests: Docusaurus is well-tested, we dogfood features and ensure they keep working"}),"\n"]}),"\n",(0,n.jsx)(i,{url:"https://x.com/alexbdebrie/status/1540010328335032320",handle:"alexbdebrie",name:"Alex DeBrie",job:"AWS Data Hero, author of The DynamoDB Book",children:(0,n.jsx)(t.p,{children:"Recently, I was shocked at how good Docusaurus is out of the box. Super solid,\na good bit of configuration without being overwhelming, and the ability to\nreally customize the styling if you're braver than I am."})}),"\n",(0,n.jsx)(t.h2,{id:"why-20-now",children:"Why 2.0 now?"}),"\n",(0,n.jsxs)(t.p,{children:["Many enthusiastic followers of ours have been curious ",(0,n.jsx)(t.strong,{children:"why it took us 4 years to release Docusaurus 2.0"}),", considering the beta is already successful and ",(0,n.jsx)(t.strong,{children:"widely used in production"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["The reason is that we aim to ",(0,n.jsxs)(t.strong,{children:["respect ",(0,n.jsx)(t.a,{href:"https://semver.org/",children:"Semantic Versioning"})]}),", which means we will be incrementing the major version number whenever we release a ",(0,n.jsx)(t.strong,{children:"breaking change"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"It is important for multiple reasons:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["It ",(0,n.jsx)(t.strong,{children:"guarantees simple minor version upgrades"}),", as long as you only use the ",(0,n.jsx)(t.a,{href:"/community/release-process#public-api-surface",children:"public API"})]}),"\n",(0,n.jsx)(t.li,{children:"It follows front-end ecosystem conventions"}),"\n",(0,n.jsx)(t.li,{children:"A new major version is an opportunity to thoroughly document breaking changes"}),"\n",(0,n.jsx)(t.li,{children:"A new major/minor version is an opportunity to communicate new features through a blog post"}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["The problem is that our flexible theming system inherently creates a very ",(0,n.jsx)(t.strong,{children:"implicit API surface"})," on which it is ",(0,n.jsx)(t.strong,{children:"hard to know what is a breaking change"})," in the first place. Highly customized Docusaurus sites sometimes have a hard time upgrading Docusaurus because they achieve customizations using internal APIs. We dedicated time to extensive theme refactors and clearly defining our ",(0,n.jsx)(t.a,{href:"/community/release-process#public-api-surface",children:"public API"}),", so that future code changes can be made more safely. We will continue to expand this public theming API so that the most common site customizations do not need to use any internal API."]}),"\n",(0,n.jsxs)(t.admonition,{type:"info",children:[(0,n.jsxs)(t.p,{children:["From now on, Docusaurus will ",(0,n.jsx)(t.strong,{children:"release new major versions more frequently"}),". In practice, you can expect a ",(0,n.jsx)(t.strong,{children:"new major version every 2 to 4 months"}),"."]}),(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html",children:"Major version numbers are not sacred"}),", but we still group breaking changes together and avoid releasing major versions too often."]}),(0,n.jsxs)(t.p,{children:["Check our ",(0,n.jsx)(t.a,{href:"/community/release-process",children:"release process"})," documentation for details."]})]}),"\n",(0,n.jsx)(t.h2,{id:"whats-next",children:"What's Next?"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Slash Up and Running",src:s(50534).Z+"",width:"760",height:"160"})}),"\n",(0,n.jsxs)(t.p,{children:["The work on Docusaurus 3.0 has started, and this next version will be released only in a few months. We will ",(0,n.jsx)(t.strong,{children:"backport retro-compatible changes in Docusaurus 2.x"})," minor versions to make them available as soon as possible to the community on a stable channel."]}),"\n",(0,n.jsx)(t.p,{children:"A sample of the features on our roadmap for the upcoming major versions of Docusaurus:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/4029",children:"Upgrade to MDX 2.0"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/4625",children:"Improve Markdown infrastructure"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/6114",children:"Improve theming and swizzle"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/2961",children:"TailwindCSS theme"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/7227",children:"Theme; support custom item types for navbar, doc sidebar, blog sidebar, footer"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/4389",children:"Dynamic navbar: navbar item activation strategies"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/2968",children:"Custom Social Cards"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/3236",children:"CSS-in-JS support"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/6520",children:"Use Node.js ES Modules"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/4765",children:"Improve build time performance"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/4138",children:"Extend Docusaurus plugins, CMS integration"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"thank-you",children:"Thank You"}),"\n",(0,n.jsxs)(t.p,{children:["We'd like to express our gratitude to ",(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/graphs/contributors",children:"all our contributors"}),", including:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["The Docusaurus core team: ",(0,n.jsx)(t.a,{href:"https://github.com/lex111",children:"Alexey Pyltsyn"}),", ",(0,n.jsx)(t.a,{href:"https://github.com/Josh-Cena",children:"Joshua Chen"}),", ",(0,n.jsx)(t.a,{href:"https://github.com/slorber",children:"S\xe9bastien Lorber"}),", ",(0,n.jsx)(t.a,{href:"https://github.com/yangshun",children:"Yangshun Tay"})," and all our ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/community/team",children:"former team members"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/JoelMarcey",children:"Joel Marcey"})," for creating Docusaurus 1.0 and supporting the Docusaurus 2.0 project at Meta Open Source"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/zpao",children:"Paul O\u2019Shannessy"})," for supporting the development of all the next versions of Docusaurus at Meta Open Source"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/ericnakagawa",children:"Eric Nakagawa"})," for creating our cutest mascot Slash"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/endiliey",children:"Endilie Yacop Sucipto"})," for his significant ",(0,n.jsx)(t.a,{href:"/blog/2020/01/07/tribute-to-endi",children:"initial work on Docusaurus v2"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/shortcuts",children:"Cl\xe9ment Vannicatte"}),", ",(0,n.jsx)(t.a,{href:"https://github.com/Shipow",children:"Kevin Granger"})," and the whole Algolia team for their support"]}),"\n",(0,n.jsxs)(t.li,{children:["All the community members for making valuable code contributions, improving our documentation, and answering questions on ",(0,n.jsx)(t.a,{href:"https://discordapp.com/invite/docusaurus",children:"Discord"})]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["We'd like to thank in particular all our ",(0,n.jsx)(t.strong,{children:"Docusaurus 2.0 early adopters"})," for assessing its alpha, beta and canary releases, providing a ton of ",(0,n.jsx)(t.strong,{children:"invaluable feedback"}),". We sincerely hope you had a great experience using it, and that you will continue to provide feedback on the upcoming pre-releases of Docusaurus 3.0."]}),"\n",(0,n.jsxs)(t.p,{children:["At ",(0,n.jsx)(t.a,{href:"https://opensource.fb.com/",children:"Meta Open Source"}),", Docusaurus is one of our ",(0,n.jsx)(t.strong,{children:"most successful projects"}),". We can't wait to see all the outstanding documentation websites that you will create! Don't forget to ",(0,n.jsxs)(t.strong,{children:["submit them to our ",(0,n.jsx)(t.a,{href:"/showcase",children:"site showcase"})]}),"!"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Now, let your imagination run wild \uD83E\uDD2A!"})}),"\n",(0,n.jsx)(t.p,{children:"\u2014 Slash"}),"\n",(0,n.jsxs)(t.admonition,{type:"info",children:[(0,n.jsxs)(t.mdxAdmonitionTitle,{children:["We are on ",(0,n.jsx)(t.a,{href:"https://www.producthunt.com/posts/docusaurus-2-0",children:"ProductHunt"})," and ",(0,n.jsx)(t.a,{href:"https://news.ycombinator.com/item?id=32303052",children:"Hacker News"}),"!"]}),(0,n.jsx)(t.p,{children:"\uD83D\uDE4F Share your experience using Docusaurus with the community!"}),(0,n.jsxs)("div",{style:{display:"flex"},children:[(0,n.jsx)(l.Z,{}),(0,n.jsx)(c.Z,{})]})]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Slash plushies",src:s(61576).Z+"",width:"1332",height:"1331"})})]})}function f(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},19497:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/babel.cbc364a.640.png 640w,"+s.p+"assets/ideal-img/babel.3669cfa.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/babel.cbc364a.640.png",width:640,height:355},{path:s.p+"assets/ideal-img/babel.3669cfa.1030.png",width:1030,height:571}],src:s.p+"assets/ideal-img/babel.cbc364a.640.png",toString:function(){return s.p+"assets/ideal-img/babel.cbc364a.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxUlEQVR4nAG6AEX/AHW3yo+qtZWouZOjuZCTupGGu4yEuoKCt3yHsnCOwQDI2OD07urj4uHc29ns6+fy8+3y8+3s7Oj18enC0+UA1ODq/vz78vP06+vu8PDz9PT38/P39/f5////0dbpANjf6f/9/Pj28fDs4PXy6P767/757v359P///+TH1wDb3ej4/Pv1+PPw8eb1+O31+Oz1+ez4+/b+///vwMwA1p7J1Zuk2JSQ1oZ71IB01Htx1nhv23lw3Xxy5m11yK+UrA2JDh4AAAAASUVORK5CYII="}},30677:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/docusaurus.2ad1782.640.png 640w,"+s.p+"assets/ideal-img/docusaurus.ba4280f.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/docusaurus.2ad1782.640.png",width:640,height:355},{path:s.p+"assets/ideal-img/docusaurus.ba4280f.1030.png",width:1030,height:571}],src:s.p+"assets/ideal-img/docusaurus.2ad1782.640.png",toString:function(){return s.p+"assets/ideal-img/docusaurus.2ad1782.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAwUlEQVR4nBXJPQuCQBgA4PvBQWE4CEFBSwQhRG1KU1M/oYYCzaCGCLIPjb4uQ++6pNOztHqjZ32QPFk0LbM1MtW+0eiZDX1c18ZV3VD0QV63kLU7xSL0yPnkbRn3aHQJxZVGPhdkaF/Q8kgAIIkfd4pf4p4m4Tfjn3cKAPOlj1zM/p1wEhzYDYcMC+5/MwEA2Fqhw/nf4skD4gTUpbd9FOPsHX0A2HCGVp2prXU3bXVdU+yKtC5LTqngKnm3VPRy8g+/UpX4n6rSEgAAAABJRU5ErkJggg=="}},94486:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/katex.2b3ecc9.640.png 640w,"+s.p+"assets/ideal-img/katex.91ac937.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/katex.2b3ecc9.640.png",width:640,height:355},{path:s.p+"assets/ideal-img/katex.91ac937.1030.png",width:1030,height:571}],src:s.p+"assets/ideal-img/katex.2b3ecc9.640.png",toString:function(){return s.p+"assets/ideal-img/katex.2b3ecc9.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAv0lEQVR4nAXB3wrBUBwA4PPAaiHSduOGG4UiV0rIC3gCNwqToraz5d8K46zNzraznbMxP9+HqqrV3eiDldFfmp252Z4arQluTLA83UnjA1pfbJFxQv2n51LOaMbiXPgiiri/wARplgP5N04S50VCSlkY8ThJRQYAe40gwyIAOWPMth9vzw0CGoZBygUA3FYYna4kB6Asvr8c4r1dGkQiFZ/vD8BfbBEeqfpwZva6elPW6mVNKeKadKxJZ6VkFyp/r/+XglW08JQAAAAASUVORK5CYII="}},94e3:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/prettier.0987194.640.png 640w,"+s.p+"assets/ideal-img/prettier.ac62bde.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/prettier.0987194.640.png",width:640,height:355},{path:s.p+"assets/ideal-img/prettier.ac62bde.1030.png",width:1030,height:571}],src:s.p+"assets/ideal-img/prettier.0987194.640.png",toString:function(){return s.p+"assets/ideal-img/prettier.0987194.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAvklEQVR4nDXCzwvBUBwA8PcHO6yWQktIK0kcnJRc5OIosZ1wkXKRNjYchmbzY794tnnv7SsHnz6IGy6rfbnWkyqdkViXxJJULspCYcyXB6naDM23Bvac4+mk69rFNv2n6z9dx7uzOJiuTaQYNwCGo4gwBn+MJQCwUm2kGVegJMD4FYaUEEbp74cAwHm+QfrBihnx8Nt6uO4Le/gdhHFEaALgTJZIaS+UVldrNlQxqxbTmzy/zXG7DLcXeDOV/gIPyZWv09LiSwAAAABJRU5ErkJggg=="}},87493:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-native.e8025ec.640.png 640w,"+s.p+"assets/ideal-img/react-native.8cebf9a.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/react-native.e8025ec.640.png",width:640,height:355},{path:s.p+"assets/ideal-img/react-native.8cebf9a.1030.png",width:1030,height:571}],src:s.p+"assets/ideal-img/react-native.e8025ec.640.png",toString:function(){return s.p+"assets/ideal-img/react-native.e8025ec.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxUlEQVR4nAG6AEX/AGisw32brIaZrYCSqn2EroB1rX52r5eYzoGMumSBtwC8ztfm4uHZ2dnLy8rP0c/i49/q6+f4+fX/+/S7zN8Az9zl+/n38vP04uTm6enq7O3u7Ovt9vb3////0NXpANDY4vXz8vHx8efm5+zr6vPy8vTz8vv4+f///+PG1wDY2+b3+/ni6OnO1djY3d/d4uTb4OPu8fL////uwMwA1p7J1pylzYiFvW5iu2dcu2NZulxUz2tk33505mx04r2PDpDiiAMAAAAASUVORK5CYII="}},92867:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/courier.e9b71f4.640.png 640w,"+s.p+"assets/ideal-img/courier.f8addf0.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/courier.e9b71f4.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/courier.f8addf0.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/courier.e9b71f4.640.png",toString:function(){return s.p+"assets/ideal-img/courier.e9b71f4.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AIyt27SXz7ud17eW2bGD269z3qhv3p5x3ZJw2X1+2gDIyeH52u/XwdTDq8LRu8/SvdLQu9Hm1+j/8//EzewAz9ro+/j+3dzizczR1NPY19XbxMHIxLzH49/hvb7XANTW5/ft+Pr3+//+/v39/f///8S+xUIjSS8XPIZdfwDW1ub39v3y9Pju8fTy9vj///+4uMImFDceEjeUVXkA1pzJ1Jej2JKO2IZ61oB024B1zGpjrUNDrERE11Vl8lGDEKxF5owAAAAASUVORK5CYII="}},27601:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/datagit.98630dd.640.png 640w,"+s.p+"assets/ideal-img/datagit.afeea1f.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/datagit.98630dd.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/datagit.afeea1f.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/datagit.98630dd.640.png",toString:function(){return s.p+"assets/ideal-img/datagit.98630dd.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAtElEQVR4nB3MSwtBQRiH8fm+SkoSycLOykI2ZOUb2CqxILlEJ5dDlFyaFIccnZk5877zF+un3yMah3B+UytpvJOZLsykb0Y90+urzjCstaVYyhcAdg6Ati6M6RFGlhiIB/5d+JcnAGMptsTETKyUUTomsjNPisP1l91fR5rfEQdvzUQAzsO1OJ4DAIqcIheR+1j3+Gj9vwfdidg0x+t6a1ut7MoFv5Txi+ldLrXPJvf5lEykv9L2nupSFk8xAAAAAElFTkSuQmCC"}},90765:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/dyte.b411d0a.640.png 640w,"+s.p+"assets/ideal-img/dyte.9d967ec.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/dyte.b411d0a.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/dyte.9d967ec.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/dyte.b411d0a.640.png",toString:function(){return s.p+"assets/ideal-img/dyte.b411d0a.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAvElEQVR4nCXJPQ/BQBgA4Pu9FqSDIBKjicFmEIPERmwkWCQkREvQpr4SJK7otb1DtXp3r4hnfVBhZrfmZHpg6uGpLkJt+BkP/H6PNjqs2LyhWmfZ7por82RZl3foCxBSSi4iABgaDlJ3FucCM/9IGKYv2/+QgLNAAIC2xEjfYwBJXM/1vIj/CcF/fR7paLO3JIBD6eVuXx2XsAd9B2H0e2cwRUZ1olfqZrlkFrLrvGLklE06sUvFt5kkjilfulmaxNksu3AAAAAASUVORK5CYII="}},12101:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/hasura.e4f3ebd.640.png 640w,"+s.p+"assets/ideal-img/hasura.226d6d3.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/hasura.e4f3ebd.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/hasura.226d6d3.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/hasura.e4f3ebd.640.png",toString:function(){return s.p+"assets/ideal-img/hasura.e4f3ebd.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AFqhu2SFmW2FnGR7l2Bpl2Fcl1pXk1dblk1lm1N7tgBGXm0VGyImLjUhKC0cJCgdJykbJSYWHyERHB0sSGIASl1sGSIqJi81KzI4KDA1JCsxJSwyISkvGiAiOUJZAFJgbxwkLCYuNiUtNR8nLiIqMh8mLiQqMhooLk42TABOWWkPHSUbKTMgMkEcLTsjNEEdMD4hMD4XNEFYMUUAtn6soWhzqmZjqFpPplJIqFBHqElCq0lCp0hAxUpUim0yiR9LFnEAAAAASUVORK5CYII="}},26220:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/ionic.7f10b53.640.png 640w,"+s.p+"assets/ideal-img/ionic.cd19b49.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/ionic.7f10b53.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/ionic.cd19b49.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/ionic.7f10b53.640.png",toString:function(){return s.p+"assets/ideal-img/ionic.7f10b53.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AJbY7s3o99Xo+tPk+8DK/MbA+ci/98HB98DM+Ji26gDK3ej//Pzy8vLs6+rn6u74+vn////x8u/w7OXE1uoA0d7p////7u/w4uPm6Ojq7e7z8/T309PW19fWub7UANTd6P/+/vj4+Pj4+fr6/Pr7/fb3+tve5/3//tCzxADZ3en8///0+Pn1+vv2+/v2+/vz+fvO2ef3///crLoA1ZzJ1Zqj2ZSP2ol814F12H1z2Hhv1HFq23lw42ZvKQ2aZPs/3GIAAAAASUVORK5CYII="}},73157:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/outerbounds.7fa8be7.640.png 640w,"+s.p+"assets/ideal-img/outerbounds.17abaf6.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/outerbounds.7fa8be7.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/outerbounds.17abaf6.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/outerbounds.7fa8be7.640.png",toString:function(){return s.p+"assets/ideal-img/outerbounds.7fa8be7.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAwklEQVR4nAXBPWvCQBgA4Pu7UhQsUh2Kk2sXF8Ghkz/BqdqCIBkUbf1Ag5GKaFsjyZ2X+3ovd+bt85BuxD9jszip6T6bzPVsBMFQfLzzt/Gt0/8jy3OCWFCasvSaZdR7i17fnUSEIIzJ4vvi81xIBZAbcNY6kMIIgd5MZ0eyin6cBSU1ZTJOtFRWcXZLWYH5cfRFosO1QJQGuJBCG3COZYIybhGTQUDC18mm2wvbL5vW07pZ3T5Xw3p5V3vYNSq/pcd/0kecLyndd98AAAAASUVORK5CYII="}},23739:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/quickwit.aae4257.640.png 640w,"+s.p+"assets/ideal-img/quickwit.e851c05.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/quickwit.aae4257.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/quickwit.e851c05.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/quickwit.aae4257.640.png",toString:function(){return s.p+"assets/ideal-img/quickwit.aae4257.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AFyguGaElrfL3djp/8zP+MvA98e99b7C97yt3pmd1QBLYG0jIii6u77x7+3s7On+//z+/fr8/vz/9/PHy+EAVWRzKCszvb/C6uvr4ODi7+7w8vHz8vL0////ztToAFxmdSkrM7/Bw/Ty8ujo6Ors6/T09P38/P///+PF1QBXXW0bIyu4vcDk7OzZ3+Dc4eLn7e72+fr9///uvssAuYCtpGl0zYeD2Ip70n1x13xy13du2XVs3Hpx52tzWcaFkyvPIw8AAAAASUVORK5CYII="}},39200:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-native.9ad7a23.640.png 640w,"+s.p+"assets/ideal-img/react-native.02f5343.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/react-native.9ad7a23.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/react-native.02f5343.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/react-native.9ad7a23.640.png",toString:function(){return s.p+"assets/ideal-img/react-native.9ad7a23.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AGaqwXuXqIWWqoKSqoKEroN1rYF2rXVzq32Jt22MwAC/0drp4uDF0NSpvcS+0dTI3N6909nQ3N789+++0eQA0+Dp///90urysdjlttrmuN3rpsXg0+Xw////ztPoANTc5vv5+PTy8ejk5O3p6fn19fz39f36+f///+PG1QDZ3Of09/bv8/Xq7/Hz+Pr0+vv0+vz5/Pz9///uvssA1p3J05eh1Y+L1IN22YN32X9023px3Hhv23pw52pzwqeO97QIzhcAAAAASUVORK5CYII="}},2921:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/figma.e023b25.640.png 640w,"+s.p+"assets/ideal-img/figma.4b79b06.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/figma.e023b25.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/figma.4b79b06.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/figma.e023b25.640.png",toString:function(){return s.p+"assets/ideal-img/figma.e023b25.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AHCswX+aqIearISVrH6Cq4F3rn93r3V1rG54pmeFuQDC09zu6ebp5+fl5OTo6OXu7+rx8ezr7Ojz7+e8zuEA0d7o///++fn65+fo9fX1+Pj5+Pj5/Pz9////0NToANXd5/z6+Pf39+Xk4+Ph5ePi5urp6vv5+f///+PF1QDe4ez////z+Pnf4+rg5O7m6/Hr8fP5/Pz9///uvssA157K1pqk2ZOO1YN50nxz1Xtw2Hdu3Hdv3Hpw52pyiw2SNplStDwAAAAASUVORK5CYII="}},18891:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/gulp.645374a.640.png 640w,"+s.p+"assets/ideal-img/gulp.f298c97.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/gulp.645374a.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/gulp.f298c97.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/gulp.645374a.640.png",toString:function(){return s.p+"assets/ideal-img/gulp.645374a.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AJG2zL6ls8OmuMGiubuLs7x9tLd7s7F+taR/rIeGugDU3eb/8/D97+7/8e/97en45N/76eX57On/6+PBx9oA0N/o8fPz7fDy7fDx8fT1/P7++fT189/i////ztLmANHY4u/r6vDu7+/t7fXz8//+/vrt7vXY2v///+PE1QDg4+7////9/v7+///8/v729/j3+/v2+fr4///ru8gA153J1pqj25SQ2ol82IF12X5z2npw3Hdu3Hpw52py1S6WZvfndWMAAAAASUVORK5CYII="}},68429:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/iota.95754da.640.png 640w,"+s.p+"assets/ideal-img/iota.117672c.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/iota.95754da.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/iota.117672c.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/iota.95754da.640.png",toString:function(){return s.p+"assets/ideal-img/iota.95754da.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AFOYtVZ2j111kl1zlFpilVtVl09LjkhLjEJSi05uqgA0TWYSGC8lLkQTGzELFy0IFCknOEsoOk4FDSAmQmUAO1BoGyU7NURYHTJIEh83DBQsZJGpbJeuBQ8lSUZpAEBPZwYRJw8qPRVDUwwWLR4sQUpvkUhoihAhNFQxUQA7Rl8ABx0DESgADSUCEigNHjQRJkIVJ0MAGCxJITwAs3uqnWNypmNjpFZOpVJKo0xFoUI8pEE8oUJAxEhVk18yaV+3uG0AAAAASUVORK5CYII="}},67304:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/lacework.dfc8aa5.640.png 640w,"+s.p+"assets/ideal-img/lacework.33303f9.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/lacework.dfc8aa5.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/lacework.33303f9.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/lacework.dfc8aa5.640.png",toString:function(){return s.p+"assets/ideal-img/lacework.dfc8aa5.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AIzU7rnd78Te8cHa8b7I87+69ri19ayx8qCy7oao5wCd1eWz3eO94OTI5eXM6/K43/+bw/6Bqfxji/xTgOoAt93q1/b53PX65fr83/T7zuT8vdT8rMT6nrj/hpzmAN3k7vTw8PLw8Pv6+vHv8P/+/Pn29fXw7P///uTH1gDe4ezx9/bx9vj2+/zw9vj3/f7x9/nq7/Pz///pu8kA153J0JWf1pCN2IZ60ntv1ntw13dt1G9n13Vr52pzffeTuLcnN78AAAAASUVORK5CYII="}},31929:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-navigation.1b40364.640.png 640w,"+s.p+"assets/ideal-img/react-navigation.a6b28c6.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/react-navigation.1b40364.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/react-navigation.a6b28c6.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/react-navigation.1b40364.640.png",toString:function(){return s.p+"assets/ideal-img/react-navigation.1b40364.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AJna8c3n9tLl99Hh+c3Q+czC+cjA+L+/9bfC8JWz6QDN3u728Pjw7/j29Pz19fv09fr29/zz8/n69vjC1O4Aydfr3dzu2Nrp19fkzc7gzs/g29znxMXitbbevsTiAMzU6c/O7NHR5+Xk7c/O3aWkt+bl7bOy2Kyx29W30wDKzujQ1fHR1vHb4PXZ3/LT1+za4PXP1O/R4Pnaq8gA0pjHz5Oi1I6P1YR71H901Xtz1HNv1XFu1HNv4mVyADiS2eC63VAAAAAASUVORK5CYII="}},51609:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sap-cloud.f57d7fa.640.png 640w,"+s.p+"assets/ideal-img/sap-cloud.312bf29.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/sap-cloud.f57d7fa.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/sap-cloud.312bf29.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/sap-cloud.f57d7fa.640.png",toString:function(){return s.p+"assets/ideal-img/sap-cloud.f57d7fa.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AJjT3Mzc1NLa1tDW2M7F186318i12MG217q50Zas1ADUrU3/pgD8pwv+rBD/uC//uTD/rxH9rQ3/rQDHokwA2bRi/7Ie/bkx/7Yq9rxT9rtS/7Yt/bUx/7QezqJbANzk7P///8XHyN7g4f//+f///dLPyNzZz////+PF1ADf4+7////N2NzW5Ob7///5/v/U3dTV2sr6///uvssA153K0JWe15CK14R2035y1Hlu1HRs1nJr13Vr52pyn7CEdE5qo0kAAAAASUVORK5CYII="}},65020:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/snapchat.5f28663.640.png 640w,"+s.p+"assets/ideal-img/snapchat.39e00a7.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/snapchat.5f28663.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/snapchat.39e00a7.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/snapchat.5f28663.640.png",toString:function(){return s.p+"assets/ideal-img/snapchat.5f28663.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AHGztIijj5GjlYydlIqNkYqAk4Z9lYCAlnJ9iGiGpQDQ2Er96gDz5wP26QDv5RHw5xD47QD26wP/7wDAykgAr7dRwbcEvrcSwLYLvLMWurQWv7gQv7cQxLsFpqZLAD9IY19YEVtVGxUiNy0oMDQ0LTA+PxwZIhkeI1E0SgBITFs2OB44OiggLC8mLSovLSwoLSskKSwbKytaLDkAuH2ppGl3q2ZlrlxPqlRJqE9Fq0pDsk1ErkxDx0pT21lMrI2uNt0AAAAASUVORK5CYII="}},73959:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/solana.8bcac78.640.png 640w,"+s.p+"assets/ideal-img/solana.e7c1e4f.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/solana.8bcac78.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/solana.e7c1e4f.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/solana.8bcac78.640.png",toString:function(){return s.p+"assets/ideal-img/solana.8bcac78.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AJfa783n9dXo+c/g9szP98zB98i/98C+9LfC7pa06QDS5e3+/Pj7+/r8/Pr2+vX7/vr8/fr2+/b///vH2e4A1eLs9Pb08fT09PX26/Dw9vb38vL06/Dx/f38zNHlAN3l7v////z+/v7+//3+/v////7//v39/f///+PG1wCcoKuWmZiVmZqWm5yXm5yVmZqWm5yWmZuRnp2qfIgAsXejmF1noFlUolBDnkk8nUM4oUA3oj41njwywENMFZ6NFBzee74AAAAASUVORK5CYII="}},85334:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/stackblitz.3a585ac.640.png 640w,"+s.p+"assets/ideal-img/stackblitz.786829d.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/stackblitz.3a585ac.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/stackblitz.786829d.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/stackblitz.3a585ac.640.png",toString:function(){return s.p+"assets/ideal-img/stackblitz.3a585ac.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AGmswn6ZqIibrISUq4CDrH90qntyqXNzqGl1omaEuADK2+Tx6+ns6unv7evr6+j4+fT5+vXz8/D//fW+z+IA2ebv/v37+Pr79v7/8vX3ysrMv8DDur3B0tbXzdLmAN3m7////fj5+ff//9bv9SEmKwUIDgYNFR0sM9W5yQDLz9nd4uDZ3d7a4ePE1txxen5kbHBka29oeXnRpLEAv4azsHR/uHJuuGdbuGFUwWdbxGNaxmFZw2JY0FRd0wl8G5D7uNgAAAAASUVORK5CYII="}},49443:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/supabase.e96fd5f.640.png 640w,"+s.p+"assets/ideal-img/supabase.f37ca60.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/supabase.e96fd5f.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/supabase.f37ca60.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/supabase.e96fd5f.640.png",toString:function(){return s.p+"assets/ideal-img/supabase.e96fd5f.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AFibsGF8iWx/kGd4jmFljWFWjFxUjFhYjU5ZhVRypgBGWGAXEg4jIiEnJiQcHBgZGhUaGhUcHRkZFQ0yRFcAUV5nHx0cKiorLS0tKSkqJyYoKSgpKCgqHx4cPkNXAFdfaB8dGywsLDIxMS0rKyknJzEvLzAuLyMmI1Y4SABVWWMTFxUiJicnLC0hJicdIiMlKywkKCkTISBbLTkAuX+so2dxqmVgqllMp1FFp01Cqkk/rEc+qEY9xkpSZqAv5L+d0r8AAAAASUVORK5CYII="}},83355:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/tauri.7d284be.640.png 640w,"+s.p+"assets/ideal-img/tauri.4852075.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/tauri.7d284be.640.png",width:640,height:356},{path:s.p+"assets/ideal-img/tauri.4852075.1030.png",width:1030,height:573}],src:s.p+"assets/ideal-img/tauri.7d284be.640.png",toString:function(){return s.p+"assets/ideal-img/tauri.7d284be.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AFucsWV/jXCCk2h4kGBljmFXjl9Yk1tbkVBbiFV0qgBFWWMTEhIYGxwuLyQ4ODM0NzMuKhoxNjczNDI5SFcAQ1lmSkM2UUxELTk4S0pKR0hLPzcnQEpYPUpbR0dSAEhWY0ZEOE1HPh4fJTc4PDQ0NyIkKSomIyYmG1w9SwBNUl0PHB4YIicaHyEwNjg0Oz0YHiAkKCcaJyFbLTkAtXypqGt0rWZirVxPpVBDqE1CrExCrUlAqEc+xUlStsQ1Jd2lGVkAAAAASUVORK5CYII="}},54208:function(e,t,s){"use strict";s.d(t,{Z:()=>a});var i=s(67294),n=function(){return(n=Object.assign||function(e){for(var t,s=1,i=arguments.length;s<i;s++)for(var n in t=arguments[s])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},a=i.forwardRef(function(e,t){var s=i.useState(!1),a=s[0],r=s[1],o=i.useState(!1),l=o[0],c=o[1],d=encodeURIComponent(e.id),h="string"==typeof e.playlistCoverId?encodeURIComponent(e.playlistCoverId):null,u=e.title,p=e.poster||"hqdefault",g="&".concat(e.params)||"",A=e.muted?"&mute=1":"",m=e.announce||"Watch",f=e.webp?"webp":"jpg",w=e.webp?"vi_webp":"vi",x=e.thumbnail||(e.playlist?"https://i.ytimg.com/".concat(w,"/").concat(h,"/").concat(p,".").concat(f):"https://i.ytimg.com/".concat(w,"/").concat(d,"/").concat(p,".").concat(f)),b=e.noCookie?"https://www.youtube-nocookie.com":"https://www.youtube.com";b=e.cookie?"https://www.youtube.com":"https://www.youtube-nocookie.com";var j=e.playlist?"".concat(b,"/embed/videoseries?autoplay=1").concat(A,"&list=").concat(d).concat(g):"".concat(b,"/embed/").concat(d,"?autoplay=1&state=1").concat(A).concat(g),v=e.activatedClass||"lyt-activated",y=e.adNetwork||!1,k=e.aspectHeight||9,S=e.aspectWidth||16,I=e.iframeClass||"",D=e.playerClass||"lty-playbtn",B=e.wrapperClass||"yt-lite",C=e.onIframeAdded||function(){},E=e.rel?"prefetch":"preload",U=e.containerElement||"article";return i.useEffect(function(){l&&C()},[l]),i.createElement(i.Fragment,null,i.createElement("link",{rel:E,href:x,as:"image"}),i.createElement(i.Fragment,null,a&&i.createElement(i.Fragment,null,i.createElement("link",{rel:"preconnect",href:b}),i.createElement("link",{rel:"preconnect",href:"https://www.google.com"}),y&&i.createElement(i.Fragment,null,i.createElement("link",{rel:"preconnect",href:"https://static.doubleclick.net"}),i.createElement("link",{rel:"preconnect",href:"https://googleads.g.doubleclick.net"})))),i.createElement(U,{onPointerOver:function(){a||r(!0)},onClick:function(){l||c(!0)},className:"".concat(B," ").concat(l?v:""),"data-title":u,style:n({backgroundImage:"url(".concat(x,")")},{"--aspect-ratio":"".concat(k/S*100,"%")})},i.createElement("button",{type:"button",className:D,"aria-label":"".concat(m," ").concat(u)}),l&&i.createElement("iframe",{ref:t,className:I,title:u,width:"560",height:"315",frameBorder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,src:j})))})},11037:function(e,t,s){"use strict";s.d(t,{Z:()=>ee});var i=s(85893),n=s(67294),a=s(77827);function r(e,t,s,i){return e.addEventListener(t,s,i),()=>e.removeEventListener(t,s,i)}function o(e){return"undefined"!=typeof window?(0,i.jsx)(l,{...e,children:e.children}):e.children}class l extends n.Component{static defaultProps={topOffset:0,bottomOffset:0,onEnter(){},onLeave(){}};scrollableAncestor;previousPosition=null;unsubscribe;innerRef=(0,n.createRef)();componentDidMount(){var e;let t;this.scrollableAncestor=function(e){let t=e;for(;t.parentNode&&(t=t.parentNode)!==document.body;){let e=window.getComputedStyle(t),s=e.getPropertyValue("overflow-y")||e.getPropertyValue("overflow");if("auto"===s||"scroll"===s||"overlay"===s)return t}return window}(this.innerRef.current);let s=r(this.scrollableAncestor,"scroll",this._handleScroll,{passive:!0}),i=r(window,"resize",this._handleScroll,{passive:!0}),n=(e=()=>{this._handleScroll()},t=!0,queueMicrotask(()=>{t&&e()}),()=>t=!1);this.unsubscribe=()=>{s(),i(),n()}}componentDidUpdate(){this._handleScroll()}componentWillUnmount(){this.unsubscribe?.()}_handleScroll=()=>{var e;let t=this.innerRef.current,{topOffset:s,bottomOffset:i,onEnter:n,onLeave:a}=this.props,r=(e=function(e){let t,s,{node:i,scrollableAncestor:n,topOffset:a,bottomOffset:r}=e,{top:o,bottom:l}=i.getBoundingClientRect();n===window?(t=window.innerHeight,s=0):(t=n.offsetHeight,s=n.getBoundingClientRect().top);let c=s+t;return{top:o,bottom:l,viewportTop:s+a,viewportBottom:c-r}}({node:t,scrollableAncestor:this.scrollableAncestor,topOffset:s,bottomOffset:i})).viewportBottom-e.viewportTop==0?"invisible":e.viewportTop<=e.top&&e.top<=e.viewportBottom||e.viewportTop<=e.bottom&&e.bottom<=e.viewportBottom||e.top<=e.viewportTop&&e.viewportBottom<=e.bottom?"inside":e.viewportBottom<e.top?"below":e.top<e.viewportTop?"above":"invisible",o=this.previousPosition;this.previousPosition=r,o!==r&&("inside"===r?n():"inside"===o&&a(),("below"===o&&"above"===r||"above"===o&&"below"===r)&&(n(),a()))};render(){return n.cloneElement(this.props.children,{innerRef:this.innerRef})}}function c(){let e;for(var t=arguments.length,s=Array(t),i=0;i<t;i++)s[i]=arguments[i];let n=[];for(let t of s)if(t instanceof Object)Object.assign(e||(e={}),t);else if(void 0===t||!1===t);else if("string"==typeof t)n.push(t);else throw Error(`Unexpected value ${t}`);return{className:n.length>1?n.join(" "):n[0],style:e}}let d="loading",h="loaded",u="error",p={load:"load",loading:d,loaded:h,error:u,noicon:"noicon",offline:"offline"},{load:g,loading:A,loaded:m,error:f,noicon:w,offline:x}=p;class b extends n.PureComponent{static defaultProps={iconColor:"#fff",iconSize:64};constructor(e){super(e),this.state={isMounted:!1}}componentDidMount(){this.setState({isMounted:!0}),this.props.onDimensions&&this.dimensionElement&&this.props.onDimensions({width:this.dimensionElement.clientWidth||this.dimensionElement.parentNode.clientWidth,height:this.dimensionElement.clientHeight||this.dimensionElement.parentNode.clientHeight})}renderIcon(e){let{icon:t,icons:s,iconColor:i,iconSize:a,theme:r}=e,o=s[t];if(!o)return null;let l=c({width:a+100,height:a,color:i},r.icon);return n.createElement("div",l,[n.createElement(o,{fill:i,size:a,key:"icon"}),n.createElement("br",{key:"br"}),this.props.message])}renderImage(e){return e.icon===m?(0,i.jsx)("img",{...c(e.theme.img),src:e.src,alt:e.alt,width:e.width,height:e.height}):(0,i.jsx)("svg",{...c(e.theme.img),width:e.width,height:e.height,ref:e=>this.dimensionElement=e})}renderNoscript(e){return this.state.isMounted?null:(0,i.jsx)("noscript",{children:(0,i.jsx)("img",{...c(e.theme.img,e.theme.noscript),src:e.nsSrc,srcSet:e.nsSrcSet,alt:e.alt,width:e.width,height:e.height})})}render(){let e,t=this.props,{placeholder:s,theme:n}=t;return e=t.icon===m?{}:s.lqip?{backgroundImage:`url("${s.lqip}")`}:{backgroundColor:s.color},(0,i.jsxs)("div",{...c(n.placeholder,e,t.style,t.className),onClick:this.props.onClick,onKeyPress:this.props.onClick,ref:this.props.innerRef,children:[this.renderImage(t),this.renderNoscript(t),this.renderIcon(t)]})}}class j{constructor(){this.signal={onabort:()=>{}},this.abort=()=>this.signal.onabort()}}let v=(e,t)=>(t=t||{},new Promise((s,i)=>{let n=new XMLHttpRequest;for(let s in n.open(t.method||"get",e,!0),t.headers)n.setRequestHeader(s,t.headers[s]);n.withCredentials="include"===t.credentials,n.onload=()=>{s(function e(){let t,s=[],i=[],a={};return n.getAllResponseHeaders().replace(/^(.*?):\s*?([\s\S]*?)$/gm,(e,n,r)=>{s.push(n=n.toLowerCase()),i.push([n,r]),t=a[n],a[n]=t?`${t},${r}`:r}),{ok:(n.status/100|0)==2,status:n.status,statusText:n.statusText,url:n.responseURL,clone:e,text:()=>Promise.resolve(n.responseText),json:()=>Promise.resolve(n.responseText).then(JSON.parse),blob:()=>Promise.resolve(new Blob([n.response])),headers:{keys:()=>s,entries:()=>i,get:e=>a[e.toLowerCase()],has:e=>e.toLowerCase()in a}}}())},n.onerror=i,t.signal&&(t.signal.onabort=()=>{n.onerror=n.onload=void 0,n.abort()}),n.send(t.body)})),y=(e,t)=>{if(!t)return e;let s=e.then(e=>e,e=>e);return s.cancel=()=>{e.cancel(),t.cancel()},s},k=e=>{let t,s=new Promise(s=>{t=setTimeout(s,e)});return s.cancel=()=>{clearTimeout(t),t=void 0},s},S=e=>{let t=new Image,s=new Promise((s,i)=>{t.onload=s,t.onabort=t.onerror=()=>i({}),t.src=e});return s.cancel=()=>{if(!t)throw Error("Already canceled");t.onload=t.onabort=t.onerror=void 0,t.src="",t=void 0},s},I=(e,t)=>{let s=new j,i=s.signal,n=new Promise((s,n)=>v(e,{...t,signal:i}).then(t=>{t.ok?t.blob().then(()=>S(e)).then(s):n({status:t.status})},n));return n.cancel=()=>{if(!s)throw Error("Already canceled");s.abort(),s=void 0},n},D="undefined"==typeof window||"ReactSnap"===window.navigator.userAgent,B=!D&&!!window.navigator.connection,C=(e,t)=>{let s;if(D)return 0;t||(t=window);let i=e.width,{screen:n}=t,a=n.width,r=n.height,{documentElement:o}=document,l=t.innerWidth||o.clientWidth,c=t.innerHeight||o.clientHeight,d=t.devicePixelRatio||1;if(a>l){let e=document.getElementsByTagName("body")[0],t=l-i;s=(e.clientHeight>c||e.clientHeight>r)&&t<=15?a-t:i/l*a}else s=i;return s*d},E=e=>{let t=["Bytes","KB","MB","GB","TB"];if(0===e)return"n/a";let s=parseInt(Math.floor(Math.log(e)/Math.log(1024)),10);return 0===s?`${e} ${t[s]}`:`${(e/1024**s).toFixed(1)} ${t[s]}`},U=(()=>{if(D)return!1;let e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))&&0===e.toDataURL("image/webp").indexOf("data:image/webp")})(),z=e=>"webp"===e.format||e.src&&e.src.match(/\.webp($|\?.*)/i),N=e=>{let t,s,{srcSet:i,maxImageWidth:n,supportsWebp:a}=e;if(0===i.length)throw Error("Need at least one item in srcSet");if(a)0===(t=i.filter(z)).length&&(t=i);else if(0===(t=i.filter(e=>!z(e))).length)throw Error("Need at least one supported format item in srcSet");let r=t.filter(e=>e.width>=n);return 0===r.length?(r=t,s=Math.max.apply(null,r.map(e=>e.width))):s=Math.min.apply(null,r.map(e=>e.width)),t.filter(e=>e.width===s)[0]},R=e=>{let{srcSet:t,getUrl:s}=e;if(!D)return{};let i=t.filter(e=>!z(e)),n=i[0];return{nsSrcSet:i.map(e=>`${s?s(e):e.src} ${e.width}w`).join(","),nsSrc:s?s(n):n.src,ssr:D}},{initial:O,loading:W,loaded:X,error:T}={initial:"initial",loading:d,loaded:h,error:u},V=e=>{let{connection:t,size:s,threshold:i,possiblySlowNetwork:n}=e;if(n)return!1;if(!t)return!0;let{downlink:a,rtt:r,effectiveType:o}=t;switch(o){case"slow-2g":case"2g":return!1;case"3g":if(a&&s&&i)return 8*s/(1e3*a)+r<i;return!1;default:return!0}},M=(e,t)=>{switch(e){case p.noicon:case p.loaded:return null;case p.loading:return"Loading...";case p.load:let{pickedSrc:s}=t,{size:n}=s;if(n)return["Click to load (",(0,i.jsx)("nobr",{children:E(n)},"nb"),")"];return"Click to load";case p.offline:return"Your browser is offline. Image not loaded";case p.error:let{loadInfo:a}=t;if(404===a)return"404. Image not found";return"Error. Click to reload";default:throw Error(`Wrong icon: ${e}`)}},P=e=>{let{loadState:t,onLine:s,overThreshold:i,userTriggered:n}=e;if(D)return p.noicon;switch(t){case X:return p.loaded;case W:return i?p.loading:p.noicon;case O:if(!s)return p.offline;{let{shouldAutoDownload:t}=e;if(void 0===t)return p.noicon;return n||!t?p.load:p.noicon}case T:return s?p.error:p.offline;default:throw Error(`Wrong state: ${t}`)}};class G extends n.Component{constructor(e){super(e),this.state={loadState:O,connection:B?{downlink:navigator.connection.downlink,rtt:navigator.connection.rtt,effectiveType:navigator.connection.effectiveType}:null,onLine:!0,overThreshold:!1,inViewport:!1,userTriggered:!1,possiblySlowNetwork:!1}}static defaultProps={shouldAutoDownload:V,getMessage:M,getIcon:P,loader:"xhr"};componentDidMount(){B?(this.updateConnection=()=>{navigator.onLine&&this.state.loadState===O&&this.setState({connection:{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}})},navigator.connection.addEventListener("onchange",this.updateConnection)):this.props.threshold&&(this.possiblySlowNetworkListener=e=>{if(this.state.loadState!==O)return;let{possiblySlowNetwork:t}=e.detail;!this.state.possiblySlowNetwork&&t&&this.setState({possiblySlowNetwork:t})},window.document.addEventListener("possiblySlowNetwork",this.possiblySlowNetworkListener)),this.updateOnlineStatus=()=>this.setState({onLine:navigator.onLine}),this.updateOnlineStatus(),window.addEventListener("online",this.updateOnlineStatus),window.addEventListener("offline",this.updateOnlineStatus)}componentWillUnmount(){this.clear(),B?navigator.connection.removeEventListener("onchange",this.updateConnection):this.props.threshold&&window.document.removeEventListener("possiblySlowNetwork",this.possiblySlowNetworkListener),window.removeEventListener("online",this.updateOnlineStatus),window.removeEventListener("offline",this.updateOnlineStatus)}onClick=()=>{let{loadState:e,onLine:t,overThreshold:s}=this.state;if(t)switch(e){case W:s&&this.cancel(!0);return;case X:return;case O:case T:this.load(!0);return;default:throw Error(`Wrong state: ${e}`)}};clear(){this.loader&&(this.loader.cancel(),this.loader=void 0)}cancel(e){W===this.state.loadState&&(this.clear(),this.loadStateChange(O,e))}loadStateChange(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.setState({loadState:e,overThreshold:!1,userTriggered:!!t,loadInfo:s})}load=e=>{let{loadState:t,url:s}=this.state;if(D||X===t||W===t)return;this.loadStateChange(W,e);let{threshold:i}=this.props,n="xhr"===this.props.loader?I(s):S(s);if(n.then(()=>{this.clear(),this.loadStateChange(X,!1)}).catch(e=>{this.clear(),404===e.status?this.loadStateChange(T,!1,404):this.loadStateChange(T,!1)}),i){let e=k(i);e.then(()=>{this.loader&&(window.document.dispatchEvent(new CustomEvent("possiblySlowNetwork",{detail:{possiblySlowNetwork:!0}})),this.setState({overThreshold:!0}),this.state.userTriggered||this.cancel(!0))}),this.loader=y(n,e)}else this.loader=n};onEnter=()=>{if(this.state.inViewport)return;this.setState({inViewport:!0});let e=N({srcSet:this.props.srcSet,maxImageWidth:this.props.srcSet.length>1?C(this.state.dimensions):0,supportsWebp:U}),{getUrl:t}=this.props,s=t?t(e):e.src,i=this.props.shouldAutoDownload({...this.state,size:e.size});this.setState({pickedSrc:e,shouldAutoDownload:i,url:s},()=>{i&&this.load(!1)})};onLeave=()=>{this.state.loadState!==W||this.state.userTriggered||(this.setState({inViewport:!1}),this.cancel(!1))};render(){let e=this.props.getIcon(this.state),t=this.props.getMessage(e,this.state);return(0,i.jsx)(o,{onEnter:this.onEnter,onLeave:this.onLeave,children:(0,i.jsx)(b,{...this.props,...R(this.props),onClick:this.onClick,icon:e,src:this.state.url||"",onDimensions:e=>this.setState({dimensions:e}),message:t})})}}let L=e=>{let{size:t=24,fill:s="#000",className:n,path:a}=e;return(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 24 24",className:n,children:[(0,i.jsx)("path",{d:"M0 0h24v24H0z",fill:"none"}),(0,i.jsx)("path",{fill:s,d:a})]})},{load:Q,loading:F,loaded:J,error:Z,noicon:H,offline:q}=p,Y={[Q]:e=>(0,i.jsx)(L,{...e,path:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-5 5-5-5h3V9h4v4h3z"}),[F]:e=>(0,i.jsx)(L,{...e,path:"M6,2V8H6V8L10,12L6,16V16H6V22H18V16H18V16L14,12L18,8V8H18V2H6M16,16.5V20H8V16.5L12,12.5L16,16.5M12,11.5L8,7.5V4H16V7.5L12,11.5Z"}),[J]:null,[Z]:e=>(0,i.jsx)(L,{...e,path:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}),[H]:null,[q]:e=>(0,i.jsx)(L,{...e,path:"M19.35 10.04C18.67 6.59 15.64 4 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46C10.21 6.23 11.08 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96zM3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73 4.27 4 3 5.27zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h1.73z"})},K={placeholder:{backgroundSize:"cover",backgroundRepeat:"no-repeat",position:"relative"},img:{width:"100%",height:"auto",maxWidth:"100%",marginBottom:"-4px"},icon:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",textAlign:"center"},noscript:{position:"absolute",top:0,left:0}},_=e=>{let{icons:t=Y,theme:s=K,...n}=e;return(0,i.jsx)(G,{...n,icons:t,theme:s})};function $(e,t){switch(e){case"noicon":case"loaded":return null;case"loading":return(0,a.I)({id:"theme.IdealImageMessage.loading",message:"Loading...",description:"When the full-scale image is loading"});case"load":{let{pickedSrc:e}=t,{size:s}=e,i=s?` (${function(e){let t=["B","KB","MB","GB","TB"];if(0===e)return"n/a";let s=Math.floor(Math.log(e)/Math.log(1024));return 0===s?`${e} ${t[s]}`:`${(e/1024**s).toFixed(1)} ${t[s]}`}(s)})`:"";return(0,a.I)({id:"theme.IdealImageMessage.load",message:"Click to load{sizeMessage}",description:"To prompt users to load the full image. sizeMessage is a parenthesized size figure."},{sizeMessage:i})}case"offline":return(0,a.I)({id:"theme.IdealImageMessage.offline",message:"Your browser is offline. Image not loaded",description:"When the user is viewing an offline document"});case"error":{let{loadInfo:e}=t;if(404===e)return(0,a.I)({id:"theme.IdealImageMessage.404error",message:"404. Image not found",description:"When the image is not found"});return(0,a.I)({id:"theme.IdealImageMessage.error",message:"Error. Click to reload",description:"When the image fails to load for unknown error"})}default:throw Error(`Wrong icon: ${e}`)}}function ee(e){let{img:t,...s}=e;return"string"==typeof t||"default"in t?(0,i.jsx)("img",{src:"string"==typeof t?t:t.default,...s}):(0,i.jsx)(_,{height:t.src.height??100,width:t.src.width??100,placeholder:{lqip:t.preSrc},src:t.src.src,srcSet:t.src.images.map(e=>({...e,src:e.path})),getMessage:$})}},85017:function(e,t,s){"use strict";s.d(t,{Gl:()=>h,qg:()=>u,cQ:()=>p});var i=s(85893),n=s(67294),a=s(90496),r=s(35363),o=s(11037);let l="navButton_qSul";function c(e){let{index:t,site:s}=e;return(0,i.jsxs)("div",{className:"cssCarouselContent_dGP2",children:[(0,i.jsx)(o.Z,{img:s.image,alt:s.name,loading:0===t?"eager":"lazy"}),(0,i.jsxs)(r.Z,{to:s.url,className:"siteLink_IglZ",target:"_blank",children:["\uD83D\uDD17 ",s.name]})]},t)}function d(e){let{sites:t,aspectRatio:s}=e,r=(0,n.useRef)(null),o=e=>{let t=r.current,s=t.offsetWidth;t.scrollBy({left:e?s:-s,behavior:"smooth"})};return(0,i.jsx)("div",{className:"cssCarousel_jWvs",style:{aspectRatio:s},children:(0,i.jsxs)("div",{ref:r,className:"cssCarouselSlider_nIAN",style:{aspectRatio:s},children:[t.map((e,t)=>(0,i.jsx)("div",{className:"cssCarouselItem_GXZ2",children:(0,i.jsx)(c,{index:t,site:e})},t)),(0,i.jsx)("button",{className:(0,a.Z)(l,"navButtonPrev_SxeT"),type:"button",onClick:()=>o(!1),children:"<"}),(0,i.jsx)("button",{className:(0,a.Z)(l,"navButtonNext_yu77"),type:"button",onClick:()=>o(!0),children:">"})]})})}function h(){return(0,i.jsx)(d,{aspectRatio:1072/584,sites:[{name:"Prettier",image:s(94e3),url:"https://prettier.io/"},{name:"Babel",image:s(19497),url:"https://babeljs.io/"},{name:"React-Native",image:s(87493),url:"https://archive.reactnative.dev/"},{name:"Katex",image:s(94486),url:"https://katex.org/docs/"},{name:"Docusaurus",image:s(30677),url:"https://v1.docusaurus.io/"}]})}function u(){return(0,i.jsx)(d,{aspectRatio:2148/1194,sites:[{name:"Tauri",image:s(83355),url:"https://tauri.app/"},{name:"Figma",image:s(2921),url:"https://www.figma.com/plugin-docs/"},{name:"Snapchat",image:s(65020),url:"https://docs.snap.com/"},{name:"Iota",image:s(68429),url:"https://wiki.iota.org/"},{name:"SAP Cloud",image:s(51609),url:"https://sap.github.io/cloud-sdk/"},{name:"Supabase",image:s(49443),url:"https://supabase.com/docs"},{name:"StackBlitz",image:s(85334),url:"https://developer.stackblitz.com/"},{name:"Lacework",image:s(67304),url:"https://docs.lacework.com/"},{name:"React-Navigation",image:s(31929),url:"https://reactnavigation.org/"},{name:"Solana",image:s(73959),url:"https://docs.solana.com/"},{name:"Gulp",image:s(18891),url:"https://gulpjs.com/"}]})}function p(){return(0,i.jsx)(d,{aspectRatio:2148/1194,sites:[{name:"Ionic",image:s(26220),url:"https://ionicframework.com/docs/"},{name:"Outerbounds",image:s(73157),url:"https://outerbounds.com/docs/"},{name:"Courier",image:s(92867),url:"https://www.courier.com/docs/"},{name:"Quickwit",image:s(23739),url:"https://quickwit.io/docs/"},{name:"Dyte",image:s(90765),url:"https://docs.dyte.io/"},{name:"React-Native",image:s(39200),url:"https://reactnative.dev/"},{name:"Hasura",image:s(12101),url:"https://hasura.io/docs/"},{name:"Datagit",image:s(27601),url:"https://www.datagit.ir/"}]})}},14522:function(e,t,s){"use strict";s.d(t,{Z:()=>o});var i=s(85893);s(67294);var n=s(90496);let a="dot_giz1",r="bar_rrRL";function o(e){let{children:t,minHeight:s,url:o="http://localhost:3000",style:l,bodyStyle:c}=e;return(0,i.jsxs)("div",{className:"browserWindow_my1Q",style:{...l,minHeight:s},children:[(0,i.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,i.jsxs)("div",{className:"buttons_uHc7",children:[(0,i.jsx)("span",{className:a,style:{background:"#f25f58"}}),(0,i.jsx)("span",{className:a,style:{background:"#fbbe3c"}}),(0,i.jsx)("span",{className:a,style:{background:"#58cb42"}})]}),(0,i.jsx)("div",{className:(0,n.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:o}),(0,i.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{className:r}),(0,i.jsx)("span",{className:r}),(0,i.jsx)("span",{className:r})]})})]}),(0,i.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:t})]})}},85486:function(e,t,s){"use strict";s.d(t,{Z:()=>a});var i=s(85893);s(67294);var n=s(35363);function a(e){let{size:t=54}=e;return(0,i.jsx)(n.Z,{to:"https://news.ycombinator.com/item?id=32303052",style:{display:"block",width:t,height:t},children:(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:t,height:t,children:[(0,i.jsx)("path",{fill:"#FF6D00",d:"M42 42H6V6h36v36z"}),(0,i.jsx)("path",{fill:"#FFF",d:"M8 8v32h32V8H8zm30 30H10V10h28v28z"}),(0,i.jsx)("path",{fill:"#FFF",d:"M23 32h2v-6l5.5-10h-2.1L24 24.1 19.6 16h-2.1L23 26z"})]})})}},22097:function(e,t,s){"use strict";s.d(t,{Z:()=>r});var i=s(85893);s(67294);var n=s(90496),a=s(35363);function r(e){let{className:t,style:s}=e;return(0,i.jsx)(a.Z,{to:"https://www.producthunt.com/posts/docusaurus-2-0?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-docusaurus-2-0",className:(0,n.Z)("producthunt-badge-widget",t),style:{display:"block",width:250,height:54,...s},children:(0,i.jsx)("img",{className:"producthunt-badge-widget",src:"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=353916&theme=light",alt:"Docusaurus 2.0 - Build optimized websites quickly, focus on your content. | Product Hunt",style:{width:250,height:54,maxWidth:"initial"},width:250,height:54})})}},80980:function(e,t,s){"use strict";s.d(t,{Z:()=>o,a:()=>r});var i=s(67294);let n={},a=i.createContext(n);function r(e){let t=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(a.Provider,{value:t},e.children)}},11601:function(e){"use strict";e.exports=JSON.parse('{"permalink":"/blog/2022/08/01/announcing-docusaurus-2.0","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2022/08-01-announcing-docusaurus-2.0/index.mdx","source":"@site/blog/2022/08-01-announcing-docusaurus-2.0/index.mdx","title":"Announcing Docusaurus 2.0","description":"Today we are extremely happy to finally announce Docusaurus 2.0! \uD83E\uDD73\uFE0F","date":"2022-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":12.075,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Joshua Chen","title":"Working hard on Docusaurus","url":"https://joshcena.com/","email":"sidachen2003@gmail.com","page":{"permalink":"/blog/authors/josh-cena"},"imageURL":"https://github.com/josh-cena.png","key":"Josh-Cena"},{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"},{"name":"Alexey Pyltsyn","title":"Open-source enthusiast","url":"https://github.com/lex111","email":"lex@php.net","page":{"permalink":"/blog/authors/lex-111"},"imageURL":"https://github.com/lex111.png","key":"lex111"},{"name":"Paul O\u2019Shannessy","title":"Engineering Manager at Meta","url":"https://x.com/zpao","page":{"permalink":"/blog/authors/zpao"},"socials":{"x":"https://x.com/zpao","github":"https://github.com/zpao"},"imageURL":"https://github.com/zpao.png","key":"zpao"},{"name":"Joel Marcey","title":"Co-creator of Docusaurus 1","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Announcing Docusaurus 2.0","authors":["slorber","Josh-Cena","yangshun","lex111","zpao",{"key":"JMarcey","title":"Co-creator of Docusaurus 1"}],"tags":["release"],"image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1744375459000,"lastUpdatedBy":"S\xe9bastien Lorber","prevItem":{"title":"Docusaurus 2.1","permalink":"/blog/2022/09/01/docusaurus-2.1"},"nextItem":{"title":"Docusaurus 2021 Recap","permalink":"/blog/2022/01/24/docusaurus-2021-recap"}}')}}]);