1:"$Sreact.fragment" 2:I[1478,["545","static/chunks/c16f53c3-5b47b7f1ae12d8f6.js","874","static/chunks/874-efe6736574b279d5.js","768","static/chunks/768-c6008bfbf640a278.js","504","static/chunks/504-a0a4db25bcf4ca38.js","177","static/chunks/app/layout-d5498033162812f9.js"],"ThemeProviders"] 3:I[9243,["545","static/chunks/c16f53c3-5b47b7f1ae12d8f6.js","874","static/chunks/874-efe6736574b279d5.js","768","static/chunks/768-c6008bfbf640a278.js","504","static/chunks/504-a0a4db25bcf4ca38.js","177","static/chunks/app/layout-d5498033162812f9.js"],""] 4:I[7392,["545","static/chunks/c16f53c3-5b47b7f1ae12d8f6.js","874","static/chunks/874-efe6736574b279d5.js","768","static/chunks/768-c6008bfbf640a278.js","504","static/chunks/504-a0a4db25bcf4ca38.js","177","static/chunks/app/layout-d5498033162812f9.js"],"KBarSearchProvider"] 5:I[6874,["874","static/chunks/874-efe6736574b279d5.js","63","static/chunks/63-cc4af6db38b88fdc.js","909","static/chunks/app/blog/%5B...slug%5D/page-739363f7539431ce.js"],""] 6:I[6322,["545","static/chunks/c16f53c3-5b47b7f1ae12d8f6.js","874","static/chunks/874-efe6736574b279d5.js","768","static/chunks/768-c6008bfbf640a278.js","504","static/chunks/504-a0a4db25bcf4ca38.js","177","static/chunks/app/layout-d5498033162812f9.js"],"default"] 7:I[4159,["545","static/chunks/c16f53c3-5b47b7f1ae12d8f6.js","874","static/chunks/874-efe6736574b279d5.js","768","static/chunks/768-c6008bfbf640a278.js","504","static/chunks/504-a0a4db25bcf4ca38.js","177","static/chunks/app/layout-d5498033162812f9.js"],"KBarButton"] 8:I[1762,["545","static/chunks/c16f53c3-5b47b7f1ae12d8f6.js","874","static/chunks/874-efe6736574b279d5.js","768","static/chunks/768-c6008bfbf640a278.js","504","static/chunks/504-a0a4db25bcf4ca38.js","177","static/chunks/app/layout-d5498033162812f9.js"],"default"] 9:I[2692,["545","static/chunks/c16f53c3-5b47b7f1ae12d8f6.js","874","static/chunks/874-efe6736574b279d5.js","768","static/chunks/768-c6008bfbf640a278.js","504","static/chunks/504-a0a4db25bcf4ca38.js","177","static/chunks/app/layout-d5498033162812f9.js"],"default"] a:I[7555,[],""] b:I[1295,[],""] d:I[9665,[],"OutletBoundary"] 10:I[9665,[],"ViewportBoundary"] 12:I[9665,[],"MetadataBoundary"] 14:I[6614,[],""] :HL["/_next/static/media/7cba1811e3c25a15-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/css/9be69a079df6f545.css","style"] :HL["/_next/static/css/1fc26ab6e29d1d13.css","style"] :HL["/_next/static/css/7246298b30c42979.css","style"] 0:{"P":null,"b":"ZcYmhag92068i8wJuhHoR","p":"","c":["","blog","guide-to-using-images-in-nextjs"],"i":false,"f":[[["",{"children":["blog",{"children":[["slug","guide-to-using-images-in-nextjs","c"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/9be69a079df6f545.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/1fc26ab6e29d1d13.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en-us","className":"__variable_bc0dcf scroll-smooth","suppressHydrationWarning":true,"children":[["$","link",null,{"rel":"apple-touch-icon","sizes":"76x76","href":"/static/favicons/apple-touch-icon.png"}],["$","link",null,{"rel":"icon","type":"image/png","sizes":"32x32","href":"/static/favicons/favicon-32x32.png"}],["$","link",null,{"rel":"icon","type":"image/png","sizes":"16x16","href":"/static/favicons/favicon-16x16.png"}],["$","link",null,{"rel":"manifest","href":"/static/favicons/site.webmanifest"}],["$","link",null,{"rel":"mask-icon","href":"/static/favicons/safari-pinned-tab.svg","color":"#5bbad5"}],["$","meta",null,{"name":"msapplication-TileColor","content":"#000000"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"#fff"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"#000"}],["$","link",null,{"rel":"alternate","type":"application/rss+xml","href":"/feed.xml"}],["$","body",null,{"className":"bg-white pl-[calc(100vw-100%)] text-black antialiased dark:bg-gray-950 dark:text-white","children":["$","$L2",null,{"children":[["$undefined","$undefined","$undefined",["$","$L3",null,{"async":true,"defer":true,"src":"https://analytics.umami.is/script.js"}],"$undefined","$undefined"],["$","section",null,{"className":"mx-auto max-w-3xl px-4 sm:px-6 xl:max-w-5xl xl:px-0","children":[["$","$L4",null,{"kbarConfig":{"searchDocumentsPath":"/search.json"},"children":[["$","header",null,{"className":"flex items-center w-full bg-white dark:bg-gray-950 justify-between py-10","children":[["$","$L5",null,{"className":"break-words","href":"/","aria-label":"PromptLab","children":["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"mr-3","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","xmlnsXlink":"http://www.w3.org/1999/xlink","width":53.87,"height":43.61,"viewBox":"344.564 330.278 111.737 91.218","children":[["$","defs",null,{"children":[["$","linearGradient",null,{"id":"logo_svg__b","x1":420.97,"x2":420.97,"y1":331.28,"y2":418.5,"gradientUnits":"userSpaceOnUse","children":[["$","stop",null,{"offset":"0%","style":{"stopColor":"#06b6d4","stopOpacity":1}}],["$","stop",null,{"offset":"100%","style":{"stopColor":"#67e8f9","stopOpacity":1}}]]}],["$","linearGradient",null,{"id":"logo_svg__d","x1":377.89,"x2":377.89,"y1":331.28,"y2":418.5,"gradientUnits":"userSpaceOnUse","children":[["$","stop",null,{"offset":"0%","style":{"stopColor":"#06b6d4","stopOpacity":1}}],["$","stop",null,{"offset":"100%","style":{"stopColor":"#67e8f9","stopOpacity":1}}]]}],["$","path",null,{"id":"logo_svg__a","d":"M453.3 331.28v28.57l-64.66 58.65v-30.08z"}],["$","path",null,{"id":"logo_svg__c","d":"M410.23 331.28v28.57l-64.67 58.65v-30.08z"}]]}],["$","use",null,{"xlinkHref":"#logo_svg__a","fill":"url(#logo_svg__b)"}],["$","use",null,{"xlinkHref":"#logo_svg__c","fill":"url(#logo_svg__d)"}]]}]}],["$","div",null,{"className":"hidden h-6 text-2xl font-semibold sm:block","children":"PromptLab"}]]}]}],["$","div",null,{"className":"flex items-center space-x-4 leading-5 sm:-mr-6 sm:space-x-6","children":[["$","div",null,{"className":"no-scrollbar hidden max-w-40 items-center gap-x-4 overflow-x-auto sm:flex md:max-w-72 lg:max-w-96","children":[["$","$L5","Blog",{"className":"hover:text-primary-500 dark:hover:text-primary-400 m-1 font-medium text-gray-900 dark:text-gray-100","href":"/blog","children":"Blog"}],["$","$L5","Tags",{"className":"hover:text-primary-500 dark:hover:text-primary-400 m-1 font-medium text-gray-900 dark:text-gray-100","href":"/tags","children":"Tags"}],["$","$L5","Projects",{"className":"hover:text-primary-500 dark:hover:text-primary-400 m-1 font-medium text-gray-900 dark:text-gray-100","href":"/projects","children":"Projects"}],["$","$L5","About",{"className":"hover:text-primary-500 dark:hover:text-primary-400 m-1 font-medium text-gray-900 dark:text-gray-100","href":"/about","children":"About"}]]}],["$","$L6",null,{"courses":[{"id":"js-101","title":"JavaScript Basics","modules":[{"id":"module-1","title":"JavaScript Fundamentals","topics":[{"id":"topic-1","title":"Introduction to JavaScript","slug":"javascript-basics/intro","order":1},{"id":"topic-2","title":"Variables and Data Types","slug":"javascript-basics/variables","order":2}]},{"id":"module-2","title":"DOM Manipulation","topics":[{"id":"topic-1","title":"Introduction to DOM","slug":"javascript-basics/dom/intro-to-dom","order":1},{"id":"topic-2","title":"DOM Events","slug":"javascript-basics/dom/events","order":2}]}]},{"id":"ai-agents-101","title":"Building AI Agents & Workflows","modules":[{"id":"module-1","title":"Introduction & Motivation","topics":[{"id":"topic-1","title":"What Are AI Agents?","slug":"ai-agents-workflows/intro","order":1},{"id":"topic-2","title":"Why Build on Existing LLMs?","slug":"ai-agents-workflows/why-build-on-llms","order":2}]},{"id":"module-2","title":"Core Concepts in Prompting","topics":[{"id":"topic-1","title":"Anatomy of a Prompt","slug":"ai-agents-workflows/prompting/anatomy-of-prompt","order":1},{"id":"topic-2","title":"Prompt Styles","slug":"ai-agents-workflows/prompting/prompt-styles","order":2},{"id":"topic-3","title":"Advanced Techniques","slug":"ai-agents-workflows/prompting/advanced-techniques","order":3}]},{"id":"module-3","title":"Retrieval & RAG Theory","topics":[{"id":"topic-1","title":"What Are Embeddings?","slug":"ai-agents-workflows/retrieval/what-are-embeddings","order":1},{"id":"topic-2","title":"Vector Stores and Indexing Strategies","slug":"ai-agents-workflows/retrieval/vector-stores","order":2},{"id":"topic-3","title":"RAG Pipeline","slug":"ai-agents-workflows/retrieval/rag-pipeline","order":3}]},{"id":"module-5","title":"AI Workflows & Orchestration","topics":[{"id":"topic-1","title":"Chaining vs. Orchestrating vs. Scheduling Tasks","slug":"ai-agents-workflows/workflows/chaining-orchestration","order":1},{"id":"topic-2","title":"MLOps for LLM-Based Pipelines","slug":"ai-agents-workflows/workflows/mlops-overview","order":2},{"id":"topic-3","title":"Monitoring & Evaluation Metrics","slug":"ai-agents-workflows/workflows/monitoring-evaluation","order":3}]},{"id":"module-4","title":"Agent Architectures","topics":[{"id":"topic-1","title":"Agent Loop","slug":"ai-agents-workflows/architectures/agent-loop","order":1},{"id":"topic-2","title":"Tools & Tool-Calling Concepts","slug":"ai-agents-workflows/architectures/tools-tool-calling","order":2},{"id":"topic-3","title":"Memory Models","slug":"ai-agents-workflows/architectures/memory-models","order":3}]}]},{"id":"react-101","title":"React Fundamentals","modules":[{"id":"module-2","title":"React Components","topics":[{"id":"topic-1","title":"Understanding React Components","slug":"react-fundamentals/components","order":2},{"id":"topic-2","title":"React Hooks","slug":"react-fundamentals/hooks","order":3}]},{"id":"module-1","title":"Getting Started with React","topics":[{"id":"topic-1","title":"Introduction to React","slug":"react-fundamentals/intro","order":1}]}]}],"firstTopicSlugs":{"js-101":"javascript-basics/intro","ai-agents-101":"ai-agents-workflows/intro","react-101":"react-fundamentals/components"}}],["$","$L7",null,{"aria-label":"Search","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","fill":"none","viewBox":"0 0 24 24","strokeWidth":1.5,"stroke":"currentColor","className":"hover:text-primary-500 dark:hover:text-primary-400 h-6 w-6 text-gray-900 dark:text-gray-100","children":["$","path",null,{"strokeLinecap":"round","strokeLinejoin":"round","d":"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"}]}]}],["$","$L8",null,{}],["$","$L9",null,{}]]}]]}],["$","main",null,{"className":"mb-auto","children":["$","$La",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lb",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","div",null,{"className":"flex flex-col items-start justify-start md:mt-24 md:flex-row md:items-center md:justify-center md:space-x-6","children":[["$","div",null,{"className":"space-x-2 pt-6 pb-8 md:space-y-5","children":["$","h1",null,{"className":"text-6xl leading-9 font-extrabold tracking-tight text-gray-900 md:border-r-2 md:px-6 md:text-8xl md:leading-14 dark:text-gray-100","children":"404"}]}],["$","div",null,{"className":"max-w-md","children":[["$","p",null,{"className":"mb-4 text-xl leading-normal font-bold md:text-2xl","children":"Sorry we couldn't find this page."}],["$","p",null,{"className":"mb-8","children":"But dont worry, you can find plenty of other things on our homepage."}],["$","$L5",null,{"className":"focus:shadow-outline-blue inline rounded-lg border border-transparent bg-blue-600 px-4 py-2 text-sm leading-5 font-medium text-white shadow-xs transition-colors duration-150 hover:bg-blue-700 focus:outline-hidden dark:hover:bg-blue-500","href":"/","children":"Back to homepage"}]]}]]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}],["$","footer",null,{"children":["$","div",null,{"className":"mt-16 flex flex-col items-center","children":[["$","div",null,{"className":"mb-3 flex space-x-4","children":[["$","a",null,{"className":"text-sm text-gray-500 transition hover:text-gray-600","target":"_blank","rel":"noopener noreferrer","href":"mailto:naumanajmal78@gmail.com","children":[["$","span",null,{"className":"sr-only","children":"mail"}],["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 20 20","className":"hover:text-primary-500 dark:hover:text-primary-400 fill-current text-gray-700 dark:text-gray-200 h-6 w-6","children":[["$","title",null,{"children":"Mail"}],["$","path",null,{"d":"M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z"}],["$","path",null,{"d":"M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z"}]]}]]}],null,null,null,["$","a",null,{"className":"text-sm text-gray-500 transition hover:text-gray-600","target":"_blank","rel":"noopener noreferrer","href":"https://www.linkedin.com/in/nauman-ajmal-2485451bb/","children":[["$","span",null,{"className":"sr-only","children":"linkedin"}],["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","className":"hover:text-primary-500 dark:hover:text-primary-400 fill-current text-gray-700 dark:text-gray-200 h-6 w-6","children":[["$","title",null,{"children":"Linkedin"}],["$","path",null,{"d":"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"}]]}]]}],null,null,null,null,null,null]}],["$","div",null,{"className":"mb-2 flex space-x-2 text-sm text-gray-500 dark:text-gray-400","children":[["$","div",null,{"children":"Nauman Ajmal"}],["$","div",null,{"children":" • "}],["$","div",null,{"children":"© 2025"}],["$","div",null,{"children":" • "}],["$","$L5",null,{"className":"break-words","href":"/","children":"PromptLab"}]]}]]}]}]]}]]}]}]]}]]}],{"children":["blog",["$","$1","c",{"children":[null,["$","$La",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lb",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["slug","guide-to-using-images-in-nextjs","c"],["$","$1","c",{"children":[null,["$","$La",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lb",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$Lc","$undefined",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/7246298b30c42979.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$Ld",null,{"children":["$Le","$Lf",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","gR8_-rMfpyJXd1kTvcvBl",{"children":[["$","$L10",null,{"children":"$L11"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],["$","$L12",null,{"children":"$L13"}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} 15:I[1839,["874","static/chunks/874-efe6736574b279d5.js","63","static/chunks/63-cc4af6db38b88fdc.js","909","static/chunks/app/blog/%5B...slug%5D/page-739363f7539431ce.js"],"default"] 16:I[3063,["874","static/chunks/874-efe6736574b279d5.js","63","static/chunks/63-cc4af6db38b88fdc.js","909","static/chunks/app/blog/%5B...slug%5D/page-739363f7539431ce.js"],"Image"] 17:I[2100,["874","static/chunks/874-efe6736574b279d5.js","63","static/chunks/63-cc4af6db38b88fdc.js","909","static/chunks/app/blog/%5B...slug%5D/page-739363f7539431ce.js"],"default"] 18:I[1449,["874","static/chunks/874-efe6736574b279d5.js","63","static/chunks/63-cc4af6db38b88fdc.js","909","static/chunks/app/blog/%5B...slug%5D/page-739363f7539431ce.js"],"default"] c:[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"BlogPosting\",\"headline\":\"Images in Next.js\",\"datePublished\":\"2020-11-11T00:00:00.000Z\",\"dateModified\":\"2020-11-11T00:00:00.000Z\",\"description\":\"In this article we introduce adding images in the tailwind starter blog and the benefits and limitations of the next/image component.\",\"image\":\"/static/images/twitter-card.png\",\"url\":\"https://tailwind-nextjs-starter-blog.vercel.app/blog/guide-to-using-images-in-nextjs\",\"author\":[{\"@type\":\"Person\",\"name\":\"Sparrow Hawk\"}]}"}}],["$","section",null,{"className":"mx-auto max-w-3xl px-4 sm:px-6 xl:max-w-5xl xl:px-0","children":[["$","$L15",null,{}],["$","article",null,{"children":["$","div",null,{"className":"xl:divide-y xl:divide-gray-200 xl:dark:divide-gray-700","children":[["$","header",null,{"className":"pt-6 xl:pb-6","children":["$","div",null,{"className":"space-y-1 text-center","children":[["$","dl",null,{"className":"space-y-10","children":["$","div",null,{"children":[["$","dt",null,{"className":"sr-only","children":"Published on"}],["$","dd",null,{"className":"text-base leading-6 font-medium text-gray-500 dark:text-gray-400","children":["$","time",null,{"dateTime":"2020-11-11T00:00:00.000Z","children":"Wednesday, November 11, 2020"}]}]]}]}],["$","div",null,{"children":["$","h1",null,{"className":"text-3xl leading-9 font-extrabold tracking-tight text-gray-900 sm:text-4xl sm:leading-10 md:text-5xl md:leading-14 dark:text-gray-100","children":"Images in Next.js"}]}]]}]}],["$","div",null,{"className":"grid-rows-[auto_1fr] divide-y divide-gray-200 pb-8 xl:grid xl:grid-cols-4 xl:gap-x-6 xl:divide-y-0 dark:divide-gray-700","children":[["$","dl",null,{"className":"pt-6 pb-10 xl:border-b xl:border-gray-200 xl:pt-11 xl:dark:border-gray-700","children":[["$","dt",null,{"className":"sr-only","children":"Authors"}],["$","dd",null,{"children":["$","ul",null,{"className":"flex flex-wrap justify-center gap-4 sm:space-x-12 xl:block xl:space-y-8 xl:space-x-0","children":[["$","li","Sparrow Hawk",{"className":"flex items-center space-x-2","children":[["$","$L16",null,{"src":"/static/images/sparrowhawk-avatar.jpg","width":38,"height":38,"alt":"avatar","className":"h-10 w-10 rounded-full"}],["$","dl",null,{"className":"text-sm leading-5 font-medium whitespace-nowrap","children":[["$","dt",null,{"className":"sr-only","children":"Name"}],["$","dd",null,{"className":"text-gray-900 dark:text-gray-100","children":"Sparrow Hawk"}],["$","dt",null,{"className":"sr-only","children":"Twitter"}],["$","dd",null,{"children":["$","a",null,{"className":"text-primary-500 hover:text-primary-600 dark:hover:text-primary-400","target":"_blank","rel":"noopener noreferrer","href":"https://twitter.com/sparrowhawk","children":"@sparrowhawk"}]}]]}]]}]]}]}]]}],["$","div",null,{"className":"divide-y divide-gray-200 xl:col-span-3 xl:row-span-2 xl:pb-0 dark:divide-gray-700","children":[["$","div",null,{"className":"prose dark:prose-invert max-w-none pt-10 pb-8","children":[["$","h1",null,{"className":"content-header","id":"introduction","children":[["$","a",null,{"className":"break-words","href":"#introduction","aria-hidden":"true","tabIndex":"-1","children":["$","span",null,{"className":"content-header-link","children":["$","svg",null,{"className":"h-5 linkicon w-5","fill":"currentColor","viewBox":"0 0 20 20","xmlns":"http://www.w3.org/2000/svg","children":[["$","path",null,{"d":"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z"}],["$","path",null,{"d":"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z"}]]}]}]}],"Introduction"]}],["$","p",null,{"children":["The tailwind starter blog has out of the box support for ",["$","a",null,{"className":"break-words","target":"_blank","rel":"noopener noreferrer","href":"https://nextjs.org/docs/api-reference/next/image","children":"Next.js's built-in image component"}]," and automatically swaps out default image tags in markdown or mdx documents to use the Image component provided."]}],["$","h1",null,{"className":"content-header","id":"usage","children":[["$","a",null,{"className":"break-words","href":"#usage","aria-hidden":"true","tabIndex":"-1","children":["$","span",null,{"className":"content-header-link","children":["$","svg",null,{"className":"h-5 linkicon w-5","fill":"currentColor","viewBox":"0 0 20 20","xmlns":"http://www.w3.org/2000/svg","children":[["$","path",null,{"d":"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z"}],["$","path",null,{"d":"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z"}]]}]}]}],"Usage"]}],["$","p",null,{"children":"To use in a new page route / javascript file, simply import the image component and call it e.g."}],["$","$L17",null,{"className":"language-js","children":["$","code",null,{"className":"language-js code-highlight","children":[["$","span",null,{"className":"code-line","children":[["$","span",null,{"className":"token keyword module","children":"import"}]," ",["$","span",null,{"className":"token imports","children":["$","span",null,{"className":"token maybe-class-name","children":"Image"}]}]," ",["$","span",null,{"className":"token keyword module","children":"from"}]," ",["$","span",null,{"className":"token string","children":"'next/image'"}],"\n"]}],["$","span",null,{"className":"code-line","children":"\n"}],["$","span",null,{"className":"code-line","children":[["$","span",null,{"className":"token keyword","children":"function"}]," ",["$","span",null,{"className":"token function","children":["$","span",null,{"className":"token maybe-class-name","children":"Home"}]}],["$","span",null,{"className":"token punctuation","children":"("}],["$","span",null,{"className":"token punctuation","children":")"}]," ",["$","span",null,{"className":"token punctuation","children":"{"}],"\n"]}],["$","span",null,{"className":"code-line","children":[" ",["$","span",null,{"className":"token keyword control-flow","children":"return"}]," ",["$","span",null,{"className":"token punctuation","children":"("}],"\n"]}],["$","span",null,{"className":"code-line","children":[" ",["$","span",null,{"className":"token operator","children":"<"}],["$","span",null,{"className":"token operator","children":">"}],"\n"]}],["$","span",null,{"className":"code-line","children":[" ",["$","span",null,{"className":"token operator","children":"<"}],"h1",["$","span",null,{"className":"token operator","children":">"}],["$","span",null,{"className":"token maybe-class-name","children":"My"}]," ",["$","span",null,{"className":"token maybe-class-name","children":"Homepage"}],["$","span",null,{"className":"token operator","children":"<"}],["$","span",null,{"className":"token operator","children":"/"}],"h1",["$","span",null,{"className":"token operator","children":">"}],"\n"]}],["$","span",null,{"className":"code-line","children":[" ",["$","span",null,{"className":"token operator","children":"<"}],["$","span",null,{"className":"token maybe-class-name","children":"Image"}]," src",["$","span",null,{"className":"token operator","children":"="}],["$","span",null,{"className":"token string","children":"\"/me.png\""}]," alt",["$","span",null,{"className":"token operator","children":"="}],["$","span",null,{"className":"token string","children":"\"Picture of the author\""}]," width",["$","span",null,{"className":"token operator","children":"="}],["$","span",null,{"className":"token punctuation","children":"{"}],["$","span",null,{"className":"token number","children":"500"}],["$","span",null,{"className":"token punctuation","children":"}"}]," height",["$","span",null,{"className":"token operator","children":"="}],["$","span",null,{"className":"token punctuation","children":"{"}],["$","span",null,{"className":"token number","children":"500"}],["$","span",null,{"className":"token punctuation","children":"}"}]," ",["$","span",null,{"className":"token operator","children":"/"}],["$","span",null,{"className":"token operator","children":">"}],"\n"]}],["$","span",null,{"className":"code-line","children":[" ",["$","span",null,{"className":"token operator","children":"<"}],"p",["$","span",null,{"className":"token operator","children":">"}],["$","span",null,{"className":"token maybe-class-name","children":"Welcome"}]," to my homepage",["$","span",null,{"className":"token operator","children":"!"}],["$","span",null,{"className":"token operator","children":"<"}],["$","span",null,{"className":"token operator","children":"/"}],"p",["$","span",null,{"className":"token operator","children":">"}],"\n"]}],["$","span",null,{"className":"code-line","children":[" ",["$","span",null,{"className":"token operator","children":"<"}],["$","span",null,{"className":"token operator","children":"/"}],["$","span",null,{"className":"token operator","children":">"}],"\n"]}],["$","span",null,{"className":"code-line","children":[" ",["$","span",null,{"className":"token punctuation","children":")"}],"\n"]}],["$","span",null,{"className":"code-line","children":[["$","span",null,{"className":"token punctuation","children":"}"}],"\n"]}],["$","span",null,{"className":"code-line","children":"\n"}],["$","span",null,{"className":"code-line","children":[["$","span",null,{"className":"token keyword module","children":"export"}]," ",["$","span",null,{"className":"token keyword module","children":"default"}]," ",["$","span",null,{"className":"token maybe-class-name","children":"Home"}],"\n"]}]]}]}],["$","p",null,{"children":["For a markdown file, the default image tag can be used and the default ",["$","code",null,{"children":"img"}]," tag gets replaced by the ",["$","code",null,{"children":"Image"}]," component in the build process."]}],["$","p",null,{"children":["Assuming we have a file called ",["$","code",null,{"children":"ocean.jpg"}]," in ",["$","code",null,{"children":"static/images/ocean.jpg"}],", the following line of code would generate the optimized image."]}],["$","$L17",null,{"className":"language-js","children":["$","code",null,{"className":"language-js code-highlight","children":["$","span",null,{"className":"code-line","children":[["$","span",null,{"className":"token operator","children":"!"}],["$","span",null,{"className":"token punctuation","children":"["}],"ocean",["$","span",null,{"className":"token punctuation","children":"]"}],["$","span",null,{"className":"token punctuation","children":"("}],["$","span",null,{"className":"token operator","children":"/"}],["$","span",null,{"className":"token keyword","children":"static"}],["$","span",null,{"className":"token operator","children":"/"}],"images",["$","span",null,{"className":"token operator","children":"/"}],"ocean",["$","span",null,{"className":"token punctuation","children":"."}],["$","span",null,{"className":"token property-access","children":"jpg"}],["$","span",null,{"className":"token punctuation","children":")"}],"\n"]}]}]}],["$","p",null,{"children":["Alternatively, since we are using mdx, we can just use the image component directly! Note, that you would have to provide a fixed width and height. The ",["$","code",null,{"children":"img"}]," tag method parses the dimension automatically."]}],["$","$L17",null,{"className":"language-js","children":["$","code",null,{"className":"language-js code-highlight","children":["$","span",null,{"className":"code-line","children":[["$","span",null,{"className":"token operator","children":"<"}],["$","span",null,{"className":"token maybe-class-name","children":"Image"}]," alt",["$","span",null,{"className":"token operator","children":"="}],["$","span",null,{"className":"token string","children":"\"ocean\""}]," src",["$","span",null,{"className":"token operator","children":"="}],["$","span",null,{"className":"token string","children":"\"/static/images/ocean.jpg\""}]," width",["$","span",null,{"className":"token operator","children":"="}],["$","span",null,{"className":"token punctuation","children":"{"}],["$","span",null,{"className":"token number","children":"256"}],["$","span",null,{"className":"token punctuation","children":"}"}]," height",["$","span",null,{"className":"token operator","children":"="}],["$","span",null,{"className":"token punctuation","children":"{"}],["$","span",null,{"className":"token number","children":"128"}],["$","span",null,{"className":"token punctuation","children":"}"}]," ",["$","span",null,{"className":"token operator","children":"/"}],["$","span",null,{"className":"token operator","children":">"}],"\n"]}]}]}],["$","p",null,{"children":[["$","em",null,{"children":"Note"}],": If you try to save the image, it is in webp format, if your browser supports it!"]}],["$","div",null,{"children":["$","$L16",null,{"src":"/static/images/ocean.jpeg","alt":"ocean","width":"1920","height":"1280"}]}],["$","p",null,{"children":["Photo by ",["$","a",null,{"className":"break-words","target":"_blank","rel":"noopener noreferrer","href":"https://unsplash.com/@yucar?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText","children":"YUCAR FotoGrafik"}]," on ",["$","a",null,{"className":"break-words","target":"_blank","rel":"noopener noreferrer","href":"https://unsplash.com/s/photos/sea?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText","children":"Unsplash"}]]}],["$","h1",null,{"className":"content-header","id":"benefits","children":[["$","a",null,{"className":"break-words","href":"#benefits","aria-hidden":"true","tabIndex":"-1","children":["$","span",null,{"className":"content-header-link","children":["$","svg",null,{"className":"h-5 linkicon w-5","fill":"currentColor","viewBox":"0 0 20 20","xmlns":"http://www.w3.org/2000/svg","children":[["$","path",null,{"d":"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z"}],["$","path",null,{"d":"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z"}]]}]}]}],"Benefits"]}],["$","ul",null,{"children":[["$","li",null,{"children":"Smaller image size with Webp (~30% smaller than jpeg)"}],["$","li",null,{"children":"Responsive images - the correct image size is served based on the user's viewport"}],["$","li",null,{"children":"Lazy loading - images load as they are scrolled to the viewport"}],["$","li",null,{"children":["Avoids ",["$","a",null,{"className":"break-words","target":"_blank","rel":"noopener noreferrer","href":"https://web.dev/cls/","children":"Cumulative Layout Shift"}]]}],["$","li",null,{"children":"Optimization on demand instead of build-time - no increase in build time!"}]]}],["$","h1",null,{"className":"content-header","id":"limitations","children":[["$","a",null,{"className":"break-words","href":"#limitations","aria-hidden":"true","tabIndex":"-1","children":["$","span",null,{"className":"content-header-link","children":["$","svg",null,{"className":"h-5 linkicon w-5","fill":"currentColor","viewBox":"0 0 20 20","xmlns":"http://www.w3.org/2000/svg","children":[["$","path",null,{"d":"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z"}],["$","path",null,{"d":"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z"}]]}]}]}],"Limitations"]}],["$","ul",null,{"children":[["$","li",null,{"children":[["$","p",null,{"children":["Due to the reliance on ",["$","code",null,{"children":"next/image"}],", unless you are using an external image CDN like Cloudinary or Imgix, it is practically required to use Vercel for hosting. This is because the component acts like a serverless function that calls a highly optimized image CDN."]}],["$","p",null,{"children":["If you do not want to be tied to Vercel, you can remove ",["$","code",null,{"children":"imgToJsx"}]," in ",["$","code",null,{"children":"remarkPlugins"}]," in ",["$","code",null,{"children":"lib/mdx.js"}],". This would avoid substituting the default ",["$","code",null,{"children":"img"}]," tag."]}],["$","p",null,{"children":["Alternatively, one could wait for image optimization at build time to be supported. A different library, ",["$","a",null,{"className":"break-words","target":"_blank","rel":"noopener noreferrer","href":"https://github.com/cyrilwanner/next-optimized-images","children":"next-optimized-images"}]," does that, although it requires transforming the images through webpack which is not done here."]}]]}],["$","li",null,{"children":["$","p",null,{"children":["Images from external links are not passed through ",["$","code",null,{"children":"next/image"}]]}]}],["$","li",null,{"children":["$","p",null,{"children":["All images have to be stored in the ",["$","code",null,{"children":"public"}]," folder e.g ",["$","code",null,{"children":"/static/images/ocean.jpeg"}]]}]}]]}]]}],["$","div",null,{"className":"pt-6 pb-6 text-sm text-gray-700 dark:text-gray-300","children":[["$","a",null,{"className":"break-words","target":"_blank","rel":"nofollow","href":"https://mobile.twitter.com/search?q=https%3A%2F%2Ftailwind-nextjs-starter-blog.vercel.app%2Fblog%2Fguide-to-using-images-in-nextjs","children":"Discuss on Twitter"}]," • ",["$","a",null,{"className":"break-words","target":"_blank","rel":"noopener noreferrer","href":"https://github.com/timlrx/tailwind-nextjs-starter-blog/blob/main/data/blog/guide-to-using-images-in-nextjs.mdx","children":"View on GitHub"}]]}],["$","div",null,{"className":"pt-6 pb-6 text-center text-gray-700 dark:text-gray-300","id":"comment","children":["$","$L18",null,{"slug":"guide-to-using-images-in-nextjs"}]}]]}],["$","footer",null,{"children":[["$","div",null,{"className":"divide-gray-200 text-sm leading-5 font-medium xl:col-start-1 xl:row-start-2 xl:divide-y dark:divide-gray-700","children":[["$","div",null,{"className":"py-4 xl:py-8","children":[["$","h2",null,{"className":"text-xs tracking-wide text-gray-500 uppercase dark:text-gray-400","children":"Tags"}],["$","div",null,{"className":"flex flex-wrap","children":[["$","$L5","next js",{"href":"/tags/next-js","className":"text-primary-500 hover:text-primary-600 dark:hover:text-primary-400 mr-3 text-sm font-medium uppercase","children":"next-js"}],["$","$L5","guide",{"href":"/tags/guide","className":"text-primary-500 hover:text-primary-600 dark:hover:text-primary-400 mr-3 text-sm font-medium uppercase","children":"guide"}]]}]]}],["$","div",null,{"className":"flex justify-between py-4 xl:block xl:space-y-8 xl:py-8","children":[["$","div",null,{"children":[["$","h2",null,{"className":"text-xs tracking-wide text-gray-500 uppercase dark:text-gray-400","children":"Previous Article"}],["$","div",null,{"className":"text-primary-500 hover:text-primary-600 dark:hover:text-primary-400","children":["$","$L5",null,{"className":"break-words","href":"/blog/github-markdown-guide","children":"Markdown Guide"}]}]]}],["$","div",null,{"children":[["$","h2",null,{"className":"text-xs tracking-wide text-gray-500 uppercase dark:text-gray-400","children":"Next Article"}],["$","div",null,{"className":"text-primary-500 hover:text-primary-600 dark:hover:text-primary-400","children":["$","$L5",null,{"className":"break-words","href":"/blog/deriving-ols-estimator","children":"Deriving the OLS Estimator"}]}]]}]]}]]}],["$","div",null,{"className":"pt-4 xl:pt-8","children":["$","$L5",null,{"className":"text-primary-500 hover:text-primary-600 dark:hover:text-primary-400","href":"/blog","aria-label":"Back to the blog","children":"← Back to the blog"}]}]]}]]}]]}]}]]}]] 11:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] e:null f:null 13:[["$","title","0",{"children":"Images in Next.js | PromptLab"}],["$","meta","1",{"name":"description","content":"In this article we introduce adding images in the tailwind starter blog and the benefits and limitations of the next/image component."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","meta","3",{"name":"googlebot","content":"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"}],["$","link","4",{"rel":"canonical","href":"https://tailwind-nextjs-starter-blog.vercel.app/blog/guide-to-using-images-in-nextjs"}],["$","link","5",{"rel":"alternate","type":"application/rss+xml","href":"https://tailwind-nextjs-starter-blog.vercel.app/feed.xml"}],["$","meta","6",{"property":"og:title","content":"Images in Next.js"}],["$","meta","7",{"property":"og:description","content":"In this article we introduce adding images in the tailwind starter blog and the benefits and limitations of the next/image component."}],["$","meta","8",{"property":"og:url","content":"https://tailwind-nextjs-starter-blog.vercel.app/blog/guide-to-using-images-in-nextjs"}],["$","meta","9",{"property":"og:site_name","content":"PromptLab"}],["$","meta","10",{"property":"og:locale","content":"en_US"}],["$","meta","11",{"property":"og:image","content":"https://tailwind-nextjs-starter-blog.vercel.app/static/images/twitter-card.png"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2020-11-11T00:00:00.000Z"}],["$","meta","14",{"property":"article:modified_time","content":"2020-11-11T00:00:00.000Z"}],["$","meta","15",{"property":"article:author","content":"Sparrow Hawk"}],["$","meta","16",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","17",{"name":"twitter:title","content":"Images in Next.js"}],["$","meta","18",{"name":"twitter:description","content":"In this article we introduce adding images in the tailwind starter blog and the benefits and limitations of the next/image component."}],["$","meta","19",{"name":"twitter:image","content":"https://tailwind-nextjs-starter-blog.vercel.app/static/images/twitter-card.png"}]]