{"version":3,"sources":["webpack:///./src/components/footer.jsx","webpack:///./src/templates/main.jsx"],"names":["Footer","className","pageQuery","Main","data","markdownRemark","frontmatter","title","description","__html","html","langKey","pageContext","lang","dangerouslySetInnerHTML"],"mappings":"6HAYeA,EATA,kBACb,yBAAKC,UAAU,yBACb,yBAAKA,UAAU,mCAAf,yC,kCCLJ,0CAOA,IAwBaC,EAAS,aAcPC,UAtCF,SAAC,GAQP,IAAD,IAPJC,KACEC,eAME,IALAC,YAAcC,EAKd,EALcA,MAAOC,EAKrB,EALqBA,YACfC,EAIN,EAJAC,KAGUC,EACV,EADJC,YAAcD,QAEd,OACE,yBAAKV,UAAU,iBACb,kBAAC,IAAD,CAAKM,MAAOA,EAAOC,YAAaA,EAAaK,KAAMF,IACnD,kBAAC,IAAD,CAAQE,KAAMF,IACd,yBAAKV,UAAU,uBACb,yBACEA,UAAU,yBACVa,wBAAyB,CAACL,aAG9B,kBAAC,EAAD","file":"component---src-templates-main-jsx-509f65dc90a3e989be93.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Footer = () => (\n  <div className='eclipse-jkube__footer'>\n    <div className='eclipse-jkube__footer-copyright'>Copyright © Eclipse Foundation 2020</div>\n  </div>\n);\n\nFooter.propTypes = {\n};\n\nexport default Footer;\n","import React from 'react';\nimport {graphql} from 'gatsby';\nimport Footer from '../components/footer'\nimport Header from '../components/header';\nimport Seo from '../components/seo';\nimport '../styles/main.scss';\n\nconst Main = ({\n  data: {\n    markdownRemark: {\n      frontmatter: {title, description},\n      html: __html\n    }\n  },\n  pageContext: {langKey}\n}) => {\n  return (\n    <div className='eclipse-jkube'>\n      <Seo title={title} description={description} lang={langKey}/>\n      <Header lang={langKey}/>\n      <div className='eclipse-jkube__main'>\n        <div\n          className='eclipse-jkube__content'\n          dangerouslySetInnerHTML={{__html}}\n        />\n      </div>\n      <Footer/>\n    </div>\n  );\n};\n\nexport const pageQuery = graphql`\n  query($slug: String!) {\n    markdownRemark(fields: { slug: { eq: $slug } }) {\n      html\n      frontmatter {\n        date(formatString: \"MMMM DD, YYYY\")\n        path\n        title\n        description\n      }\n    }\n  }\n`;\n\nexport default Main;\n"],"sourceRoot":""}