{"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","href","getContactHref","contacts","linkedin","rel","target","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","arguments","length","source","prototype","hasOwnProperty","call","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_propTypes2","obj","__esModule","DISQUS_CONFIG","__disqusAdded","copyProps","context","onNewComment","language","rest","keys","indexOf","_objectWithoutProperties","prop","page","callbacks","DisqusThread","_React$Component","instance","TypeError","_classCallCheck","this","self","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","apply","subClass","superClass","create","constructor","setPrototypeOf","_inherits","Component","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","displayName","propTypes","string","isRequired","category_id","func","defaultProps","location"],"mappings":"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","file":"component---src-templates-post-template-js-01352adcaf155bd0dd72.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 Written by \n \n {author.name}\n \n

\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":""}