{"version":3,"sources":["webpack:///./src/templates/category-page.js"],"names":["CategoryPage","props","posts","data","allMdx","nodes","useSiteMetaData","siteURL","siteName","title","cPage","markdownRemark","frontmatter","firstPost","fSlug","fields","slug","sdate","moddate","writer","img","featuredimage","base","articleSchema","pageContext","currentPage","numPages","isFirst","isLast","prevPage","nextPage","className","seoTitle","description","seoDescription","schema","map","post","date","childImageSharp","original","width","height","key","id","to","srcSet","src","alt","loading","toLowerCase","split","join","rel"],"mappings":"4FAAA,gFA2HeA,UApHM,SAACC,GAAW,IAChBC,EAAUD,EAAME,KAAKC,OAA5BC,MADsB,EAEOC,cAA7BC,EAFsB,EAEtBA,QAAgBC,EAFM,EAEbC,MACXC,EAAQT,EAAME,KAAKQ,eAAeC,YAClCC,EAAYX,EAAM,GAClBY,EAAQD,GAAaA,EAAUE,OAAOC,KALd,EAMaH,GAAaA,EAAUD,aAAgB,GAA1EH,EANsB,EAMtBA,MAAOQ,EANe,EAMfA,MAAOC,EANQ,EAMRA,QAASC,EAND,EAMCA,OACjBC,GAASP,GAAaA,EAAUD,YAAYS,eAAkB,IAApEC,KAEFC,EACJV,GAAS,8IAMGN,EAAUO,EANb,gCAQML,EARN,8BAUJF,EAVI,QAUWa,EAVX,qCAYWH,EAZX,4BAaUC,EAbV,iEAgBIC,EAhBJ,kFAoBIX,EApBJ,yEAuBKD,EAvBL,8CAVmB,EAsCUN,EAAMuB,YAAtCC,EAtCsB,EAsCtBA,YAAaC,EAtCS,EAsCTA,SAAUV,EAtCD,EAsCCA,KACzBW,EAA0B,IAAhBF,EACVG,EAASH,IAAgBC,EACzBG,EAAWJ,EAAc,GAAM,EAAOT,EAA3B,IAAwCA,EAAxC,UAAqDS,EAAc,GAAnE,IACXK,EAAcd,EAAN,UAAmBS,EAAc,GAAjC,IAEd,OACE,kBAAC,IAAD,KACE,6BAASM,UAAU,yBACjB,kBAAC,IAAD,CAAUtB,MAAOC,EAAMsB,SAAUC,YAAavB,EAAMwB,eAAgBC,OAAQZ,IAC5E,yBAAKQ,UAAU,qBACb,yBAAKA,UAAU,wBACb,4BAAKrB,EAAMD,OACX,2BAAIC,EAAMuB,cAEZ,yBAAKF,UAAU,2BACb,yBAAKA,UAAU,oBACZ7B,EAAMkC,KAAI,SAACC,GAAU,IAAD,EACaA,EAAKzB,YAA7BH,EADW,EACXA,MAAOU,EADI,EACJA,OAAQmB,EADJ,EACIA,KACTlB,EAAQiB,EAAKzB,YAAYS,cAA/BC,KAFW,EAGOe,EAAKzB,YAAYS,cAAckB,gBAAgBC,SAAjEC,EAHW,EAGXA,MAAOC,EAHI,EAGJA,OACT1B,EAAOqB,EAAKtB,OAAOC,KAEzB,OACE,yBAAKe,UAAU,kBAAkBY,IAAKN,EAAKO,IACzC,yBAAKb,UAAU,gBACb,yBAAKA,UAAU,sBACb,yBAAKA,UAAU,sBACb,kBAAC,IAAD,CAAMc,GAAO7B,EAAL,KACN,iCACE,4BAAQ8B,OAAM,QAAU1B,EAAV,yBACd,yBAAK2B,IAAG,QAAU3B,EAAO4B,IAAKvC,EAAOwC,QAAQ,OAAOR,MAAOA,EAAOC,OAAQA,QAKlF,yBAAKX,UAAU,sBACb,kBAAC,IAAD,CAAMc,GAAO7B,EAAL,KAAeP,IAEzB,yBAAKsB,UAAU,qBACb,kBAAC,IAAD,CAAMc,GAAE,WAAa1B,EAAO+B,cAAcC,MAAM,KAAKC,KAAK,KAAlD,KAA4DjC,GADtE,MACwFmB,UAQpG,yBAAKP,UAAU,cACb,yBAAKA,UAAU,aACXJ,GACA,kBAAC,IAAD,CAAMkB,GAAE,GAAKhB,EAAYwB,IAAI,QAA7B,kBAKJ,yBAAKtB,UAAU,aACXH,GACA,kBAAC,IAAD,CAAMiB,GAAE,GAAKf,EAAYuB,IAAI,QAA7B","file":"component---src-templates-category-page-js.js","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Layout from \"../components/Layout\";\nimport HeadData from \"../components/HeadData.js\";\nimport { graphql, Link } from \"gatsby\";\nimport useSiteMetaData from \"../components/SiteMetadata.js\";\n\nconst CategoryPage = (props) => {\n const { nodes: posts } = props.data.allMdx;\n const { siteURL, title: siteName } = useSiteMetaData();\n const cPage = props.data.markdownRemark.frontmatter;\n const firstPost = posts[0];\n const fSlug = firstPost && firstPost.fields.slug;\n const { title, sdate, moddate, writer } = (firstPost && firstPost.frontmatter) || {};\n const { base: img } = (firstPost && firstPost.frontmatter.featuredimage) || {};\n\n const articleSchema =\n firstPost &&\n `{\n \"@context\": \"https://schema.org\",\n \"@type\": \"NewsArticle\",\n \"mainEntityOfPage\": {\n \"@type\": \"WebPage\",\n \"@id\": \"${siteURL}${fSlug}/\"\n },\n \"headline\": \"${title}\",\n \"image\": [\n \"${siteURL}/img/${img}\"\n ],\n \"datePublished\": \"${sdate}\",\n \"dateModified\": \"${moddate}\",\n \"author\": {\n \"@type\": \"Person\",\n \"name\": \"${writer}\"\n },\n \"publisher\": {\n \"@type\": \"Organization\",\n \"name\": \"${siteName}\",\n \"logo\": {\n \"@type\": \"ImageObject\",\n \"url\": \"${siteURL}/img/logo-x-large.jpg\"\n }\n }\n }`;\n\n const { currentPage, numPages, slug } = props.pageContext;\n const isFirst = currentPage === 1;\n const isLast = currentPage === numPages;\n const prevPage = currentPage - 1 === 1 ? `${slug}/` : `${slug}/page/${currentPage - 1}/`;\n const nextPage = `${slug}/page/${currentPage + 1}/`;\n\n return (\n \n
\n \n
\n
\n

{cPage.title}

\n

{cPage.description}

\n
\n
\n
\n {posts.map((post) => {\n const { title, writer, date } = post.frontmatter;\n const { base: img } = post.frontmatter.featuredimage;\n const { width, height } = post.frontmatter.featuredimage.childImageSharp.original;\n const slug = post.fields.slug;\n\n return (\n
\n
\n
\n
\n \n \n \n {title}\n \n \n
\n
\n
\n {title}\n
\n
\n {writer} | {date}\n
\n
\n
\n );\n })}\n
\n
\n
\n
\n {!isFirst && (\n \n ← Newer Posts\n \n )}\n
\n
\n {!isLast && (\n \n Older Posts →\n \n )}\n
\n
\n
\n
\n
\n );\n};\n\nCategoryPage.propTypes = {\n data: PropTypes.shape({\n allMarkdownRemark: PropTypes.shape({\n edges: PropTypes.array,\n }),\n }),\n};\n\nexport default CategoryPage;\n\nexport const pageQuery = graphql`\n query CategoryPageByTag($id: String!, $category: String!, $skip: Int!, $limit: Int!) {\n allMdx(sort: { order: DESC, fields: [frontmatter___date] }, filter: { frontmatter: { cat: { eq: $category } } }, limit: $limit, skip: $skip) {\n nodes {\n excerpt(pruneLength: 400)\n id\n fields {\n slug\n }\n frontmatter {\n title\n writer\n templateKey\n date(fromNow: true)\n sdate: date(formatString: \"YYYY-MM-DDTHHmmss\")\n moddate(formatString: \"YYYY-MM-DDTHHmmss\")\n featuredimage {\n name\n base\n childImageSharp {\n original {\n height\n width\n }\n }\n }\n }\n }\n }\n markdownRemark(id: { eq: $id }) {\n frontmatter {\n title\n description\n seoTitle\n seoDescription\n }\n }\n }\n`;\n"],"sourceRoot":""}