1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,20349,87589,e=>{"use strict";var t=e.i(43476),a=e.i(68980),r=e.i(57688),l=e.i(48148);let i={databases:"/assets/imgs/articles/categories/databases.svg",php:"/assets/imgs/articles/categories/php.svg",laravel:"/assets/imgs/articles/categories/laravel.svg",devops:"/assets/imgs/articles/categories/devops.svg",architecture:"/assets/imgs/articles/categories/architecture.svg",career:"/assets/imgs/articles/categories/career.svg"},s=e=>"string"==typeof e?e:e?.slug,n=e=>{let t=e?.frontmatter||{};return Array.isArray(t.categories)&&t.categories.length?t.categories.map(s).filter(e=>!!e):"string"==typeof t.category&&t.category?[t.category]:[]},c=e=>n(e)[0]||null,o=e=>{let t=e?.frontmatter?.cover;if(t)return t;let a=c(e);return a&&i[a]||null};e.s(["getCategorySlugs",0,n,"getPrimaryCategorySlug",0,c,"resolveArticleCover",0,o],87589),e.s(["default",0,function({article:e,category:i,rootUrl:s}){let n=(0,l.useTranslations)("articles"),{title:c,excerpt:g,date:m}=e.frontmatter,d=`${e.rootUrl||s}/${e.slug}`,u=o(e),h=e.frontmatter?.cover_alt||e.frontmatter?.title||"";return(0,t.jsx)("article",{className:"article-card",children:(0,t.jsxs)(a.Link,{href:d,className:"article-card__link",children:[u&&(0,t.jsx)("div",{className:"article-card__media","data-accent":i?.accent||"gray",children:"string"==typeof u&&u.toLowerCase().endsWith(".svg")?(0,t.jsx)("img",{src:u,alt:h,loading:"lazy",className:"article-card__img"}):(0,t.jsx)(r.default,{src:u,alt:h,fill:!0,sizes:"(min-width: 1200px) 33vw, (min-width: 768px) 50vw, 100vw",loading:"lazy",className:"article-card__img"})}),(0,t.jsxs)("div",{className:"article-card__body",children:[(0,t.jsxs)("header",{className:"article-card__header",children:[i&&(0,t.jsx)("span",{className:"article-card__pill","data-accent":i.accent||"gray",children:i.label}),(0,t.jsxs)("div",{className:"article-card__meta",children:[m&&(0,t.jsx)("time",{className:"article-card__date",dateTime:m,children:(e=>{if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})})(m)}),e.readingTime?(0,t.jsxs)("span",{className:"article-card__readtime",children:["· ",n("readingTime",{minutes:e.readingTime})]}):null]})]}),(0,t.jsx)("h2",{className:"article-card__title",children:c}),g&&(0,t.jsx)("p",{className:"article-card__excerpt",children:g}),(0,t.jsx)("span",{className:"article-card__more",children:n("readCta")})]})]})})}],20349)},53343,e=>{"use strict";var t=e.i(43476),a=e.i(71645),r=e.i(18566),l=e.i(48148),i=e.i(20349),s=e.i(87589);function n({articles:e,categories:a,rootUrl:r,cols:c=3}){let o=(0,l.useTranslations)("articles");if(!e||!e.length)return(0,t.jsx)("div",{className:"article-list__empty",children:(0,t.jsx)("p",{children:o("noResults")})});let g=new Map(a.map(e=>[e.slug,e])),m=[1,2,3].includes(c)?c:3;return(0,t.jsx)("div",{className:`article-list article-list--cols-${m}`,children:e.map(e=>(0,t.jsx)(i.default,{article:e,category:g.get((0,s.getPrimaryCategorySlug)(e)),rootUrl:r},e.slug))})}let c="articles:layout",o=[1,2,3],g={1:"layout.one",2:"layout.two",3:"layout.three"},m=({cols:e})=>{let a=Array.from({length:e}),r=(16-2*(e-1))/e;return(0,t.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",children:a.map((e,a)=>(0,t.jsx)("rect",{x:a*(r+2),y:"0",width:r,height:"16",rx:"1.5"},a))})};e.s(["default",0,function({section:e,articles:i,categories:d}){let u,h,p=(0,l.useTranslations)("articles"),x=(0,r.useSearchParams)(),y=Number.isFinite(u=parseInt(x.get("page")||"1",10))&&u>1?u:1,j=(h=x.get("category"))&&d.some(e=>e.slug===h)?h:"all",[_,f]=(0,a.useState)(j),[b,v]=(0,a.useState)(""),[N,w]=(0,a.useState)(y),[S,$]=(0,a.useState)(3),P=(e=>{let[t,r]=(0,a.useState)(e);return(0,a.useEffect)(()=>{let t=setTimeout(()=>r(e),200);return()=>clearTimeout(t)},[e,200]),t})(b),C=(0,a.useRef)(j),T=(0,a.useRef)("");(0,a.useEffect)(()=>{try{let e=parseInt(window.localStorage.getItem(c)||"",10);o.includes(e)&&$(e)}catch{}},[]);let k=(0,a.useMemo)(()=>{let e=P.trim().toLowerCase();return i.filter(t=>("all"===_||!!(0,s.getCategorySlugs)(t).includes(_))&&(!e||[t.frontmatter.title,t.frontmatter.excerpt].filter(
1Boolean).join(" ").toLowerCase().includes(e)))},[i,_,P]);(0,a.useEffect)(()=>{(_!==C.current||P!==T.current)&&(C.current=_,T.current=P,w(1))},[_,P]);let L=Math.max(1,Math.ceil(k.length/12)),A=Math.min(Math.max(1,N),L),U=k.slice((A-1)*12,12*A);(0,a.useEffect)(()=>{let e=new URL(window.location.href);A<=1?e.searchParams.delete("page"):e.searchParams.set("page",String(A)),"all"===_?e.searchParams.delete("category"):e.searchParams.set("category",_);let t=`${e.pathname}${e.search}`;t!==window.location.pathname+window.location.search&&window.history.replaceState(null,"",t)},[A,_]);let I=e=>{w(e),window.scrollTo({top:0,behavior:"smooth"})},M=((e,t)=>{if(t<=7)return Array.from({length:t},(e,t)=>t+1);let a=[...new Set([1,t,e-1,e,e+1])].filter(e=>e>=1&&e<=t).sort((e,t)=>e-t),r=[];for(let e=0;e<a.length;e++)r.push(a[e]),e<a.length-1&&a[e+1]-a[e]>1&&r.push("ellipsis");return r})(A,L);return(0,t.jsx)("section",{className:"article-section pt-30 pb-120",children:(0,t.jsxs)("div",{className:"container",children:[(0,t.jsxs)("header",{className:"article-section__header",children:[(0,t.jsx)("h1",{className:"article-section__title",children:e.title||p("pageTitle")}),e.short_description&&(0,t.jsx)("p",{className:"article-section__lead",children:e.short_description})]}),(0,t.jsxs)("div",{className:"article-section__controls pb-20",children:[(0,t.jsxs)("div",{className:"article-filters",role:"tablist","aria-label":p("ariaCategories"),children:[(0,t.jsxs)("button",{type:"button",role:"tab","aria-selected":"all"===_,className:`article-filter ${"all"===_?"is-active":""}`,onClick:()=>f("all"),children:[p("filterAll"),(0,t.jsx)("span",{className:"article-filter__count",children:i.length})]}),d.map(e=>{let a=i.filter(t=>(0,s.getCategorySlugs)(t).includes(e.slug)).length;return a?(0,t.jsxs)("button",{type:"button",role:"tab","aria-selected":_===e.slug,className:`article-filter ${_===e.slug?"is-active":""}`,"data-accent":e.accent||"gray",onClick:()=>f(e.slug),children:[e.label,(0,t.jsx)("span",{className:"article-filter__count",children:a})]},e.slug):null})]}),(0,t.jsxs)("div",{className:"article-section__tools",children:[(0,t.jsxs)("label",{className:"article-search",children:[(0,t.jsx)("span",{className:"visually-hidden",children:p("searchPlaceholder")}),(0,t.jsx)("input",{type:"search",value:b,onChange:e=>v(e.target.value),placeholder:p("searchPlaceholder"),className:"article-search__input"}),b&&(0,t.jsx)("button",{type:"button",className:"article-search__clear",onClick:()=>v(""),"aria-label":p("clearSearch"),children:"Ã"})]}),(0,t.jsx)("div",{className:"article-layout-switch",role:"group","aria-label":p("ariaLayout"),children:o.map(e=>(0,t.jsx)("button",{type:"button",className:`article-layout-switch__btn ${S===e?"is-active":""}`,onClick:()=>(e=>{if(o.includes(e)){$(e);try{window.localStorage.setItem(c,String(e))}catch{}}})(e),"aria-pressed":S===e,"aria-label":p(g[e]),title:p(g[e]),children:(0,t.jsx)(m,{cols:e})},e))})]})]}),(0,t.jsx)("p",{className:"article-section__count",role:"status","aria-live":"polite",children:k.length===i.length?p("countAll",{count:i.length}):p("countFiltered",{shown:k.length,total:i.length})}),(0,t.jsx)(n,{articles:U,categories:d,rootUrl:"/articles",cols:S}),L>1&&(0,t.jsxs)("nav",{className:"article-pagination","aria-label":p("ariaPagination"),children:[(0,t.jsxs)("button",{type:"button",className:"article-pagination__btn article-pagination__btn--nav",onClick:()=>I(A-1),disabled:A<=1,"aria-label":p("ariaPaginationPrev"),children:["â¹ ",p("paginationPrev")]}),M.map((e,a)=>"ellipsis"===e?(0,t.jsx)("span",{className:"article-pagination__gap","aria-hidden":"true",children:"â¦"},`gap-${a}`):(0,t.jsx)("button",{type:"button",className:`article-pagination__btn ${e===A?"is-active":""}`,onClick:()=>I(e),"aria-current":e===A?"page":void 0,"aria-label":p("ariaPaginationPage",{page:e}),children:e},e)),(0,t.jsxs)("button",{type:"button",className:"article-pagination__btn article-pagination__btn--nav",onClick:()=>I(A+1),disabled:A>=L,"aria-label":p("ariaPaginationNext"),children:[p("paginationNext")," âº"]})]})]})})}],53343)},53421,e=>{"use strict";var t=e.i(43476),a=e.i(18566),r=e.i(61745),l=e.i(94590),i=e.i(89121),s=e.i(86740);e.s(["default",0,function({title:e,meta_title:n,image:c,description:o,imageAlt:g,imageWidth:m=1200,imageHeight:d=630,canonical:u,noindex:h,type:p="website",siteName:x,locale:y="en_US",publishedTime:j,modifiedTime:_,author:f,schemaType:b,keywords:v,breadcrumbs:N}){let w=(0,r.useLocale)(),S=(0,l.getSiteConfig)(w),{meta_image:$,meta_author:P,meta_description:C}
1=S.metadata,{base_url:T,title:k}=S.site_info,L=(0,a.usePathname)()||"/",A=w!==i.defaultLocale&&L.startsWith(`/${w}`)?L.slice(`/${w}`.length)||"/":L,U=i.locales.map(e=>{let a=e===i.defaultLocale?"":`/${e}`,r="/"===A&&a?"":A;return(0,t.jsx)("link",{rel:"alternate",hrefLang:e,href:`${T}${a}${r}`},`hreflang-${e}`)}),I=(0,t.jsx)("link",{rel:"alternate",hrefLang:"x-default",href:`${T}${A}`},"hreflang-x-default"),M="string"==typeof c&&c.toLowerCase().endsWith(".svg")?$:c||$,O=`${T}${M}`,B=(0,s.plainText)(n||e||k),E=(0,s.plainText)(o||C),R=x||k,D=u||`${T}${L}`,W=g||e||R,z=Array.isArray(v)&&v.length?v.join(", "):null,F="article"===p,H=j?new Date(j).toISOString():void 0,J=_?new Date(_).toISOString():H,K=F?JSON.stringify({"@context":"https://schema.org","@type":b||"BlogPosting",mainEntityOfPage:{"@type":"WebPage","@id":D},headline:e||n,description:E,image:[O],datePublished:H,dateModified:J,author:{"@type":"Person",name:f||P,url:`${T}/about`},publisher:{"@type":"Person",name:P,url:`${T}/about`,image:`${T}${$}`},keywords:z||void 0}):null,q=Array.isArray(N)&&N.length?JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:N.map((e,t)=>({"@type":"ListItem",position:t+1,name:e.name,item:e.url}))}):null;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("title",{children:B}),(0,t.jsx)("link",{rel:"canonical",href:D,itemProp:"url"}),U,I,h&&(0,t.jsx)("meta",{name:"robots",content:"noindex,nofollow"}),(0,t.jsx)("meta",{name:"description",content:E}),z&&(0,t.jsx)("meta",{name:"keywords",content:z}),(0,t.jsx)("meta",{name:"author",content:P}),(0,t.jsx)("meta",{property:"og:title",content:B}),(0,t.jsx)("meta",{property:"og:description",content:E}),(0,t.jsx)("meta",{property:"og:type",content:p}),(0,t.jsx)("meta",{property:"og:url",content:D}),(0,t.jsx)("meta",{property:"og:site_name",content:R}),(0,t.jsx)("meta",{property:"og:locale",content:"uk"===w?"uk_UA":"en_US"}),i.locales.filter(e=>e!==w).map(e=>(0,t.jsx)("meta",{property:"og:locale:alternate",content:"uk"===e?"uk_UA":"en_US"},`og-alt-${e}`)),(0,t.jsx)("meta",{property:"og:image",content:O}),(0,t.jsx)("meta",{property:"og:image:width",content:String(m)}),(0,t.jsx)("meta",{property:"og:image:height",content:String(d)}),(0,t.jsx)("meta",{property:"og:image:alt",content:W}),H&&(0,t.jsx)("meta",{property:"article:published_time",content:H}),J&&J!==H&&(0,t.jsx)("meta",{property:"article:modified_time",content:J}),f&&(0,t.jsx)("meta",{property:"article:author",content:f}),(0,t.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,t.jsx)("meta",{name:"twitter:title",content:B}),(0,t.jsx)("meta",{name:"twitter:description",content:E}),(0,t.jsx)("meta",{name:"twitter:image",content:O}),(0,t.jsx)("meta",{name:"twitter:image:alt",content:W}),K&&(0,t.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:K}}),q&&(0,t.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:q}})]})}])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.