{"version":3,"sources":["webpack://flexible-gatsby/./src/components/seo.js","webpack://flexible-gatsby/./src/templates/blog-list.js"],"names":["SEO","description","lang","meta","title","site","useStaticQuery","metaDescription","siteMetadata","htmlAttributes","titleTemplate","name","content","property","author","concat","defaultProps","BlogIndex","render","data","this","props","siteTitle","posts","allMarkdownRemark","edges","pageContext","currentPage","numPages","isFirst","isLast","prevPage","toString","nextPage","keywords","className","map","node","key","fields","slug","frontmatter","img","childImageSharp","gatsbyImageData","Link","to","style","backgroundImage","images","fallback","src","excerpt","date","timeToRead","role","rel","React"],"mappings":"yJAYA,SAASA,EAAT,GAAkD,IAAnCC,EAAkC,EAAlCA,YAAaC,EAAqB,EAArBA,KAAMC,EAAe,EAAfA,KAAMC,EAAS,EAATA,MAC9BC,GAASC,oBAAe,YAAxBD,KAcFE,EAAkBN,GAAeI,EAAKG,aAAaP,YAEzD,OACE,gBAAC,IAAD,CACEQ,eAAgB,CACdP,QAEFE,MAAOA,EACPM,cAAa,QAAUL,EAAKG,aAAaJ,MACzCD,KAAM,CACJ,CACEQ,KAAK,cACLC,QAASL,GAEX,CACEM,SAAS,WACTD,QAASR,GAEX,CACES,SAAS,iBACTD,QAASL,GAEX,CACEM,SAAS,UACTD,QAAQ,WAEV,CACED,KAAK,eACLC,QAAQ,WAEV,CACED,KAAK,kBACLC,QAASP,EAAKG,aAAaM,QAE7B,CACEH,KAAK,gBACLC,QAASR,GAEX,CACEO,KAAK,sBACLC,QAASL,IAEXQ,OAAOZ,KAKfH,EAAIgB,aAAe,CACjBd,KAAK,KACLC,KAAM,GACNF,YAAY,IAUd,O,+FCjFMgB,E,6FACJC,OAAA,WACE,IAAQC,EAASC,KAAKC,MAAdF,KACFG,EAAYH,EAAKd,KAAKG,aAAaJ,MACnCmB,EAAQJ,EAAKK,kBAAkBC,MACrC,EAAkCL,KAAKC,MAAMK,YAArCC,EAAR,EAAQA,YAAaC,EAArB,EAAqBA,SACfC,EAA0B,IAAhBF,EACVG,EAASH,IAAgBC,EACzBG,EAAWJ,EAAc,GAAM,EAAI,KAAOA,EAAc,GAAGK,WAC3DC,GAAYN,EAAc,GAAGK,WAEnC,OACE,gBAAC,IAAD,KACE,gBAAC,IAAD,CACE5B,MAAOkB,EACPY,SAAU,CAAC,OAAD,iCAEZ,uBAAKC,UAAU,wBACZZ,EAAMa,KAAI,YAAe,IAAZC,EAAW,EAAXA,KACZ,OACE,2BAASF,UAAU,OAAOG,IAAKD,EAAKE,OAAOC,MACxCH,EAAKI,YAAYC,KAChBL,EAAKI,YAAYC,IAAIC,iBACrBN,EAAKI,YAAYC,IAAIC,gBAAgBC,iBACnC,gBAAC,EAAAC,KAAD,CACEC,GAAIT,EAAKE,OAAOC,KAChBL,UAAU,iBACVY,MAAO,CACLC,gBAAgB,OAAQX,EAAKI,YAAYC,IAAIC,gBAAgBC,gBAAgBK,OAAOC,SAASC,IAA9E,OAIvB,uBAAKhB,UAAU,gBACb,sBAAIA,UAAU,cACZ,gBAAC,EAAAU,KAAD,CAAMC,GAAIT,EAAKE,OAAOC,MAAOH,EAAKI,YAAYrC,QAEhD,yBAAIiC,EAAKe,SACT,wBAAMjB,UAAU,aACbE,EAAKI,YAAYY,KADpB,QAGA,wBAAMlB,UAAU,cACbE,EAAKiB,WADR,qBAOR,uBAAKnB,UAAU,aACb,uBAAKA,UAAU,aAAaoB,KAAK,cAC/B,2BACI1B,GACA,yBACE,gBAAC,EAAAgB,KAAD,CAAMC,GAAIf,EAAUyB,IAAI,OAAOrB,UAAU,eAAzC,oBAKJ,yBACE,wBAAMA,UAAU,eAAhB,QACQR,EADR,OACyBC,KAGzBE,GACA,yBACE,gBAAC,EAAAe,KAAD,CAAMC,GAAIb,EAAUuB,IAAI,OAAOrB,UAAU,eAAzC,sB,GAhEIsB,aA8ExB","file":"component---src-templates-blog-list-js-13f34a188d0babdb760c.js","sourcesContent":["/**\n * SEO component that queries for data with\n * Gatsby's useStaticQuery React hook\n *\n * See: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport Helmet from 'react-helmet'\nimport { useStaticQuery, graphql } from 'gatsby'\n\nfunction SEO({ description, lang, meta, title }) {\n const { site } = useStaticQuery(\n graphql`\n query {\n site {\n siteMetadata {\n title\n description\n author\n }\n }\n }\n `\n )\n\n const metaDescription = description || site.siteMetadata.description\n\n return (\n \n )\n}\n\nSEO.defaultProps = {\n lang: `en`,\n meta: [],\n description: ``,\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string.isRequired,\n}\n\nexport default SEO\n","import React from 'react'\nimport { Link, graphql } from 'gatsby'\n\nimport DefaultLayout from '../components/layout'\nimport SEO from '../components/seo'\n\nclass BlogIndex extends React.Component {\n render() {\n const { data } = this.props\n const siteTitle = data.site.siteMetadata.title\n const posts = data.allMarkdownRemark.edges\n const { currentPage, numPages } = this.props.pageContext\n const isFirst = currentPage === 1\n const isLast = currentPage === numPages\n const prevPage = currentPage - 1 === 1 ? '/' : (currentPage - 1).toString()\n const nextPage = (currentPage + 1).toString()\n\n return (\n \n \n
\n {posts.map(({ node }) => {\n return (\n
\n {node.frontmatter.img &&\n node.frontmatter.img.childImageSharp &&\n node.frontmatter.img.childImageSharp.gatsbyImageData && (\n \n )}\n
\n

\n {node.frontmatter.title}\n

\n

{node.excerpt}

\n \n {node.frontmatter.date}  — \n \n \n {node.timeToRead} minute read\n \n
\n
\n )\n })}\n
\n \n
\n
\n
\n )\n }\n}\n\nexport default BlogIndex\n\nexport const pageQuery = graphql`\n query blogPageQuery($skip: Int!, $limit: Int!) {\n site {\n siteMetadata {\n title\n }\n }\n allMarkdownRemark(\n sort: { fields: [frontmatter___date], order: DESC }\n limit: $limit\n skip: $skip\n ) {\n edges {\n node {\n excerpt\n fields {\n slug\n }\n timeToRead\n frontmatter {\n date(formatString: \"YYYY, MMM DD\")\n title\n img {\n childImageSharp {\n gatsbyImageData(placeholder: BLURRED, layout: FULL_WIDTH, formats: [AUTO, AVIF, WEBP])\n }\n }\n }\n }\n }\n }\n }\n`\n"],"sourceRoot":""}