-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---src-templates-post-template-jsx-b520273bd9c878b18b10.js.map
1 lines (1 loc) · 46.6 KB
/
component---src-templates-post-template-jsx-b520273bd9c878b18b10.js.map
1
{"version":3,"sources":["webpack:///component---src-templates-post-template-jsx-b520273bd9c878b18b10.js","webpack:///./~/react-disqus-comments/build/components/DisqusThread.js","webpack:///./~/react-disqus-comments/build/main.js","webpack:///./src/components/Disqus/Disqus.jsx","webpack:///./src/components/PostTemplateDetails/index.jsx","webpack:///./src/templates/post-template.jsx"],"names":["webpackJsonp","473","module","exports","__webpack_require__","_interopRequireDefault","obj","__esModule","default","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","prototype","create","constructor","setPrototypeOf","__proto__","_objectWithoutProperties","keys","target","i","indexOf","hasOwnProperty","copyProps","context","props","onNewComment","language","rest","prop","page","callbacks","_extends","assign","arguments","length","source","_createClass","defineProperties","descriptor","protoProps","staticProps","_react","_react2","_propTypes","_propTypes2","DISQUS_CONFIG","__disqusAdded","DisqusThread","_React$Component","this","getPrototypeOf","apply","loadDisqus","nextProps","nextState","identifier","_this2","reduce","memo","some","config","createElement","id","child","disqus","document","parent","getElementsByTagName","async","type","src","shortname","appendChild","_this3","forEach","DISQUS","reset","reload","url","replace","window","disqus_config","addDisqusScript","Component","displayName","propTypes","string","isRequired","title","category_id","func","defaultProps","location","href","474","221","_reactDisqusComments","_reactDisqusComments2","Disqus","_Component","_this","state","toasts","notifyAboutComment","bind","onSnackbarDismiss","_state$toasts","slice","setState","push","text","render","_props","postNode","siteMetadata","disqusShortname","post","frontmatter","fields","slug","224","_gatsbyLink","_gatsbyLink2","_moment","_moment2","_Disqus","_Disqus2","PostTemplateDetails","_props$data$site$site","data","site","subtitle","author","markdownRemark","tags","tagSlugs","homeBlock","className","to","tagsBlock","map","tag","commentsBlock","dangerouslySetInnerHTML","__html","html","date","format","rel","name","React","464","236","pageQuery","undefined","_reactHelmet","_reactHelmet2","_PostTemplateDetails","_PostTemplateDetails2","PostTemplate","_post$frontmatter","postTitle","postDescription","description","content"],"mappings":"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","file":"component---src-templates-post-template-jsx-b520273bd9c878b18b10.js","sourcesContent":["webpackJsonp([108009296967943],{\n\n/***/ 473:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(8);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar DISQUS_CONFIG = ['shortname', 'identifier', 'title', 'url', 'category_id', 'onNewComment', 'language'];\n\tvar __disqusAdded = false;\n\t\n\tfunction copyProps(context, props) {\n\t var onNewComment = props.onNewComment,\n\t language = props.language,\n\t rest = _objectWithoutProperties(props, ['onNewComment', 'language']);\n\t\n\t for (var prop in rest) {\n\t context.page[prop] = rest[prop];\n\t }\n\t\n\t // Setting the language - if none is provided, the default one is used\n\t context.language = language;\n\t\n\t if (onNewComment) {\n\t context.callbacks = {\n\t onNewComment: [onNewComment]\n\t };\n\t }\n\t}\n\t\n\tvar DisqusThread = function (_React$Component) {\n\t _inherits(DisqusThread, _React$Component);\n\t\n\t function DisqusThread() {\n\t _classCallCheck(this, DisqusThread);\n\t\n\t return _possibleConstructorReturn(this, (DisqusThread.__proto__ || Object.getPrototypeOf(DisqusThread)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DisqusThread, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.loadDisqus();\n\t }\n\t }, {\n\t key: 'componentDidUpdate',\n\t value: function componentDidUpdate() {\n\t this.loadDisqus();\n\t }\n\t }, {\n\t key: 'shouldComponentUpdate',\n\t value: function shouldComponentUpdate(nextProps, nextState) {\n\t return nextProps.identifier !== this.props.identifier;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var props = Object.keys(this.props).reduce(function (memo, key) {\n\t return DISQUS_CONFIG.some(function (config) {\n\t return config === key;\n\t }) ? memo : _extends({}, memo, _defineProperty({}, key, _this2.props[key]));\n\t }, {});\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t props,\n\t _react2.default.createElement('div', { id: 'disqus_thread' })\n\t );\n\t }\n\t }, {\n\t key: 'addDisqusScript',\n\t value: function addDisqusScript() {\n\t if (__disqusAdded) {\n\t return;\n\t }\n\t\n\t var child = this.disqus = document.createElement('script');\n\t var parent = document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0];\n\t\n\t child.async = true;\n\t child.type = 'text/javascript';\n\t child.src = '//' + this.props.shortname + '.disqus.com/embed.js';\n\t\n\t parent.appendChild(child);\n\t __disqusAdded = true;\n\t }\n\t }, {\n\t key: 'loadDisqus',\n\t value: function loadDisqus() {\n\t var _this3 = this;\n\t\n\t var props = {};\n\t\n\t // Extract Disqus props that were supplied to this component\n\t DISQUS_CONFIG.forEach(function (prop) {\n\t // prop \"shortname\" is only necessary for loading the script, not for the config itself\n\t if (prop !== 'shortname' && !!_this3.props[prop]) {\n\t props[prop] = _this3.props[prop];\n\t }\n\t });\n\t\n\t // If Disqus has already been added, reset it\n\t if (typeof DISQUS !== 'undefined') {\n\t DISQUS.reset({\n\t reload: true,\n\t config: function config() {\n\t copyProps(this, props);\n\t\n\t // Disqus needs hashbang URL, see https://help.disqus.com/customer/portal/articles/472107\n\t this.page.url = this.page.url.replace(/#/, '') + '#!newthread';\n\t }\n\t });\n\t } else {\n\t // Otherwise add Disqus to the page\n\t window.disqus_config = function () {\n\t copyProps(this, props);\n\t };\n\t this.addDisqusScript();\n\t }\n\t }\n\t }]);\n\t\n\t return DisqusThread;\n\t}(_react2.default.Component);\n\t\n\tDisqusThread.displayName = 'DisqusThread';\n\t\n\tDisqusThread.propTypes = {\n\t id: _propTypes2.default.string,\n\t\n\t /**\n\t * `shortname` tells the Disqus service your forum's shortname,\n\t * which is the unique identifier for your website as registered\n\t * on Disqus. If undefined , the Disqus embed will not load.\n\t */\n\t shortname: _propTypes2.default.string.isRequired,\n\t\n\t /**\n\t * `identifier` tells the Disqus service how to identify the\n\t * current page. When the Disqus embed is loaded, the identifier\n\t * is used to look up the correct thread. If disqus_identifier\n\t * is undefined, the page's URL will be used. The URL can be\n\t * unreliable, such as when renaming an article slug or changing\n\t * domains, so we recommend using your own unique way of\n\t * identifying a thread.\n\t */\n\t identifier: _propTypes2.default.string,\n\t\n\t /**\n\t * `title` tells the Disqus service the title of the current page.\n\t * This is used when creating the thread on Disqus for the first time.\n\t * If undefined, Disqus will use the <title> attribute of the page.\n\t * If that attribute could not be used, Disqus will use the URL of the page.\n\t */\n\t title: _propTypes2.default.string,\n\t\n\t /**\n\t * `url` tells the Disqus service the URL of the current page.\n\t * If undefined, Disqus will take the window.location.href.\n\t * This URL is used to look up or create a thread if disqus_identifier\n\t * is undefined. In addition, this URL is always saved when a thread is\n\t * being created so that Disqus knows what page a thread belongs to.\n\t */\n\t url: _propTypes2.default.string,\n\t\n\t /**\n\t * `category_id` tells the Disqus service the category to be used for\n\t * the current page. This is used when creating the thread on Disqus\n\t * for the first time.\n\t */\n\t category_id: _propTypes2.default.string,\n\t\n\t /**\n\t * `onNewComment` function accepts one parameter `comment` which is a\n\t * JavaScript object with comment `id` and `text`. This allows you to track\n\t * user comments and replies and run a script after a comment is posted.\n\t */\n\t onNewComment: _propTypes2.default.func,\n\t\n\t /**\n\t * `language` tells the Disqus service which language should be used.\n\t * Please refer to https://www.transifex.com/disqus/disqus/ on which languages can be used\n\t * If undefined, English is used as default one\n\t */\n\t language: _propTypes2.default.string\n\t};\n\t\n\tDisqusThread.defaultProps = {\n\t url: typeof window === 'undefined' ? null : window.location.href\n\t};\n\t\n\texports.default = DisqusThread;\n\n/***/ }),\n\n/***/ 474:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(473);\n\n/***/ }),\n\n/***/ 221:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDisqusComments = __webpack_require__(474);\n\t\n\tvar _reactDisqusComments2 = _interopRequireDefault(_reactDisqusComments);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Disqus = function (_Component) {\n\t _inherits(Disqus, _Component);\n\t\n\t function Disqus(props) {\n\t _classCallCheck(this, Disqus);\n\t\n\t var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\t\n\t _this.state = { toasts: [] };\n\t _this.notifyAboutComment = _this.notifyAboutComment.bind(_this);\n\t _this.onSnackbarDismiss = _this.onSnackbarDismiss.bind(_this);\n\t return _this;\n\t }\n\t\n\t Disqus.prototype.onSnackbarDismiss = function onSnackbarDismiss() {\n\t var _state$toasts = this.state.toasts,\n\t toasts = _state$toasts.slice(1);\n\t\n\t this.setState({ toasts: toasts });\n\t };\n\t\n\t Disqus.prototype.notifyAboutComment = function notifyAboutComment() {\n\t var toasts = this.state.toasts.slice();\n\t toasts.push({ text: 'New comment available!!' });\n\t this.setState({ toasts: toasts });\n\t };\n\t\n\t Disqus.prototype.render = function render() {\n\t var _props = this.props,\n\t postNode = _props.postNode,\n\t siteMetadata = _props.siteMetadata;\n\t\n\t if (!siteMetadata.disqusShortname) {\n\t return null;\n\t }\n\t var post = postNode.frontmatter;\n\t var url = siteMetadata.url + postNode.fields.slug;\n\t return _react2.default.createElement(_reactDisqusComments2.default, {\n\t shortname: siteMetadata.disqusShortname,\n\t identifier: post.title,\n\t title: post.title,\n\t url: url,\n\t category_id: post.category_id,\n\t onNewComment: this.notifyAboutComment\n\t });\n\t };\n\t\n\t return Disqus;\n\t}(_react.Component);\n\t\n\texports.default = Disqus;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 224:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _gatsbyLink = __webpack_require__(12);\n\t\n\tvar _gatsbyLink2 = _interopRequireDefault(_gatsbyLink);\n\t\n\tvar _moment = __webpack_require__(177);\n\t\n\tvar _moment2 = _interopRequireDefault(_moment);\n\t\n\tvar _Disqus = __webpack_require__(221);\n\t\n\tvar _Disqus2 = _interopRequireDefault(_Disqus);\n\t\n\t__webpack_require__(464);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar PostTemplateDetails = function (_React$Component) {\n\t _inherits(PostTemplateDetails, _React$Component);\n\t\n\t function PostTemplateDetails() {\n\t _classCallCheck(this, PostTemplateDetails);\n\t\n\t return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n\t }\n\t\n\t PostTemplateDetails.prototype.render = function render() {\n\t var _props$data$site$site = this.props.data.site.siteMetadata,\n\t subtitle = _props$data$site$site.subtitle,\n\t author = _props$data$site$site.author;\n\t\n\t var post = this.props.data.markdownRemark;\n\t var tags = post.fields.tagSlugs;\n\t\n\t var homeBlock = _react2.default.createElement(\n\t 'div',\n\t { className: 'post-single__home' },\n\t _react2.default.createElement(\n\t _gatsbyLink2.default,\n\t { className: 'post-single__home-button', to: '/' },\n\t 'Home'\n\t ),\n\t _react2.default.createElement(\n\t _gatsbyLink2.default,\n\t { className: 'post-single__home-button', to: '/news/' },\n\t 'All News'\n\t )\n\t );\n\t\n\t var tagsBlock = _react2.default.createElement(\n\t 'div',\n\t { className: 'post-single__tags' },\n\t _react2.default.createElement(\n\t 'ul',\n\t { className: 'post-single__tags-list' },\n\t tags && tags.map(function (tag, i) {\n\t return _react2.default.createElement(\n\t 'li',\n\t { className: 'post-single__tags-list-item', key: tag },\n\t _react2.default.createElement(\n\t _gatsbyLink2.default,\n\t { to: tag, className: 'post-single__tags-list-item-link' },\n\t post.frontmatter.tags[i]\n\t )\n\t );\n\t })\n\t )\n\t );\n\t\n\t var commentsBlock = _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(_Disqus2.default, { postNode: post, siteMetadata: this.props.data.site.siteMetadata })\n\t );\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t homeBlock,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'post-single' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'post-single__inner' },\n\t _react2.default.createElement(\n\t 'h1',\n\t { className: 'post-single__title' },\n\t post.frontmatter.title\n\t ),\n\t _react2.default.createElement('div', { className: 'post-single__body', dangerouslySetInnerHTML: { __html: post.html } }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'post-single__date' },\n\t _react2.default.createElement(\n\t 'em',\n\t null,\n\t 'Published ',\n\t (0, _moment2.default)(post.frontmatter.date).format('D MMM YYYY')\n\t )\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'post-single__footer' },\n\t tagsBlock,\n\t _react2.default.createElement('hr', null),\n\t _react2.default.createElement(\n\t 'p',\n\t { className: 'post-single__footer-text' },\n\t subtitle,\n\t _react2.default.createElement(\n\t 'a',\n\t { href: 'https://github.com/wordtreefoundation', target: '_blank', rel: 'noopener noreferrer' },\n\t _react2.default.createElement('br', null),\n\t ' ',\n\t _react2.default.createElement(\n\t 'strong',\n\t null,\n\t author.name\n\t ),\n\t ' on Github'\n\t )\n\t ),\n\t commentsBlock\n\t )\n\t )\n\t );\n\t };\n\t\n\t return PostTemplateDetails;\n\t}(_react2.default.Component);\n\t\n\texports.default = PostTemplateDetails;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 464:\n/***/ (function(module, exports) {\n\n\t// empty (null-loader)\n\n/***/ }),\n\n/***/ 236:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.pageQuery = undefined;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactHelmet = __webpack_require__(19);\n\t\n\tvar _reactHelmet2 = _interopRequireDefault(_reactHelmet);\n\t\n\tvar _PostTemplateDetails = __webpack_require__(224);\n\t\n\tvar _PostTemplateDetails2 = _interopRequireDefault(_PostTemplateDetails);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar PostTemplate = function (_React$Component) {\n\t _inherits(PostTemplate, _React$Component);\n\t\n\t function PostTemplate() {\n\t _classCallCheck(this, PostTemplate);\n\t\n\t return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n\t }\n\t\n\t PostTemplate.prototype.render = function render() {\n\t var _props$data$site$site = this.props.data.site.siteMetadata,\n\t title = _props$data$site$site.title,\n\t subtitle = _props$data$site$site.subtitle;\n\t\n\t var post = this.props.data.markdownRemark;\n\t var _post$frontmatter = post.frontmatter,\n\t postTitle = _post$frontmatter.title,\n\t postDescription = _post$frontmatter.description;\n\t\n\t var description = postDescription !== null ? postDescription : subtitle;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t _reactHelmet2.default,\n\t null,\n\t _react2.default.createElement(\n\t 'title',\n\t null,\n\t postTitle + ' - ' + title\n\t ),\n\t _react2.default.createElement('meta', { name: 'description', content: description })\n\t ),\n\t _react2.default.createElement(_PostTemplateDetails2.default, this.props)\n\t );\n\t };\n\t\n\t return PostTemplate;\n\t}(_react2.default.Component);\n\t\n\texports.default = PostTemplate;\n\tvar pageQuery = exports.pageQuery = '** extracted graphql fragment **';\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// component---src-templates-post-template-jsx-b520273bd9c878b18b10.js","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\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) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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 }\n\n // Setting the language - if none is provided, the default one is used\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\n return _react2.default.createElement(\n 'div',\n props,\n _react2.default.createElement('div', { 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\n child.async = true;\n child.type = 'text/javascript';\n child.src = '//' + this.props.shortname + '.disqus.com/embed.js';\n\n parent.appendChild(child);\n __disqusAdded = true;\n }\n }, {\n key: 'loadDisqus',\n value: function loadDisqus() {\n var _this3 = this;\n\n var props = {};\n\n // Extract Disqus props that were supplied to this component\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 });\n\n // If Disqus has already been added, reset it\n if (typeof DISQUS !== 'undefined') {\n DISQUS.reset({\n reload: true,\n config: function config() {\n copyProps(this, props);\n\n // Disqus needs hashbang URL, see https://help.disqus.com/customer/portal/articles/472107\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 this.addDisqusScript();\n }\n }\n }]);\n\n return DisqusThread;\n}(_react2.default.Component);\n\nDisqusThread.displayName = 'DisqusThread';\n\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 <title> 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};\n\nDisqusThread.defaultProps = {\n url: typeof window === 'undefined' ? null : window.location.href\n};\n\nexports.default = DisqusThread;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-disqus-comments/build/components/DisqusThread.js\n// module id = 473\n// module chunks = 108009296967943","'use strict';\n\nmodule.exports = require('./components/DisqusThread');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-disqus-comments/build/main.js\n// module id = 474\n// module chunks = 108009296967943","import React, { Component } from 'react';\nimport ReactDisqusComments from 'react-disqus-comments';\n\nclass Disqus extends Component {\n constructor(props) {\n super(props);\n this.state = { toasts: [] };\n this.notifyAboutComment = this.notifyAboutComment.bind(this);\n this.onSnackbarDismiss = this.onSnackbarDismiss.bind(this);\n }\n\n onSnackbarDismiss() {\n const [, ...toasts] = this.state.toasts;\n this.setState({ toasts });\n }\n notifyAboutComment() {\n const toasts = this.state.toasts.slice();\n toasts.push({ text: 'New comment available!!' });\n this.setState({ toasts });\n }\n render() {\n const { postNode, siteMetadata } = this.props;\n if (!siteMetadata.disqusShortname) {\n return null;\n }\n const post = postNode.frontmatter;\n const url = siteMetadata.url + postNode.fields.slug;\n return (\n <ReactDisqusComments\n shortname={siteMetadata.disqusShortname}\n identifier={post.title}\n title={post.title}\n url={url}\n category_id={post.category_id}\n onNewComment={this.notifyAboutComment}\n />\n );\n }\n}\n\nexport default Disqus;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/Disqus/Disqus.jsx","import React from 'react';\nimport Link from 'gatsby-link';\nimport moment from 'moment';\nimport Disqus from '../Disqus/Disqus';\nimport './style.scss';\n\nclass PostTemplateDetails extends React.Component {\n render() {\n const { subtitle, author } = this.props.data.site.siteMetadata;\n const post = this.props.data.markdownRemark;\n const tags = post.fields.tagSlugs;\n\n const homeBlock = (\n <div className=\"post-single__home\">\n <Link className=\"post-single__home-button\" to=\"/\">Home</Link>\n <Link className=\"post-single__home-button\" to=\"/news/\">All News</Link>\n </div>\n );\n\n const tagsBlock = (\n <div className=\"post-single__tags\">\n <ul className=\"post-single__tags-list\">\n {tags && tags.map((tag, i) => (\n <li className=\"post-single__tags-list-item\" key={tag}>\n <Link to={tag} className=\"post-single__tags-list-item-link\">\n {post.frontmatter.tags[i]}\n </Link>\n </li>\n ))}\n </ul>\n </div>\n );\n\n const commentsBlock = (\n <div>\n <Disqus postNode={post} siteMetadata={this.props.data.site.siteMetadata} />\n </div>\n );\n\n return (\n <div>\n {homeBlock}\n <div className=\"post-single\">\n <div className=\"post-single__inner\">\n <h1 className=\"post-single__title\">{post.frontmatter.title}</h1>\n <div className=\"post-single__body\" dangerouslySetInnerHTML={{ __html: post.html }} />\n <div className=\"post-single__date\">\n <em>Published {moment(post.frontmatter.date).format('D MMM YYYY')}</em>\n </div>\n </div>\n <div className=\"post-single__footer\">\n {tagsBlock}\n <hr />\n <p className=\"post-single__footer-text\">\n {subtitle}\n <a href=\"https://github.com/wordtreefoundation\" target=\"_blank\" rel=\"noopener noreferrer\">\n <br /> <strong>{author.name}</strong> on Github\n </a>\n </p>\n {commentsBlock}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PostTemplateDetails;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/PostTemplateDetails/index.jsx","import React from 'react';\nimport Helmet from 'react-helmet';\nimport PostTemplateDetails from '../components/PostTemplateDetails';\n\nclass PostTemplate extends React.Component {\n render() {\n const { title, subtitle } = this.props.data.site.siteMetadata;\n const post = this.props.data.markdownRemark;\n const { title: postTitle, description: postDescription } = post.frontmatter;\n const description = postDescription !== null ? postDescription : subtitle;\n\n return (\n <div>\n <Helmet>\n <title>{`${postTitle} - ${title}`}</title>\n <meta name=\"description\" content={description} />\n </Helmet>\n <PostTemplateDetails {...this.props} />\n </div>\n );\n }\n}\n\nexport default PostTemplate;\n\nexport const pageQuery = graphql`\n query PostBySlug($slug: String!) {\n site {\n siteMetadata {\n title\n subtitle\n copyright\n author {\n name\n }\n disqusShortname\n url\n }\n }\n markdownRemark(fields: { slug: { eq: $slug } }) {\n id\n html\n fields {\n tagSlugs\n }\n frontmatter {\n title\n tags\n date\n description\n }\n }\n }\n`;\n\n\n\n// WEBPACK FOOTER //\n// ./src/templates/post-template.jsx"],"sourceRoot":""}