{"version":3,"sources":["webpack:///./src/components/Post/Author/Author.js","webpack:///./src/components/Post/Comments/Comments.js","webpack:///./src/components/Post/Content/Content.js","webpack:///./src/components/Post/Meta/Meta.js","webpack:///./src/components/Post/Tags/Tags.js","webpack:///./src/components/Post/Post.js","webpack:///./src/templates/post-template.js","webpack:///./src/components/Post/Content/Content.module.scss","webpack:///./node_modules/react-disqus-comments/build/main.js","webpack:///./node_modules/react-disqus-comments/build/components/DisqusThread.js","webpack:///./src/components/Post/Tags/Tags.module.scss","webpack:///./src/components/Post/Author/Author.module.scss","webpack:///./src/components/Post/Post.module.scss","webpack:///./src/components/Post/Meta/Meta.module.scss"],"names":["Author","author","useSiteMetadata","className","styles","bio","name","Comments","postTitle","postSlug","url","disqusShortname","shortname","identifier","title","Content","body","dangerouslySetInnerHTML","__html","Meta","date","moment","format","Tags","tags","tagSlugs","map","slug","i","key","to","Post","post","html","fields","frontmatter","query","PostTemplate","data","siteTitle","siteSubtitle","subtitle","markdownRemark","postDescription","description","socialImage","metaDescription","Layout","module","exports","Object","defineProperty","value","_extends","assign","target","arguments","length","source","prototype","hasOwnProperty","call","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_propTypes2","obj","__esModule","_classCallCheck","instance","TypeError","_possibleConstructorReturn","self","ReferenceError","DISQUS_CONFIG","__disqusAdded","copyProps","context","onNewComment","language","rest","keys","indexOf","_objectWithoutProperties","prop","page","callbacks","DisqusThread","_React$Component","this","__proto__","getPrototypeOf","apply","subClass","superClass","create","constructor","setPrototypeOf","_inherits","loadDisqus","nextProps","nextState","_this2","reduce","memo","some","config","_defineProperty","createElement","id","child","disqus","document","parent","getElementsByTagName","async","type","src","appendChild","_this3","forEach","DISQUS","reset","reload","replace","window","disqus_config","addDisqusScript","Component","displayName","propTypes","string","isRequired","category_id","func","defaultProps","location","href"],"mappings":"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","file":"component---src-templates-post-template-js-c1a7b44c880fb47aa4b0.js","sourcesContent":["// @flow strict\nimport React from \"react\";\nimport { getContactHref } from \"../../../utils\";\nimport styles from \"./Author.module.scss\";\nimport { useSiteMetadata } from \"../../../hooks\";\n\nconst Author = () => {\n const { author } = useSiteMetadata();\n\n return (\n
\n

\n {author.bio}\n {/* \n {author.name} on Twitter\n */}\n

\n

Written by {author.name}

\n
\n );\n};\n\nexport default Author;\n","// @flow strict\nimport React from 'react';\nimport ReactDisqusComments from 'react-disqus-comments';\nimport { useSiteMetadata } from '../../../hooks';\n\ntype Props = {\n postTitle: string,\n postSlug: string\n};\n\nconst Comments = ({ postTitle, postSlug }: Props) => {\n const { url, disqusShortname } = useSiteMetadata();\n\n if (!disqusShortname) {\n return null;\n }\n\n return (\n \n );\n};\n\nexport default Comments;\n","// @flow strict\nimport React from 'react';\nimport styles from './Content.module.scss';\n\ntype Props = {\n body: string,\n title: string\n};\n\nconst Content = ({ body, title }: Props) => (\n
\n

{title}

\n
\n
\n);\n\nexport default Content;\n","// @flow strict\nimport React from 'react';\nimport moment from 'moment';\nimport styles from './Meta.module.scss';\n\ntype Props = {\n date: string\n};\n\nconst Meta = ({ date }: Props) => (\n
\n

Published {moment(date).format('D MMM YYYY')}

\n
\n);\n\nexport default Meta;\n","// @flow strict\nimport React from 'react';\nimport { Link } from 'gatsby';\nimport styles from './Tags.module.scss';\n\ntype Props = {\n tags: string[],\n tagSlugs: string[]\n};\n\nconst Tags = ({ tags, tagSlugs }: Props) => (\n
\n
    \n {tagSlugs && tagSlugs.map((slug, i) => (\n
  • \n \n {tags[i]}\n \n
  • \n ))}\n
