-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---src-templates-blog-post-js-26ab79a6b44f9dedab9d.js.map
1 lines (1 loc) · 33.4 KB
/
component---src-templates-blog-post-js-26ab79a6b44f9dedab9d.js.map
1
{"version":3,"sources":["webpack:///./src/components/Hero.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./src/components/Flag/fr-flag.png","webpack:///./src/components/Translations.js","webpack:///./src/components/Time.js","webpack:///./src/components/ContentHeader.js","webpack:///./src/components/Content.js","webpack:///./src/components/Flag/uk-flag.png","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/gatsby-plugin-mdx/mdx-renderer.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack:///./src/components/TagList.js","webpack:///./src/components/Flag/Flag.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/construct.js","webpack:///./src/components/Article.js","webpack:///./src/components/PrevNextPost.js","webpack:///./src/templates/blog-post.js"],"names":["Container","styled","HeroImage","Trees","TitleContainer","Title","props","style","backgroundImage","_typeof","module","exports","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","String","Number","__esModule","iter","iterator","Array","from","arrayLikeToArray","arr","isArray","TranslationContainer","colors","InfoText","TranslationLink","render","translations","this","key","i","href","withPrefix","translation","React","Component","TimeContainer","date","dateObject","Date","yyyymmdd","year","month","day","friendlyDate","datetime","Header","tags","ContentBody","Content","content","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","len","length","arr2","require","useMDXComponents","mdx","useMDXScope","scope","components","children","mdxComponents","mdxScope","End","fullScope","keys","Object","values","fn","o","minLen","n","prototype","toString","slice","constructor","name","test","Reflect","construct","sham","Proxy","Boolean","valueOf","e","ListContainer","TagListItemLink","TagListItem","TagList","noLink","to","tag","FlagImage","Flag","language","img","alt","src","className","toPropertyKey","obj","value","defineProperty","enumerable","configurable","writable","arg","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","args","Class","bind","a","push","apply","instance","Function","arguments","ArticleWrapper","post","PreviewContainer","Preview","PreviewCover","PreviewContent","articles","item","node","useSiteMetadata","siteCover","defaultLang","fluid","useSiteImages","article","excerpt","timeToRead","cover","title","slug","heroImg","aria-label","min","BlogPostTemplate","data","previous","next","location","description","imageShare","lang","path","isBlogPost","pageQuery"],"mappings":"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","file":"component---src-templates-blog-post-js-26ab79a6b44f9dedab9d.js","sourcesContent":["import React from 'react'\nimport styled from 'styled-components'\n\nconst Container = styled.div`\n width: 100%;\n margin: 0 auto;\n height: 500px;\n`\n\nconst HeroImage = styled.div`\nposition: absolute; \n width: 100%;\n height: 500px;\n max-width: 1140px;\n left: 0;\n right: 0;\n margin: 0 auto;\n overflow: hidden;\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover;\n`\n\nconst Trees = styled.div`\n position: absolute;\n max-width: 2070px;\n width: 100%;\n height: 500px;\n margin: 0 auto;\n background-repeat: repeat-x;\n background-position: center;\n background-size: cover;\n z-index: 1;\n`\n\nconst TitleContainer = styled.div`\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n text-align: center;\n width: 100%;\n vertical-align: bottom;\n padding-bottom: 32px;\n`\n\nconst Title = styled.h1`\n font-weight: 700;\n font-size: 32sp;\n margin: 10px 50px;\n color: white;\n text-shadow: 1px 1px 4px rgba(34, 34, 34, 0.85);\n`\n\nconst Hero = props => {\n return (\n <Container> \n <HeroImage style={{ backgroundImage: `url(\"${ props.heroImg}\")` }}>\n <TitleContainer>\n <Title>{props.title}</Title>\n </TitleContainer>\n </HeroImage>\n <Trees style={{ backgroundImage: `url(\"${props.treesImg}\")` }}/>\n </Container>\n )\n}\n\nexport default Hero\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAKnRFWHRDcmVhdGlvbiBUaW1lAEZyIDkgTm92IDIwMDcgMTY6Mjc6MDYgKzAxMDAM3ZqdAAAAB3RJTUUH1wsJDxwzm8yD2gAAAAlwSFlzAAALEgAACxIB0t1+/AAAAARnQU1BAACxjwv8YQUAAAHdSURBVHjaxVO7btRAFD3zsNdxQIqQqBYk6ghR0tLxDXwCn8HX0BGlo6JCKAqCIlVCkCjQLgkgxbDB67XnlXPHRvsJGWs04/F53ZkxcNtNvXj5arG7uzf3KfJNIUSFh/dn2H9Qc564pABj0Z98hPt6CsVHyzoCrv6tl/bO3Xvzx0+fw0cveugp8ORRjWf7e1lAmi5naKuAHh2QSI4RpQbeHBzOrSfIBQ/vAzWRE8jcDQNCQk4g3TtinMtkEUHfIaxW0OIqa55rMTEYu3xXWm/r1AYZ5AYolqoJ6D4dU1jDCjFkMrskoFukKG2ys56EFEkyC38abE4+w1z/heU3K0Q/OUchp0zNxCCuU+sX37F69xZYt9CmQDHKUYDwQMPIONpo9A5o2gH9ZoPBjwKm5h78/glcs+ayylQtpyOjQFLS2fnovMHrDz9wftEixTACJKY1HFUmZbIk5GM4WkWyI/bg+AJD0CjKAmVhMlFPpchmaWUm4v8+HrElAu/Pmnz+RWmReGmU2QoYmRsRQHYdE2CbYMOaF51HOWNt1iJSoODFqeSd9YlAUe2g4+gVpjI0ZmoUspe/Lpfdqpk7cWH0QN0zVeOwqxnSjJtYVWi/fEO/DlDWZ2chX4W0vO1/EbgBHTnbxGOMU+UAAAAASUVORK5CYII=\"","import React, { Fragment } from 'react'\nimport { withPrefix } from 'gatsby'\nimport styled from 'styled-components'\nimport { colors } from '../tokens'\n\nconst TranslationContainer = styled.div`\n border-radius: 5px;\n padding: 10px;\n margin-top: 10px;\n background-color: ${colors.lightYellow};\n border: 1px solid ${colors.grey700};\n`\n\nconst InfoText = styled.span`\n color: ${colors.grey900};\n`\n\nconst TranslationLink = styled.a`\n color: ${colors.grey900};\n text-decoration: underline;\n`\n\nclass Translations extends React.Component {\n render() {\n const { translations } = this.props\n\n return (\n <TranslationContainer>\n <InfoText>This article also exists in: </InfoText>\n {translations.map((translation, i) => {\n return (\n <Fragment key={`translation-${i}`}>\n <TranslationLink href={withPrefix(translation.link)}>\n {translation.language}\n </TranslationLink>\n {i < translations.length - 1 ? ', ' : ''}\n </Fragment>\n )\n })}\n </TranslationContainer>\n )\n }\n}\nexport default Translations\n","import React from 'react'\nimport styled from 'styled-components'\nimport { colors } from '../tokens'\n\nconst Time = props => {\n const TimeContainer = styled.time`\n color: ${colors.postMetadata};\n `\n const { date } = props\n\n const dateObject = new Date(date)\n const yyyymmdd = dateObject\n .toLocaleDateString('en-GB', {\n year: 'numeric',\n month: '2-digit',\n day: 'numeric',\n })\n .split('/')\n .reverse()\n .join('-')\n const friendlyDate = dateObject.toLocaleDateString('en-GB', {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n })\n\n return <TimeContainer datetime={yyyymmdd}>{friendlyDate}</TimeContainer>\n}\nexport default Time\n","import React, { Fragment } from 'react'\nimport styled from 'styled-components'\nimport TagList from './TagList'\nimport Translations from './Translations'\nimport Time from './Time'\nimport { colors } from '../tokens'\nimport { Bull } from './Commons'\n\nconst Header = styled.header`\n margin-bottom: 2rem;\n color: ${colors.textLight};\n font-size: 0.9em;\n`\n\nclass ContentIntro extends React.Component {\n render() {\n const { date, tags, translations } = this.props\n\n return (\n <Header>\n {date && <Time date={date} />}\n {date && Array.isArray(tags) && tags.length > 0 && <Bull />}\n {Array.isArray(tags) && tags.length > 0 && (\n <Fragment>\n <TagList tags={tags} />\n </Fragment>\n )}\n\n {translations && <Translations translations={translations} />}\n </Header>\n )\n }\n}\n\nexport default ContentIntro\n","import React from 'react'\nimport styled from 'styled-components'\nimport ContentHeader from './ContentHeader'\nimport { colors } from '../tokens'\nimport MDXRenderer from 'gatsby-plugin-mdx/mdx-renderer'\n\nconst ContentBody = styled.div`\n line-height: 1.6;\n text-align: justify;\n\n & > h2 {\n padding-top: 3rem;\n margin-top: 3rem;\n border-top: 1px solid #ececec;\n }\n\n & > h3 {\n padding-top: 3rem;\n }\n\n & > p {\n margin: 1em 0 0 0;\n }\n\n & a {\n box-shadow: 0 2px 0 0 ${colors.links};\n\n &:hover {\n filter: brightness(150%);\n box-shadow: none;\n }\n\n &.anchor,\n &.gatsby-resp-image-link {\n box-shadow: none;\n }\n }\n\n h1 .anchor svg,\n h2 .anchor svg,\n h3 .anchor svg,\n h4 .anchor svg,\n h5 .anchor svg,\n h6 .anchor svg {\n visibility: hidden;\n margin-left: -16px;\n }\n\n h1:hover .anchor svg,\n h2:hover .anchor svg,\n h3:hover .anchor svg,\n h4:hover .anchor svg,\n h5:hover .anchor svg,\n h6:hover .anchor svg,\n h1 .anchor:focus svg,\n h2 .anchor:focus svg,\n h3 .anchor:focus svg,\n h4 .anchor:focus svg,\n h5 .anchor:focus svg,\n h6 .anchor:focus svg {\n visibility: visible;\n }\n\n & > blockquote {\n box-sizing: border-box;\n background-color: #f7f7f7;\n border-left: 5px solid rgb(244, 213, 36);\n margin: 30px 0px;\n padding: 5px 20px;\n border-radius: 0 8px 8px 0;\n }\n\n & > blockquote p {\n margin: 0.8em 0;\n font-style: italic;\n }\n\n & .gatsby-highlight {\n border-radius: 5px;\n font-size: 15px;\n line-height: 1.7;\n border-radius: 10px;\n overflow: auto;\n tab-size: 1.5em;\n margin: 1.5em -1.5em;\n\n @media (max-width: 500px) {\n border-radius: 0;\n margin-left: -25px;\n margin-right: -25px;\n }\n }\n\n & .gatsby-highlight > pre {\n border: 0;\n margin: 0;\n padding: 1;\n }\n\n & .gatsby-highlight pre[class*='language-'] {\n float: left;\n min-width: 100%;\n }\n\n & .gatsby-highlight-code-line {\n background-color: ${colors.highlight_code_linebg};\n display: block;\n margin-right: -1em;\n margin-left: -1em;\n padding-right: 1em;\n padding-left: 0.75em;\n border-left: 0.25em solid ${colors.highlight_code_bg};\n }\n\n & h1 > code.language-text,\n & h2 > code.language-text,\n & h3 > code.language-text,\n & h4 > code.language-text,\n & h5 > code.language-text,\n & h6 > code.language-text,\n & a > code.language-text,\n & p > code.language-text,\n & li > code.language-text,\n & em > code.language-text,\n & strong > code.language-text {\n background: ${colors.highlight_code_oneline};\n color: #222222cc;\n padding: 0 3px;\n font-size: 0.94em;\n border-radius: 0.3rem;\n word-wrap: break-word;\n }\n\n & code {\n word-wrap: break-word;\n }\n\n & table {\n margin-top: 1em;\n border-collapse: collapse;\n border-radius: 0.5em;\n overflow: hidden;\n\n & th,\n & td {\n padding: 0.5em;\n background: #f7f7f7;\n border-bottom: 2px solid ${colors.white};\n }\n }\n`\n\nclass Content extends React.Component {\n render() {\n const { content, date, tags, translations } = this.props\n\n return (\n <section>\n {(tags || date || translations) && (\n <ContentHeader date={date} tags={tags} translations={translations} />\n )}\n\n <ContentBody>\n <MDXRenderer>{content}</MDXRenderer>\n </ContentBody>\n </section>\n )\n }\n}\n\nexport default Content\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAPASURBVDhPrZT7TxxVFMc/d/Y1wA60gEXwgSU1ViJiJSZqahpqm2jQNlRSHyhRa6wG2kTSpK3v2BptoyRorJi2IaLlF/qyoTU0sRAClDaKRqQ0qShElkJBdpd9z+7seGfQ+A9wkjvn3jnn3Pu93/PNFaY0lsiUf/2SmNATuqm4XYyPTRMOJ3C7nXbAMNLkF2STEw+RXAjjyvYSVDXmZhZwOBYx6HoKrWA5N4dmEZoXMflFi1m4YT2B4jtp2ncKny9IVpZKPK5TXfswlROXmb84RO5DFXQXP8CpYwOoqptoTOeWu4p4uUQn9/pfOJ7dgjJcupZIbz/qd8fZv7+aqk33EgpF5bkmQsivIqwZpviPWpNQIsnjm8p5S7tGocckZ8d2Bn6ZRLnUe5U9v+cSy9QI7H2Xmur7adxbJRHOEgrrSAikg0GIxQlHdK4vJNi5tZSNF9pQn6jC/WQV9fXfcrFvDCUm4fZ3DbPxkxEGVz2C75k6ykWAr1q3k6llkAyESM3NkwyG8OZnc2BdFsUnW1nW/CndvjQVFR/QNzBBTKJlzh8wdcM0o3raDOiWUEzTiEQWJ9Imd71njq5Zb3vbov/H/OGEXWfVW/uI0Z17TPObE5DhwVKcrTqLq/QiR44cDeGRsUQCQ6ITiiJzFhMVyafFq4SFeOEpFKtG98trzAdJ+YMYATmkTwcX7JGamSXpm7K9tTb8AdIyx47JPKvOqk/LzcVky1Ezs6cP0+0mlTSIRHWE1J1wyWEYhAd/InVjDueKfLwPVmDEJQrVIxEpqMLA5XJYgiNWuRZx4tzP5pU/YkQjCQqLNHY8Lwtm5zC+78JdV8vE1m3Mdxwnt6aG4o6j9tXDXd14VAfHnKu52j+CV+qytCQDh4uy95sPHGFqPETrkTpibe0kG17jHXMNpy/N8ljoCoHh31hx3z00/qhwvvMymxs246t/g1u7z/LZjTy+bjqMW3hQIpEYr7xey9i1j1l4cRuJM508V9ZIU8sZ8papiLSFRfIhuc3P1/i8uZ11lQe5/exJbpOkn5s4xJu7X0J3ulD2HXyaw4dqmVp5N9Ml5awaKaWz7bzcIFMOgWIRS8r2dpvJprfnV8nVq/y5YQvZPT/Q0L6btx/NQ8mYGmew4A4u7PqQso+GiYyNoWkSkXBgJPxMy3q/c7ntrbX1X5NiVpQUqwtr+bJjiKzRIcyZScTfwYDpTybxJBPkZMkOWofbJuQrEifqVFFk99Kyi5mpOF6vKmOLGrTABoOyefEkNxUVSipsBS6NLeHjCP8AHa/ubr0bcvgAAAAASUVORK5CYII=\"","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const React = require(`react`)\nconst { useMDXComponents, mdx } = require(`@mdx-js/react`)\nconst { useMDXScope } = require(`./context`)\n\nmodule.exports = function MDXRenderer({\n scope,\n components,\n children,\n ...props\n}) {\n const mdxComponents = useMDXComponents(components)\n const mdxScope = useMDXScope(scope)\n\n // Memoize the compiled component\n const End = React.useMemo(() => {\n if (!children) {\n return null\n }\n\n const fullScope = {\n // React is here just in case the user doesn't pass them in\n // in a manual usage of the renderer\n React,\n mdx,\n ...mdxScope,\n }\n\n const keys = Object.keys(fullScope)\n const values = keys.map(key => fullScope[key])\n const fn = new Function(`_fn`, ...keys, `${children}`)\n\n return fn({}, ...values)\n }, [children, scope])\n\n return React.createElement(End, { components: mdxComponents, ...props })\n}\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import React, { Fragment } from 'react'\nimport { Link } from 'gatsby'\nimport styled from 'styled-components'\nimport { colors } from '../tokens'\n\nconst ListContainer = styled.div`\n display: inline;\n color: ${colors.postMetadata};\n`\n\nconst TagListItemLink = styled(Link)`\n text-transform: uppercase;\n color: ${colors.postMetadata};\n\n &:not(:first-child) {\n margin-left: 0.3rem;\n }\n\n &:hover {\n border-bottom: 1px dotted ${colors.textLight};\n }\n &:before {\n content: '#';\n }\n`\n\nconst TagListItem = styled.span`\n text-transform: uppercase;\n color: ${colors.postMetadata};\n &:not(:first-child) {\n margin-left: 0.3rem;\n }\n &:before {\n content: '#';\n }\n`\n\nclass TagList extends React.Component {\n render() {\n const { tags, noLink } = this.props\n\n return (\n <ListContainer>\n {tags.map((tag, i) => {\n return (\n <Fragment key={`tag-list-${i}`}>\n {!noLink && (\n <TagListItemLink to={`/tags/${tag}`}>{tag}</TagListItemLink>\n )}\n {noLink && <TagListItem to={`/tags/${tag}`}>{tag}</TagListItem>}\n {i < tags.length - 1 ? ', ' : ''}\n </Fragment>\n )\n })}\n </ListContainer>\n )\n }\n}\n\nexport default TagList\n","import React from 'react'\nimport styled from 'styled-components'\nimport ukFlag from './uk-flag.png'\nimport frFlag from './fr-flag.png'\n\nconst FlagImage = styled.img`\n padding-right: 0.5rem;\n padding-bottom: 0.2rem;\n`\n\nclass Flag extends React.Component {\n render() {\n const { language } = this.props\n const img = language === 'en' ? ukFlag : frFlag\n const alt = language === 'en' ? 'english post' : 'post en francais'\n\n return <FlagImage src={img} alt={alt} className=\"flag\" />\n }\n}\n\nexport default Flag\n","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _construct.apply(null, arguments);\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import React from 'react'\nimport styled from 'styled-components'\nimport Content from './Content'\n\nconst ArticleWrapper = styled.article`\n padding: 0 30px 30px;\n\n @media only screen and (max-width: 500px) {\n padding: 0;\n }\n`\n\nclass Article extends React.Component {\n render() {\n const { post } = this.props\n\n return (\n <ArticleWrapper>\n <Content\n content={post.body}\n date={post.frontmatter.date}\n tags={post.frontmatter.tags}\n translations={post.frontmatter.translations}\n />\n \n </ArticleWrapper>\n )\n }\n}\n\nexport default Article\n","import React, { Fragment } from 'react'\nimport { Link } from 'gatsby'\nimport styled from 'styled-components'\nimport { colors } from '../tokens'\nimport useSiteMetadata from '../hooks/use-site-config'\nimport useSiteImages from '../hooks/use-site-images'\nimport TagList from './TagList'\nimport Flag from './Flag/Flag'\nimport { ReadingTime, Bull } from './Commons'\n\nconst PreviewContainer = styled.aside`\n display: flex;\n flex-wrap: wrap;\n max-width: 770px;\n width: 80%;\n margin: 0px auto 30px auto;\n top: 20px;\n position: relative;\n\n @media (max-width: 780px) {\n width: 100%;\n padding: 25px;\n }\n`\n\nconst Preview = styled.article`\n cursor: pointer;\n flex: 1 1 300px;\n background-color: ${colors.backgroundArticle};\n box-shadow: 0 0 0 0, 0 6px 12px rgba(0, 0, 0, 0.1);\n margin: 20px 20px;\n border-radius: 5px;\n\n &:hover {\n box-shadow: 0 0 0 0, 0 6px 12px ${colors.grey300};\n transition: all 0.3s ease;\n transform: translate3D(0, -1px, 0);\n }\n\n @media (min-width: 780px) {\n &:first-child {\n margin-left: 0;\n }\n &:last-child {\n margin-right: 0;\n }\n }\n`\n\nconst PreviewCover = styled.div`\n width: auto;\n height: 200px;\n background: #c5d2d9 no-repeat 50%;\n background-size: cover;\n border-radius: 5px 5px 0 0;\n`\n\nconst PreviewContent = styled.div`\n padding: 20px;\n\n header {\n padding: 0 0 10px 0;\n }\n section {\n padding-bottom: 10px;\n }\n footer {\n font-size: 0.8em;\n }\n`\n\nconst PrevNextPost = props => {\n const { previous, next } = props\n const articles = [previous, next].filter(i => i).map(item => ({ node: item }))\n const { siteCover, defaultLang } = useSiteMetadata()\n const { fluid } = useSiteImages(siteCover)\n\n return (\n <Fragment>\n <PreviewContainer>\n {articles.map((article, i) => {\n const { excerpt, timeToRead } = article.node\n const {\n tags,\n cover,\n title,\n slug,\n language,\n } = article.node.frontmatter\n const heroImg = (cover && cover.publicURL) || fluid.src\n\n return (\n <Preview key={`prev-next-${i}`}>\n <Link to={`/blog/${slug}`} aria-label={`View ${title} article`}>\n <PreviewCover\n style={{ backgroundImage: `url(\"${heroImg}\")` }}\n />\n <PreviewContent>\n <header>\n <h2>\n {defaultLang !== language && <Flag language={language} />}\n {title}\n </h2>\n </header>\n <section>\n <p>{excerpt}</p>\n </section>\n <footer>\n <ReadingTime min={timeToRead} />\n {Array.isArray(tags) && (\n <>\n <Bull />\n <TagList tags={tags} noLink={true} />\n </>\n )}\n </footer>\n </PreviewContent>\n </Link>\n </Preview>\n )\n })}\n </PreviewContainer>\n </Fragment>\n )\n}\n\nexport default PrevNextPost\n","import React from 'react'\nimport { graphql } from 'gatsby'\nimport Layout from '../components/layout'\nimport Wrapper from '../components/Wrapper'\nimport Hero from '../components/Hero'\nimport Article from '../components/Article'\nimport PrevNextPost from '../components/PrevNextPost'\nimport SEO from '../components/SEO'\n\nclass BlogPostTemplate extends React.Component {\n render() {\n const post = this.props.data.post\n const { previous, next } = this.props.pageContext\n\n return (\n <Layout location={this.props.location}>\n <SEO\n title={post.frontmatter.title}\n description={post.excerpt}\n cover={post.frontmatter.cover && post.frontmatter.cover.publicURL}\n imageShare={\n post.frontmatter.imageShare && post.frontmatter.imageShare.publicURL\n }\n lang={post.frontmatter.language}\n translations={post.frontmatter.translations}\n path={post.frontmatter.slug}\n isBlogPost\n />\n\n <Hero\n heroImg={post.frontmatter.cover && post.frontmatter.cover.publicURL}\n title={post.frontmatter.title}\n />\n\n <Wrapper>\n <Article post={post} />\n </Wrapper>\n\n <PrevNextPost previous={previous} next={next} />\n </Layout>\n )\n }\n}\n\nexport default BlogPostTemplate\n\nexport const pageQuery = graphql`\n query BlogPostBySlug($slug: String!) {\n post: mdx(frontmatter: { slug: { eq: $slug } }) {\n excerpt\n body\n frontmatter {\n title\n date\n slug\n language\n tags\n cover {\n publicURL\n }\n imageShare {\n publicURL\n }\n translations {\n language\n link\n hreflang\n }\n }\n }\n }\n`\n"],"sourceRoot":""}