3:I[9909,[],""] 4:I[6649,[],""] 5:I[8142,["185","static/chunks/app/layout-b774c9638746f02c.js"],"GoogleTagManager"] 0:["I-Bvn3I9raM8sbszANdNC",[[["",{"children":["articles",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["articles",{"children":["__PAGE__",{},[["$L1","$L2"],null],null]},["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","articles","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}],null]},[["$","html",null,{"lang":"en","className":"__variable_f1af2c __variable_9eb1b7 bg-stone-50 text-gray10 dark:bg-gray7 dark:text-stone-200 font-sans leading-7 h-full scroll-smooth","children":[["$","$L5",null,{"gtmId":"GTM-NCLPMPLL"}],["$","body",null,{"className":"h-full flex flex-col","children":[["$","div",null,{"id":"top"}],["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}],["$","noscript",null,{"children":["$","iframe",null,{"src":"https://www.googletagmanager.com/ns.html?id=GTM-NCLPMPLL","height":"0","width":"0","style":{"display":"none","visibility":"hidden"}}]}]]}]]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/01e53d76eacf7286.css","precedence":"next","crossOrigin":"$undefined"}]],[null,"$L6"]]]]] 6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"prudkohliad/blog"}],["$","meta","3",{"name":"description","content":"Software Engineering how-to guides on JavaScript, React, Next.js, Ruby, Golang, PostgreSQL and anything else useful or interesting"}],["$","link","4",{"rel":"canonical","href":"https://www.prudkohliad.com/articles"}],["$","meta","5",{"property":"og:title","content":"prudkohliad/blog"}],["$","meta","6",{"property":"og:description","content":"Software Engineering how-to guides on JavaScript, React, Next.js, Ruby, Golang, PostgreSQL and anything else useful or interesting"}],["$","meta","7",{"property":"og:url","content":"https://www.prudkohliad.com/articles"}],["$","meta","8",{"property":"og:site_name","content":"prudkohliad"}],["$","meta","9",{"property":"og:locale","content":"en-US"}],["$","meta","10",{"property":"og:image","content":"https://www.prudkohliad.com/open-graph/root.webp"}],["$","meta","11",{"property":"og:image:alt","content":"A realistic painting of a library"}],["$","meta","12",{"property":"og:image:width","content":"1200"}],["$","meta","13",{"property":"og:image:height","content":"628"}],["$","meta","14",{"property":"og:type","content":"website"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"prudkohliad/blog"}],["$","meta","17",{"name":"twitter:description","content":"Software Engineering how-to guides on JavaScript, React, Next.js, Ruby, Golang, PostgreSQL and anything else useful or interesting"}],["$","meta","18",{"name":"twitter:image","content":"https://www.prudkohliad.com/twitter/root.webp"}],["$","link","19",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","meta","20",{"name":"next-size-adjust"}]] 1:null 7:I[3403,["403","static/chunks/403-b1650a308eaaf7d9.js","222","static/chunks/app/articles/page-0cd1af6007102beb.js"],""] 2:[["$","script",null,{"id":"structured-data","type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org/\",\"@type\":\"Person\",\"name\":\"Anton Prudkohliad\",\"url\":\"https://www.prudkohliad.com\",\"sameAs\":[\"https://github.com/prutya\",\"https://www.linkedin.com/in/anton-prudkohliad\"],\"jobTitle\":\"Software Engineer\"}"}}],[["$","header",null,{"className":"fixed top-0 left-0 z-50 w-full border-b border-stone-200 dark:border-gray16 bg-stone-50 dark:bg-gray7 md:bg-stone-50/80 md:dark:bg-gray7/80 md:backdrop-blur-sm md:backdrop-saturate-150","children":["$","div",null,{"className":"m-auto w-full max-w-3xl h-14 px-5 flex items-center justify-between","children":[["$","$L7",null,{"href":"/","className":"font-mono after:content-['▁'] after:text-xs","children":"prudkohliad"}],["$","ul",null,{"className":"flex flex-row gap-1","children":[["$","li","My GitHub profile",{"className":"flex justify-center items-center w-6","children":["$","$L7",null,{"href":"https://github.com/prutya","title":"My GitHub profile","target":"_blank","rel":"noopener","className":"block","children":["$","svg",null,{"width":16,"height":16,"children":["$","use",null,{"href":"/icons.svg#svg-icon-github"}]}]}]}],["$","li","My LinkedIn profile",{"className":"flex justify-center items-center w-6","children":["$","$L7",null,{"href":"https://www.linkedin.com/in/anton-prudkohliad","title":"My LinkedIn profile","target":"_blank","rel":"noopener","className":"block","children":["$","svg",null,{"width":16,"height":16,"children":["$","use",null,{"href":"/icons.svg#svg-icon-linkedin"}]}]}]}],["$","li","My X (formerly Twitter) profile",{"className":"flex justify-center items-center w-6","children":["$","$L7",null,{"href":"https://twitter.com/aprudkohliad","title":"My X (formerly Twitter) profile","target":"_blank","rel":"noopener","className":"block","children":["$","svg",null,{"width":16,"height":16,"children":["$","use",null,{"href":"/icons.svg#svg-icon-twitter"}]}]}]}],["$","li","My Reddit profile",{"className":"flex justify-center items-center w-6","children":["$","$L7",null,{"href":"https://www.reddit.com/user/prutya","title":"My Reddit profile","target":"_blank","rel":"noopener","className":"block","children":["$","svg",null,{"width":16,"height":16,"children":["$","use",null,{"href":"/icons.svg#svg-icon-reddit"}]}]}]}],["$","li","anton.prudkohliad@protonmail.com",{"className":"flex justify-center items-center w-6","children":["$","$L7",null,{"href":"mailto:anton.prudkohliad@protonmail.com","title":"anton.prudkohliad@protonmail.com","target":"_blank","rel":"noopener","className":"block","children":["$","svg",null,{"width":16,"height":16,"children":["$","use",null,{"href":"/icons.svg#svg-icon-email"}]}]}]}]]}]]}]}],["$","main",null,{"className":"m-auto w-full max-w-3xl px-5 pt-14 mb-8 flex-grow","children":[["$","div",null,{"className":"mt-5","children":["$","nav",null,{"className":"font-mono","children":[["$","$L7",null,{"href":"/","className":"inline-block underline-thin","children":"home"}],[["$","span",null,{"className":"ml-0.5","children":"/"}],["$","span",null,{"className":"ml-0.5","children":"blog"}]]]}]}],["$","h1",null,{"className":"h1","children":"Blog"}],["$","ul",null,{"children":[["$","li","updating-website-content-on-schedule-via-github-actions-2024-08-16",{"className":"mt-5","children":[["$","$L7",null,{"href":"/articles/updating-website-content-on-schedule-via-github-actions-2024-08-16","className":"inline-block max-w-full underline-thin","children":"Updating website content on schedule via GitHub Actions"}],["$","div",null,{"className":"text-stone-600 dark:text-stone-400 text-sm mt-1","children":["$","time",null,{"dateTime":"2024-08-16T18:39:00.000Z","children":"2024-08-16 18:39"}]}]]}],["$","li","deploy-next-js-to-vps-using-sst-2024-08-11",{"className":"mt-5","children":[["$","$L7",null,{"href":"/articles/deploy-next-js-to-vps-using-sst-2024-08-11","className":"inline-block max-w-full underline-thin","children":"How to deploy a Next.js app to a Hetzner VPS using SST and Docker"}],["$","div",null,{"className":"text-stone-600 dark:text-stone-400 text-sm mt-1","children":["$","time",null,{"dateTime":"2024-08-11T09:00:00.000+02:00","children":"2024-08-11 07:00"}]}]]}],["$","li","deploy-next-js-to-a-vps-2024-07-26",{"className":"mt-5","children":[["$","$L7",null,{"href":"/articles/deploy-next-js-to-a-vps-2024-07-26","className":"inline-block max-w-full underline-thin","children":"How to deploy a Next.js app to a VPS on Hetzner using Docker and GitHub Actions"}],["$","div",null,{"className":"text-stone-600 dark:text-stone-400 text-sm mt-1","children":["$","time",null,{"dateTime":"2024-07-26T17:36:00.000+02:00","children":"2024-07-26 15:36"}]}]]}],["$","li","setup-project-yarn-2024-05-11",{"className":"mt-5","children":[["$","$L7",null,{"href":"/articles/setup-project-yarn-2024-05-11","className":"inline-block max-w-full underline-thin","children":"How to set up a new project using Yarn in 2024"}],["$","div",null,{"className":"text-stone-600 dark:text-stone-400 text-sm mt-1","children":["$","time",null,{"dateTime":"2024-05-11T09:09:00.000+00:00","children":"2024-05-11 09:09"}]}]]}],["$","li","multi-select-dropdown-with-react-and-tailwind-css-2023-10-17",{"className":"mt-5","children":[["$","$L7",null,{"href":"/articles/multi-select-dropdown-with-react-and-tailwind-css-2023-10-17","className":"inline-block max-w-full underline-thin","children":"How to implement a Multi-Select Dropdown component with React and Tailwind CSS"}],["$","div",null,{"className":"text-stone-600 dark:text-stone-400 text-sm mt-1","children":["$","time",null,{"dateTime":"2023-10-17T06:21:00.000Z","children":"2023-10-17 06:21"}]}]]}],["$","li","reuse-svg-icons-2023-08-14",{"className":"mt-5","children":[["$","$L7",null,{"href":"/articles/reuse-svg-icons-2023-08-14","className":"inline-block max-w-full underline-thin","children":"How I optimized SVG icons on my website"}],["$","div",null,{"className":"text-stone-600 dark:text-stone-400 text-sm mt-1","children":["$","time",null,{"dateTime":"2023-08-14T18:51:00.000+03:00","children":"2023-08-14 15:51"}]}]]}],["$","li","setup-project-yarn-2023-06-16",{"className":"mt-5","children":[["$","$L7",null,{"href":"/articles/setup-project-yarn-2023-06-16","className":"inline-block max-w-full underline-thin","children":"How to set up a new project using Yarn"}],["$","div",null,{"className":"text-stone-600 dark:text-stone-400 text-sm mt-1","children":["$","time",null,{"dateTime":"2023-06-17T09:09:00.000+00:00","children":"2023-06-17 09:09"}]}]]}],["$","li","resize-images-open-graph-twitter-sharp-js-2023-06-07",{"className":"mt-5","children":[["$","$L7",null,{"href":"/articles/resize-images-open-graph-twitter-sharp-js-2023-06-07","className":"inline-block max-w-full underline-thin","children":"How to resize images for Open Graph and Twitter using sharp"}],["$","div",null,{"className":"text-stone-600 dark:text-stone-400 text-sm mt-1","children":["$","time",null,{"dateTime":"2023-06-06T20:03:00.000Z","children":"2023-06-06 20:03"}]}]]}],["$","li","slider-react-tailwind-intersection-observer-2023-05-26",{"className":"mt-5","children":[["$","$L7",null,{"href":"/articles/slider-react-tailwind-intersection-observer-2023-05-26","className":"inline-block max-w-full underline-thin","children":"How to implement a slider element using React, Tailwind CSS and Intersection Observer API"}],["$","div",null,{"className":"text-stone-600 dark:text-stone-400 text-sm mt-1","children":["$","time",null,{"dateTime":"2023-05-26T17:02:00.000Z","children":"2023-05-26 17:02"}]}]]}]]}]]}],["$","footer",null,{"className":"mt-auto w-full py-5","children":["$","div",null,{"className":"m-auto w-full max-w-3xl relative px-5 text-stone-600 dark:text-stone-400","children":[["$","div",null,{"className":"w-full text-sm","children":"© Anton Prudkohliad 2024"}],["$","div",null,{"className":"absolute top-0 right-5 h-full flex items-center justify-center","children":[["$","a",null,{"href":"/sitemap.xml","title":"Sitemap","className":"w-6 h-6 flex items-center justify-center","target":"_blank","children":["$","svg",null,{"width":16,"height":16,"children":["$","use",null,{"href":"/icons.svg#svg-icon-sitemap"}]}]}],["$","a",null,{"href":"/rss.xml","title":"RSS Feed","className":"ml-1 w-6 h-6 flex items-center justify-center","target":"_blank","children":["$","svg",null,{"width":16,"height":16,"children":["$","use",null,{"href":"/icons.svg#svg-icon-rss"}]}]}]]}]]}]}]]]