\n
\n);\n\nexport default Tags;\n","// @flow strict\nimport React from 'react';\nimport { Link } from 'gatsby';\nimport Author from './Author';\nimport Comments from './Comments';\nimport Content from './Content';\nimport Meta from './Meta';\nimport Tags from './Tags';\nimport styles from './Post.module.scss';\nimport type { Node } from '../../types';\n\ntype Props = {\n post: Node\n};\n\nconst Post = ({ post }: Props) => {\n const { html } = post;\n const { tagSlugs, slug } = post.fields;\n const { tags, title, date } = post.frontmatter;\n\n return (\n
\n All Articles\n\n
\n \n
\n\n
\n \n {tags && tagSlugs && }\n \n
\n\n
\n \n
\n
\n );\n};\n\nexport default Post;\n","// @flow strict\nimport React from 'react';\nimport { graphql } from 'gatsby';\nimport Layout from '../components/Layout';\nimport Post from '../components/Post';\nimport { useSiteMetadata } from '../hooks';\nimport type { MarkdownRemark } from '../types';\n\ntype Props = {\n data: {\n markdownRemark: MarkdownRemark\n }\n};\n\nconst PostTemplate = ({ data }: Props) => {\n const { title: siteTitle, subtitle: siteSubtitle } = useSiteMetadata();\n const { frontmatter } = data.markdownRemark;\n const { title: postTitle, description: postDescription, socialImage } = frontmatter;\n const metaDescription = postDescription !== null ? postDescription : siteSubtitle;\n\n return (\n \n \n \n );\n};\n\nexport const query = graphql`\n query PostBySlug($slug: String!) {\n markdownRemark(fields: { slug: { eq: $slug } }) {\n id\n html\n fields {\n slug\n tagSlugs\n }\n frontmatter {\n date\n description\n tags\n title\n socialImage\n }\n }\n }\n`;\n\nexport default PostTemplate;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"Content-module--content--3p512\",\"content__title\":\"Content-module--content__title--2BDW9\",\"content__body\":\"Content-module--content__body--2TrQ-\"};","'use strict';\n\nmodule.exports = require('./components/DisqusThread');","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.array.some\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.reduce\");\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _defineProperty(obj, key, value) {\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\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nvar DISQUS_CONFIG = ['shortname', 'identifier', 'title', 'url', 'category_id', 'onNewComment', 'language'];\nvar __disqusAdded = false;\n\nfunction copyProps(context, props) {\n var onNewComment = props.onNewComment,\n language = props.language,\n rest = _objectWithoutProperties(props, ['onNewComment', 'language']);\n\n for (var prop in rest) {\n context.page[prop] = rest[prop];\n } // Setting the language - if none is provided, the default one is used\n\n\n context.language = language;\n\n if (onNewComment) {\n context.callbacks = {\n onNewComment: [onNewComment]\n };\n }\n}\n\nvar DisqusThread = function (_React$Component) {\n _inherits(DisqusThread, _React$Component);\n\n function DisqusThread() {\n _classCallCheck(this, DisqusThread);\n\n return _possibleConstructorReturn(this, (DisqusThread.__proto__ || Object.getPrototypeOf(DisqusThread)).apply(this, arguments));\n }\n\n _createClass(DisqusThread, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.loadDisqus();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n this.loadDisqus();\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return nextProps.identifier !== this.props.identifier;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var props = Object.keys(this.props).reduce(function (memo, key) {\n return DISQUS_CONFIG.some(function (config) {\n return config === key;\n }) ? memo : _extends({}, memo, _defineProperty({}, key, _this2.props[key]));\n }, {});\n return _react2[\"default\"].createElement('div', props, _react2[\"default\"].createElement('div', {\n id: 'disqus_thread'\n }));\n }\n }, {\n key: 'addDisqusScript',\n value: function addDisqusScript() {\n if (__disqusAdded) {\n return;\n }\n\n var child = this.disqus = document.createElement('script');\n var parent = document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0];\n child.async = true;\n child.type = 'text/javascript';\n child.src = '//' + this.props.shortname + '.disqus.com/embed.js';\n parent.appendChild(child);\n __disqusAdded = true;\n }\n }, {\n key: 'loadDisqus',\n value: function loadDisqus() {\n var _this3 = this;\n\n var props = {}; // Extract Disqus props that were supplied to this component\n\n DISQUS_CONFIG.forEach(function (prop) {\n // prop \"shortname\" is only necessary for loading the script, not for the config itself\n if (prop !== 'shortname' && !!_this3.props[prop]) {\n props[prop] = _this3.props[prop];\n }\n }); // If Disqus has already been added, reset it\n\n if (typeof DISQUS !== 'undefined') {\n DISQUS.reset({\n reload: true,\n config: function config() {\n copyProps(this, props); // Disqus needs hashbang URL, see https://help.disqus.com/customer/portal/articles/472107\n\n this.page.url = this.page.url.replace(/#/, '') + '#!newthread';\n }\n });\n } else {\n // Otherwise add Disqus to the page\n window.disqus_config = function () {\n copyProps(this, props);\n };\n\n this.addDisqusScript();\n }\n }\n }]);\n\n return DisqusThread;\n}(_react2[\"default\"].Component);\n\nDisqusThread.displayName = 'DisqusThread';\nDisqusThread.propTypes = {\n id: _propTypes2[\"default\"].string,\n\n /**\n * `shortname` tells the Disqus service your forum's shortname,\n * which is the unique identifier for your website as registered\n * on Disqus. If undefined , the Disqus embed will not load.\n */\n shortname: _propTypes2[\"default\"].string.isRequired,\n\n /**\n * `identifier` tells the Disqus service how to identify the\n * current page. When the Disqus embed is loaded, the identifier\n * is used to look up the correct thread. If disqus_identifier\n * is undefined, the page's URL will be used. The URL can be\n * unreliable, such as when renaming an article slug or changing\n * domains, so we recommend using your own unique way of\n * identifying a thread.\n */\n identifier: _propTypes2[\"default\"].string,\n\n /**\n * `title` tells the Disqus service the title of the current page.\n * This is used when creating the thread on Disqus for the first time.\n * If undefined, Disqus will use the attribute of the page.\n * If that attribute could not be used, Disqus will use the URL of the page.\n */\n title: _propTypes2[\"default\"].string,\n\n /**\n * `url` tells the Disqus service the URL of the current page.\n * If undefined, Disqus will take the window.location.href.\n * This URL is used to look up or create a thread if disqus_identifier\n * is undefined. In addition, this URL is always saved when a thread is\n * being created so that Disqus knows what page a thread belongs to.\n */\n url: _propTypes2[\"default\"].string,\n\n /**\n * `category_id` tells the Disqus service the category to be used for\n * the current page. This is used when creating the thread on Disqus\n * for the first time.\n */\n category_id: _propTypes2[\"default\"].string,\n\n /**\n * `onNewComment` function accepts one parameter `comment` which is a\n * JavaScript object with comment `id` and `text`. This allows you to track\n * user comments and replies and run a script after a comment is posted.\n */\n onNewComment: _propTypes2[\"default\"].func,\n\n /**\n * `language` tells the Disqus service which language should be used.\n * Please refer to https://www.transifex.com/disqus/disqus/ on which languages can be used\n * If undefined, English is used as default one\n */\n language: _propTypes2[\"default\"].string\n};\nDisqusThread.defaultProps = {\n url: typeof window === 'undefined' ? null : window.location.href\n};\nexports[\"default\"] = DisqusThread;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tags\":\"Tags-module--tags--1L_ct\",\"tags__list\":\"Tags-module--tags__list--91FqN\",\"tags__list-item\":\"Tags-module--tags__list-item--1M30P\",\"tags__list-item-link\":\"Tags-module--tags__list-item-link--3SL_8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"author\":\"Author-module--author--2Yefr\",\"author__bio-twitter\":\"Author-module--author__bio-twitter--n-O9n\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"post__footer\":\"Post-module--post__footer--3WzWU\",\"post__comments\":\"Post-module--post__comments--25y6I\",\"post__home-button\":\"Post-module--post__home-button--16Kl0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta__date\":\"Meta-module--meta__date--29eD7\"};"],"sourceRoot":""}