{ version: 3, file: "component---gatsby-theme-husky-src-templates-article-list-article-list-tsx-a3ac78764abae3852af3.js", mappings: "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", sources: [ "webpack://husky-site/../gatsby-theme-husky/src/common/PageSchema/PageSchema.tsx", "webpack://husky-site/../gatsby-theme-husky/src/common/PageSchema/extractors/article.ts", "webpack://husky-site/../gatsby-theme-husky/src/common/PageSchema/extractors/page.ts", "webpack://husky-site/../gatsby-theme-husky/src/common/Seo/Seo.tsx", "webpack://husky-site/../gatsby-theme-husky/src/templates/ArticleList/ArticleList.tsx", "webpack://husky-site/../gatsby-theme-husky/src/utils/functions.ts" ], sourcesContent: [ "import React, { FC } from 'react'; import { graphql, useStaticQuery } from 'gatsby'; import { DangerouslySetInnerHtml } from 'layout'; import articleExtractor from './extractors/article'; import pageExtractor from './extractors/page'; import { ExtractorsMapObject, PageSchemaProps } from './models'; const extractorsMap: ExtractorsMapObject = { Article: articleExtractor, default: pageExtractor, }; const PageSchema: FC = ({ type, name, path, data }) => { const { siteSettings: { siteUrl, siteName, lang }, brandSettings: brandInfo, } = useStaticQuery( graphql` query { siteSettings { siteUrl siteName lang } brandSettings { brandName youtubeUrl facebookUrl } } ` ); const pageHref = path ? `${siteUrl}${path}` : siteUrl; const brandInformation = { ...brandInfo, lang, siteName, siteUrl, sameAs: [ ...(brandInfo.youtubeUrl ? [brandInfo.youtubeUrl] : []), ...(brandInfo.facebookUrl ? [brandInfo.facebookUrl] : []), ], }; const extractor = extractorsMap[type] || extractorsMap.default; const jsonLd = { name: name || siteName, ...{ '@context': 'https://schema.org', '@type': type, }, ...extractor(pageHref, data, brandInformation), }; const structuredData = JSON.stringify(jsonLd); return ( ); }; export default PageSchema; ", "import { ArticleExtractor, BrandInfo } from '../models'; const extractor = ( pageHref: string, { name, createDate, updateDate, author }: ArticleExtractor, { brandName, siteUrl, sameAs }: BrandInfo ): object => { const url = new URL(pageHref); return { mainEntityOfPage: { '@type': 'WebPage', '@id': pageHref, }, headline: name, datePublished: createDate, dateModified: updateDate, author: { '@type': 'Person', name: author || brandName, }, publisher: { '@type': 'Organization', name: brandName, url: siteUrl, sameAs, logo: { '@type': 'ImageObject', url: `${url.origin}/logo.png`, }, }, }; }; export default extractor; ", "import { BrandInfo, PageExtractor } from '../models'; const extractor = (pageHref: string, data: PageExtractor, brandInfo: BrandInfo): object => { const url = new URL(pageHref); return { mainEntityOfPage: { '@type': 'WebPage', '@id': pageHref, }, inLanguage: brandInfo.lang, author: { '@type': 'Person', name: data.author ? data.author : brandInfo.brandName, }, publisher: { '@type': 'Organization', name: brandInfo.brandName, url: brandInfo.siteUrl, sameAs: brandInfo.sameAs, logo: { '@type': 'ImageObject', url: `${url.origin}/logo.png`, }, }, }; }; export default extractor; ", "import React, { FC } from 'react'; import { Helmet } from 'react-helmet'; import { graphql, useStaticQuery } from 'gatsby'; import { SeoProps } from './models'; const Seo: FC = ({ lang, urls, seo: { title, description, keywords, externalHreflangs, additionalMeta, canonicalUrl }, }) => { const { siteSettings, brandSettings, site: { siteMetadata: { siteUrl }, }, } = useStaticQuery(graphql` query SettingsQuery { siteSettings { siteName lang } brandSettings { brandName } site { siteMetadata { siteUrl } } } `); const siteTitle = siteSettings.siteName || ''; const titleTemplate = title === siteTitle ? '%s' : `%s | ${siteTitle}`; const siteAuthor = brandSettings.brandName; const siteLang = lang || siteSettings.lang; const meta = [ { name: 'description', content: description, }, { property: 'og:title', content: title, }, { property: 'og:description', content: description, }, { property: 'og:type', content: 'website', }, { name: 'twitter:card', content: 'summary', }, { name: 'twitter:creator', content: siteAuthor, }, { name: 'twitter:title', content: title, }, { name: 'twitter:description', content: description, }, ...(keywords?.length ? [ { name: 'keywords', content: keywords.join(', '), }, ] : []), ...additionalMeta.map(({ key, value }) => ({ name: key, content: value })), ]; const link = [ ...urls.map(({ lang: hreflang, href }) => ({ rel: 'alternate', href: `${siteUrl}${href}`, hreflang: hreflang.replace('_', '-'), })), ...externalHreflangs.map(({ key, value }) => ({ rel: 'alternate', href: value, hreflang: key, })), ]; return ( {canonicalUrl ? : null} ); }; export default Seo; ", "import React, { FC } from 'react'; import { graphql, Link } from 'gatsby'; import Layout from 'layout/Layout'; import Image from 'common/Image'; import PageSchema from 'common/PageSchema'; import Seo from 'common/Seo'; import { convertDate, filterByTagId, stripHTML } from '../../utils/functions'; import { ArticleListProps } from './models'; import './ArticleList.scss'; const ArticleList: FC<{ data: ArticleListProps }> = ({ data: { articleList: { urls, seo, title, image, tags }, allArticle: { nodes: allItems }, }, }) => { const { title: seoTitle, keywords: seoKeywords, description: seoDescription } = seo; const quantity = 6; const articles = filterByTagId(allItems, tags.id); const [items, setItemsState] = React.useState(articles.slice(0, quantity)); const [selected, setSelectedState] = React.useState(0); const paginate = (page) => { setSelectedState(page); setItemsState(articles.slice(page * quantity, page * quantity + quantity)); }; return (
{title}

{title}

{items.map((article) => (
{article.name}
{article.name}
{convertDate(article.date)}
{`${stripHTML(article.body).substring(0, 150)}...`}
))}
); }; export const query = graphql` query ($url: String) { articleList(url: { eq: $url }) { urls { lang href } seo { ...SEOStructureFragment } title image { desktop { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 1920, quality: 100) } } mobile { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 1920, quality: 100) } } tablet { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 1920, quality: 100) } } } tags { id } } allArticle { nodes { id url name date body image { desktop { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 800, quality: 100) } } mobile { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 800, quality: 100) } } tablet { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 800, quality: 100) } } } tags { id name } } } } `; export default ArticleList; ", "export const isEmpty = (obj): boolean => { if (obj === undefined || obj === null) { return true; } if (Array.isArray(obj)) { return !obj.length; } if (typeof obj === 'object') { return !Object.keys(obj).length; } return !obj; }; export const arrayChunk = (items, n: number = 3) => { const chunks: Array = []; const array = items.slice(); while (array.length) { const chunk = array.splice(0, n); chunks.push(chunk); } return chunks; }; export const getYoutubeId = (value) => { const SRC_REGEX = /src="(.*?)"/im; const url = SRC_REGEX.test(value) ? value.match(SRC_REGEX)[1] : value; const { searchParams, pathname } = new URL(url); return searchParams.get('v') || pathname.replace('/embed', '').replace('/', ''); }; export const filterByTagId = (items, tid: string, limit: number = 0) => { let filtered; if (tid === '') { filtered = items; } else { filtered = items.filter((item) => item.tags.id === tid); } return limit === 0 ? filtered : filtered.slice(0, limit); }; export const convertDate = (date: string) => date.split(' ')[0].split('-').reverse().join('-'); export const stripHTML = (html: string = '
'): string => html.replace(/<[^>]*(>|$)| |‌|»|«|>/g, ''); export default isEmpty; " ], names: [ "extractorsMap", "Article", "pageHref", "name", "createDate", "updateDate", "author", "brandName", "mainEntityOfPage", "headline", "datePublished", "dateModified", "publisher", "url", "siteUrl", "sameAs", "logo", "URL", "origin", "default", "data", "brandInfo", "inLanguage", "lang", "type", "path", "useStaticQuery", "siteSettings", "siteName", "brandSettings", "brandInformation", "youtubeUrl", "facebookUrl", "extractor", "jsonLd", "structuredData", "JSON", "stringify", "element", "html", "urls", "seo", "title", "description", "keywords", "externalHreflangs", "additionalMeta", "canonicalUrl", "site", "siteMetadata", "siteTitle", "titleTemplate", "siteAuthor", "siteLang", "meta", "content", "property", "length", "join", "map", "key", "value", "link", "hreflang", "href", "rel", "replace", "htmlAttributes", "articleList", "image", "tags", "allItems", "allArticle", "nodes", "seoTitle", "seoKeywords", "seoDescription", "articles", "filterByTagId", "id", "React", "slice", "items", "setItemsState", "selected", "setSelectedState", "headerTransparent", "metaTitle", "metaDescription", "metaKeywords", "className", "imageData", "alt", "article", "Link", "to", "convertDate", "date", "stripHTML", "body", "substring", "Array", "Math", "ceil", "fill", "index", "onClick", "page", "arrayChunk", "n", "chunks", "array", "chunk", "splice", "push", "getYoutubeId", "SRC_REGEX", "test", "match", "searchParams", "pathname", "get", "tid", "limit", "filtered", "filter", "item", "split", "reverse" ], sourceRoot: "" }