[{"data":1,"prerenderedAt":898},["ShallowReactive",2],{"navigation_docs":3,"-advanced-custom-provider":228,"-advanced-custom-provider-surround":893},[4,30,47,215],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Get Started","\u002Fget-started","1.get-started",[9,13,17,21,25],{"title":10,"path":11,"stem":12},"Installation","\u002Fget-started\u002Finstallation","1.get-started\u002F1.installation",{"title":14,"path":15,"stem":16},"Configuration","\u002Fget-started\u002Fconfiguration","1.get-started\u002F2.configuration",{"title":18,"path":19,"stem":20},"Providers","\u002Fget-started\u002Fproviders","1.get-started\u002F3.providers",{"title":22,"path":23,"stem":24},"Contributing","\u002Fget-started\u002Fcontributing","1.get-started\u002F4.contributing",{"title":26,"path":27,"stem":28},"Migration","\u002Fget-started\u002Fmigration","1.get-started\u002F5.migration",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Usage","\u002Fusage","2.usage",[35,39,43],{"title":36,"path":37,"stem":38},"\u003CNuxtImg>","\u002Fusage\u002Fnuxt-img","2.usage\u002F1.nuxt-img",{"title":40,"path":41,"stem":42},"\u003CNuxtPicture>","\u002Fusage\u002Fnuxt-picture","2.usage\u002F2.nuxt-picture",{"title":44,"path":45,"stem":46},"useImage()","\u002Fusage\u002Fuse-image","2.usage\u002F3.use-image",{"title":18,"path":48,"stem":49,"children":50,"page":29},"\u002Fproviders","3.providers",[51,55,59,63,67,71,75,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211],{"title":52,"path":53,"stem":54},"Aliyun","\u002Fproviders\u002Faliyun","3.providers\u002Faliyun",{"title":56,"path":57,"stem":58},"AWS Amplify","\u002Fproviders\u002Faws-amplify","3.providers\u002Faws-amplify",{"title":60,"path":61,"stem":62},"Builder.io","\u002Fproviders\u002Fbuilderio","3.providers\u002Fbuilderio",{"title":64,"path":65,"stem":66},"Bunny","\u002Fproviders\u002Fbunny","3.providers\u002Fbunny",{"title":68,"path":69,"stem":70},"Caisy","\u002Fproviders\u002Fcaisy","3.providers\u002Fcaisy",{"title":72,"path":73,"stem":74},"Cloudflare","\u002Fproviders\u002Fcloudflare","3.providers\u002Fcloudflare",{"title":76,"path":77,"stem":78},"Cloudflare Images","\u002Fproviders\u002Fcloudflareimages","3.providers\u002Fcloudflareimages",{"title":80,"path":81,"stem":82},"Cloudimage","\u002Fproviders\u002Fcloudimage","3.providers\u002Fcloudimage",{"title":84,"path":85,"stem":86},"Cloudinary","\u002Fproviders\u002Fcloudinary","3.providers\u002Fcloudinary",{"title":88,"path":89,"stem":90},"Contentful","\u002Fproviders\u002Fcontentful","3.providers\u002Fcontentful",{"title":92,"path":93,"stem":94},"Directus","\u002Fproviders\u002Fdirectus","3.providers\u002Fdirectus",{"title":96,"path":97,"stem":98},"EdgeOne Pages","\u002Fproviders\u002Fedgeone-pages","3.providers\u002Fedgeone-pages",{"title":100,"path":101,"stem":102},"Fastly","\u002Fproviders\u002Ffastly","3.providers\u002Ffastly",{"title":104,"path":105,"stem":106},"Filerobot","\u002Fproviders\u002Ffilerobot","3.providers\u002Ffilerobot",{"title":108,"path":109,"stem":110},"Flyimg","\u002Fproviders\u002Fflyimg","3.providers\u002Fflyimg",{"title":112,"path":113,"stem":114},"GitHub","\u002Fproviders\u002Fgithub","3.providers\u002Fgithub",{"title":116,"path":117,"stem":118},"Glide","\u002Fproviders\u002Fglide","3.providers\u002Fglide",{"title":120,"path":121,"stem":122},"Gumlet","\u002Fproviders\u002Fgumlet","3.providers\u002Fgumlet",{"title":124,"path":125,"stem":126},"Hygraph","\u002Fproviders\u002Fhygraph","3.providers\u002Fhygraph",{"title":128,"path":129,"stem":130},"ImageEngine","\u002Fproviders\u002Fimageengine","3.providers\u002Fimageengine",{"title":132,"path":133,"stem":134},"ImageKit","\u002Fproviders\u002Fimagekit","3.providers\u002Fimagekit",{"title":136,"path":137,"stem":138},"Imgix","\u002Fproviders\u002Fimgix","3.providers\u002Fimgix",{"title":140,"path":141,"stem":142},"Imgproxy","\u002Fproviders\u002Fimgproxy","3.providers\u002Fimgproxy",{"title":144,"path":145,"stem":146},"IPX","\u002Fproviders\u002Fipx","3.providers\u002Fipx",{"title":148,"path":149,"stem":150},"Netlify","\u002Fproviders\u002Fnetlify","3.providers\u002Fnetlify",{"title":152,"path":153,"stem":154},"None","\u002Fproviders\u002Fnone","3.providers\u002Fnone",{"title":156,"path":157,"stem":158},"Picsum","\u002Fproviders\u002Fpicsum","3.providers\u002Fpicsum",{"title":160,"path":161,"stem":162},"Prepr","\u002Fproviders\u002Fprepr","3.providers\u002Fprepr",{"title":164,"path":165,"stem":166},"Prismic","\u002Fproviders\u002Fprismic","3.providers\u002Fprismic",{"title":168,"path":169,"stem":170},"Sanity","\u002Fproviders\u002Fsanity","3.providers\u002Fsanity",{"title":172,"path":173,"stem":174},"Shopify","\u002Fproviders\u002Fshopify","3.providers\u002Fshopify",{"title":176,"path":177,"stem":178},"Sirv","\u002Fproviders\u002Fsirv","3.providers\u002Fsirv",{"title":180,"path":181,"stem":182},"Storyblok","\u002Fproviders\u002Fstoryblok","3.providers\u002Fstoryblok",{"title":184,"path":185,"stem":186},"Strapi","\u002Fproviders\u002Fstrapi","3.providers\u002Fstrapi",{"title":188,"path":189,"stem":190},"Supabase","\u002Fproviders\u002Fsupabase","3.providers\u002Fsupabase",{"title":192,"path":193,"stem":194},"Twicpics","\u002Fproviders\u002Ftwicpics","3.providers\u002Ftwicpics",{"title":196,"path":197,"stem":198},"Umbraco","\u002Fproviders\u002Fumbraco","3.providers\u002Fumbraco",{"title":200,"path":201,"stem":202},"Unsplash","\u002Fproviders\u002Funsplash","3.providers\u002Funsplash",{"title":204,"path":205,"stem":206},"Uploadcare","\u002Fproviders\u002Fuploadcare","3.providers\u002Fuploadcare",{"title":208,"path":209,"stem":210},"Vercel","\u002Fproviders\u002Fvercel","3.providers\u002Fvercel",{"title":212,"path":213,"stem":214},"Weserv","\u002Fproviders\u002Fweserv","3.providers\u002Fweserv",{"title":216,"path":217,"stem":218,"children":219,"page":29},"Advanced","\u002Fadvanced","4.advanced",[220,224],{"title":221,"path":222,"stem":223},"Custom Provider","\u002Fadvanced\u002Fcustom-provider","4.advanced\u002F1.custom-provider",{"title":225,"path":226,"stem":227},"Static Images","\u002Fadvanced\u002Fstatic-images","4.advanced\u002F2.static-images",{"id":229,"title":221,"body":230,"description":887,"extension":888,"links":889,"meta":890,"navigation":318,"path":222,"seo":891,"stem":223,"__hash__":892},"docs\u002F4.advanced\u002F1.custom-provider.md",{"type":231,"value":232,"toc":877},"minimark",[233,238,242,577,582,627,637,641,649,653,657,667,803,816,819,826,873],[234,235,237],"h2",{"id":236},"provider-entry","Provider Entry",[239,240,241],"p",{},"The runtime will receive a source, image modifiers and its provider options. It is responsible for generating a URL for optimized images, and needs to be isomorphic because it may be called on either server or client.",[243,244,250],"pre",{"className":245,"code":246,"filename":247,"language":248,"meta":249,"style":249},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { joinURL } from 'ufo'\nimport { createOperationsGenerator, defineProvider } from '@nuxt\u002Fimage\u002Fruntime'\n\nconst operationsGenerator = createOperationsGenerator()\n\nexport default defineProvider\u003C{ baseURL?: string }>({\n  getImage (src, { modifiers, baseURL }) {\n    if (!baseURL) {\n      \u002F\u002F also support runtime config \n      baseURL = useRuntimeConfig().public.siteUrl\n    }\n\n    const operations = operationsGenerator(modifiers)\n\n    return {\n      url: joinURL(baseURL, src + (operations ? '?' + operations : ''))\n    }\n  }\n})\n","providers\u002Fmy-provider.ts","ts","",[251,252,253,286,313,320,339,344,378,408,427,434,460,466,471,493,498,506,558,563,569],"code",{"__ignoreMap":249},[254,255,258,262,266,270,273,276,279,283],"span",{"class":256,"line":257},"line",1,[254,259,261],{"class":260},"s7zQu","import",[254,263,265],{"class":264},"sMK4o"," {",[254,267,269],{"class":268},"sTEyZ"," joinURL",[254,271,272],{"class":264}," }",[254,274,275],{"class":260}," from",[254,277,278],{"class":264}," '",[254,280,282],{"class":281},"sfazB","ufo",[254,284,285],{"class":264},"'\n",[254,287,289,291,293,296,299,302,304,306,308,311],{"class":256,"line":288},2,[254,290,261],{"class":260},[254,292,265],{"class":264},[254,294,295],{"class":268}," createOperationsGenerator",[254,297,298],{"class":264},",",[254,300,301],{"class":268}," defineProvider",[254,303,272],{"class":264},[254,305,275],{"class":260},[254,307,278],{"class":264},[254,309,310],{"class":281},"@nuxt\u002Fimage\u002Fruntime",[254,312,285],{"class":264},[254,314,316],{"class":256,"line":315},3,[254,317,319],{"emptyLinePlaceholder":318},true,"\n",[254,321,323,327,330,333,336],{"class":256,"line":322},4,[254,324,326],{"class":325},"spNyl","const",[254,328,329],{"class":268}," operationsGenerator ",[254,331,332],{"class":264},"=",[254,334,295],{"class":335},"s2Zo4",[254,337,338],{"class":268},"()\n",[254,340,342],{"class":256,"line":341},5,[254,343,319],{"emptyLinePlaceholder":318},[254,345,347,350,353,355,358,362,365,369,372,375],{"class":256,"line":346},6,[254,348,349],{"class":260},"export",[254,351,352],{"class":260}," default",[254,354,301],{"class":335},[254,356,357],{"class":264},"\u003C{",[254,359,361],{"class":360},"swJcz"," baseURL",[254,363,364],{"class":264},"?:",[254,366,368],{"class":367},"sBMFI"," string",[254,370,371],{"class":264}," }>",[254,373,374],{"class":268},"(",[254,376,377],{"class":264},"{\n",[254,379,381,384,387,391,393,395,398,400,402,405],{"class":256,"line":380},7,[254,382,383],{"class":360},"  getImage",[254,385,386],{"class":264}," (",[254,388,390],{"class":389},"sHdIc","src",[254,392,298],{"class":264},[254,394,265],{"class":264},[254,396,397],{"class":389}," modifiers",[254,399,298],{"class":264},[254,401,361],{"class":389},[254,403,404],{"class":264}," })",[254,406,407],{"class":264}," {\n",[254,409,411,414,416,419,422,425],{"class":256,"line":410},8,[254,412,413],{"class":260},"    if",[254,415,386],{"class":360},[254,417,418],{"class":264},"!",[254,420,421],{"class":268},"baseURL",[254,423,424],{"class":360},") ",[254,426,377],{"class":264},[254,428,430],{"class":256,"line":429},9,[254,431,433],{"class":432},"sHwdD","      \u002F\u002F also support runtime config \n",[254,435,437,440,443,446,449,452,455,457],{"class":256,"line":436},10,[254,438,439],{"class":268},"      baseURL",[254,441,442],{"class":264}," =",[254,444,445],{"class":335}," useRuntimeConfig",[254,447,448],{"class":360},"()",[254,450,451],{"class":264},".",[254,453,454],{"class":268},"public",[254,456,451],{"class":264},[254,458,459],{"class":268},"siteUrl\n",[254,461,463],{"class":256,"line":462},11,[254,464,465],{"class":264},"    }\n",[254,467,469],{"class":256,"line":468},12,[254,470,319],{"emptyLinePlaceholder":318},[254,472,474,477,480,482,485,487,490],{"class":256,"line":473},13,[254,475,476],{"class":325},"    const",[254,478,479],{"class":268}," operations",[254,481,442],{"class":264},[254,483,484],{"class":335}," operationsGenerator",[254,486,374],{"class":360},[254,488,489],{"class":268},"modifiers",[254,491,492],{"class":360},")\n",[254,494,496],{"class":256,"line":495},14,[254,497,319],{"emptyLinePlaceholder":318},[254,499,501,504],{"class":256,"line":500},15,[254,502,503],{"class":260},"    return",[254,505,407],{"class":264},[254,507,509,512,515,517,519,521,523,526,529,531,534,537,539,542,545,547,549,552,555],{"class":256,"line":508},16,[254,510,511],{"class":360},"      url",[254,513,514],{"class":264},":",[254,516,269],{"class":335},[254,518,374],{"class":360},[254,520,421],{"class":268},[254,522,298],{"class":264},[254,524,525],{"class":268}," src",[254,527,528],{"class":264}," +",[254,530,386],{"class":360},[254,532,533],{"class":268},"operations",[254,535,536],{"class":264}," ?",[254,538,278],{"class":264},[254,540,541],{"class":281},"?",[254,543,544],{"class":264},"'",[254,546,528],{"class":264},[254,548,479],{"class":268},[254,550,551],{"class":264}," :",[254,553,554],{"class":264}," ''",[254,556,557],{"class":360},"))\n",[254,559,561],{"class":256,"line":560},17,[254,562,465],{"class":264},[254,564,566],{"class":256,"line":565},18,[254,567,568],{"class":264},"  }\n",[254,570,572,575],{"class":256,"line":571},19,[254,573,574],{"class":264},"}",[254,576,492],{"class":268},[578,579,581],"h3",{"id":580},"parameters","Parameters",[583,584,585,591,596],"ul",{},[586,587,588,590],"li",{},[251,589,390],{},": Source path of the image.",[586,592,593,595],{},[251,594,489],{},": List of image modifiers that are defined in the image component or as a preset.",[586,597,598,601,602,605,606],{},[251,599,600],{},"ctx",": (",[251,603,604],{},"ImageCTX",") Image module runtime context\n",[583,607,608,617],{},[586,609,610,601,613,616],{},[251,611,612],{},"options",[251,614,615],{},"CreateImageOptions",") Image module global runtime options",[586,618,619,622,623],{},[251,620,621],{},"$img",": The ",[624,625,626],"a",{"href":45},"$img helper",[239,628,629,633,634,636],{},[630,631,632],"strong",{},"Note:"," Values in ",[251,635,600],{}," might change. Use it with caution.",[578,638,640],{"id":639},"return","Return",[583,642,643],{},[586,644,645,648],{},[251,646,647],{},"url",": Absolute or relative URL of optimized image.",[234,650,652],{"id":651},"use-your-provider","Use Your Provider",[578,654,656],{"id":655},"register-provider","Register provider",[239,658,659,660,663,664,451],{},"After you create your own provider, you should register it in the ",[251,661,662],{},"nuxt.config",". In order to do that create a property inside ",[251,665,666],{},"image.provider",[243,668,671],{"className":245,"code":669,"filename":670,"language":248,"meta":249,"style":249},"export default defineNuxtConfig({\n  image: {\n    providers: {\n      myProvider: {\n        name: 'myProvider', \u002F\u002F optional value to overrider provider name\n        provider: '~\u002Fproviders\u002Fmy-provider.ts', \u002F\u002F Path to custom provider\n        options: {\n          \u002F\u002F ... provider options\n          baseURL: 'https:\u002F\u002Fsite.com'\n        }\n      }\n    }\n  }\n})\n","nuxt.config.ts",[251,672,673,686,695,704,713,732,751,760,765,779,784,789,793,797],{"__ignoreMap":249},[254,674,675,677,679,682,684],{"class":256,"line":257},[254,676,349],{"class":260},[254,678,352],{"class":260},[254,680,681],{"class":335}," defineNuxtConfig",[254,683,374],{"class":268},[254,685,377],{"class":264},[254,687,688,691,693],{"class":256,"line":288},[254,689,690],{"class":360},"  image",[254,692,514],{"class":264},[254,694,407],{"class":264},[254,696,697,700,702],{"class":256,"line":315},[254,698,699],{"class":360},"    providers",[254,701,514],{"class":264},[254,703,407],{"class":264},[254,705,706,709,711],{"class":256,"line":322},[254,707,708],{"class":360},"      myProvider",[254,710,514],{"class":264},[254,712,407],{"class":264},[254,714,715,718,720,722,725,727,729],{"class":256,"line":341},[254,716,717],{"class":360},"        name",[254,719,514],{"class":264},[254,721,278],{"class":264},[254,723,724],{"class":281},"myProvider",[254,726,544],{"class":264},[254,728,298],{"class":264},[254,730,731],{"class":432}," \u002F\u002F optional value to overrider provider name\n",[254,733,734,737,739,741,744,746,748],{"class":256,"line":346},[254,735,736],{"class":360},"        provider",[254,738,514],{"class":264},[254,740,278],{"class":264},[254,742,743],{"class":281},"~\u002Fproviders\u002Fmy-provider.ts",[254,745,544],{"class":264},[254,747,298],{"class":264},[254,749,750],{"class":432}," \u002F\u002F Path to custom provider\n",[254,752,753,756,758],{"class":256,"line":380},[254,754,755],{"class":360},"        options",[254,757,514],{"class":264},[254,759,407],{"class":264},[254,761,762],{"class":256,"line":410},[254,763,764],{"class":432},"          \u002F\u002F ... provider options\n",[254,766,767,770,772,774,777],{"class":256,"line":429},[254,768,769],{"class":360},"          baseURL",[254,771,514],{"class":264},[254,773,278],{"class":264},[254,775,776],{"class":281},"https:\u002F\u002Fsite.com",[254,778,285],{"class":264},[254,780,781],{"class":256,"line":436},[254,782,783],{"class":264},"        }\n",[254,785,786],{"class":256,"line":462},[254,787,788],{"class":264},"      }\n",[254,790,791],{"class":256,"line":468},[254,792,465],{"class":264},[254,794,795],{"class":256,"line":473},[254,796,568],{"class":264},[254,798,799,801],{"class":256,"line":495},[254,800,574],{"class":264},[254,802,492],{"class":268},[239,804,805,806,808,809,815],{},"There are plenty of useful utilities that can be used to write providers by importing from ",[251,807,310],{},". See ",[624,810,814],{"href":811,"rel":812},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fimage\u002Ftree\u002Fmain\u002Fsrc\u002Fruntime\u002Fproviders",[813],"nofollow","src\u002Fruntime\u002Fproviders"," for more info.",[578,817,31],{"id":818},"usage",[239,820,821,822,825],{},"Set attribute ",[251,823,824],{},"provider"," as your custom provider name.",[243,827,832],{"className":828,"code":829,"filename":830,"language":831,"meta":249,"style":249},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003CNuxtImg provider=\"myProvider\" src=\"\u002Fimage.png\" >\n\u003C!-- \u003Cimg src=\"https:\u002F\u002Fsite.com\u002Fimage.png\"> -->\n","pages\u002Findex.vue","vue",[251,833,834,868],{"__ignoreMap":249},[254,835,836,839,842,845,847,850,852,854,856,858,860,863,865],{"class":256,"line":257},[254,837,838],{"class":264},"\u003C",[254,840,841],{"class":360},"NuxtImg",[254,843,844],{"class":325}," provider",[254,846,332],{"class":264},[254,848,849],{"class":264},"\"",[254,851,724],{"class":281},[254,853,849],{"class":264},[254,855,525],{"class":325},[254,857,332],{"class":264},[254,859,849],{"class":264},[254,861,862],{"class":281},"\u002Fimage.png",[254,864,849],{"class":264},[254,866,867],{"class":264}," >\n",[254,869,870],{"class":256,"line":288},[254,871,872],{"class":268},"\u003C!-- \u003Cimg src=\"https:\u002F\u002Fsite.com\u002Fimage.png\"> -->\n",[874,875,876],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":249,"searchDepth":288,"depth":288,"links":878},[879,883],{"id":236,"depth":288,"text":237,"children":880},[881,882],{"id":580,"depth":315,"text":581},{"id":639,"depth":315,"text":640},{"id":651,"depth":288,"text":652,"children":884},[885,886],{"id":655,"depth":315,"text":656},{"id":818,"depth":315,"text":31},"If a CDN provider is not supported, you can define it yourself.","md",null,{},{"title":221,"description":887},"tZOb1AetQMma3qdsTdgIA0sXN9aexpcI5iNm-bdaOGo",[894,896],{"title":212,"path":213,"stem":214,"description":895,"children":-1},"Optimize images with Weserv's dynamic image transformation service.",{"title":225,"path":226,"stem":227,"description":897,"children":-1},"Optimizing images for static websites.",1784666104091]