-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent---src-templates-post-template-js-5df5264b08fe85046dd3.js.map
1 lines (1 loc) · 33.7 KB
/
component---src-templates-post-template-js-5df5264b08fe85046dd3.js.map
1
{"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/constants/icons.js","webpack:///./src/constants/pagination.js","webpack:///./src/constants/index.js","webpack:///./src/components/Layout/Layout.js","webpack:///./src/components/Layout/index.js","webpack:///./src/components/Layout/Layout.module.scss","webpack:///./src/utils/get-icon.js","webpack:///./src/utils/get-contact-href.js","webpack:///./src/utils/index.js","webpack:///./src/components/Post/Author/Author.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/Content/Content.module.scss","webpack:///./src/components/Post/Meta/Meta.module.scss","webpack:///./src/components/Post/Tags/Tags.module.scss","webpack:///./src/components/Post/Post.module.scss"],"names":["PureAuthor","_ref","author","data","site","siteMetadata","react_default","a","createElement","className","styles","bio","href","getContactHref","contacts","twitter","rel","target","name","Author","props","gatsby_browser_entry","query","render","Author_PureAuthor","Object","assign","_2015307863","PureComments","postTitle","postSlug","_data$site$siteMetada","siteUrl","disqusShortname","main_default","shortname","identifier","title","url","Comments","Comments_PureComments","_1989642023","Content","body","dangerouslySetInnerHTML","__html","Meta","date","moment","format","Tags","tags","tagSlugs","map","slug","i","key","to","Post","post","_post$frontmatter","frontmatter","html","fields","Post_Content_Content","Post_Meta_Meta","Post_Tags_Tags","Post_Author_Author","Post_Comments_Comments","__webpack_require__","d","__webpack_exports__","PostTemplate","siteTitle","siteSubtitle","subtitle","_data$markdownRemark$","markdownRemark","postDescription","description","metaDescription","Layout","components_Post_Post","ICONS","TWITTER","path","viewBox","FACEBOOK","TELEGRAM","VKONTAKTE","GITHUB","EMAIL","RSS","PAGINATION","PREV_PAGE","NEXT_PAGE","icons","pagination","children","layout","Helmet_default","lang","content","components_Layout_Layout","module","exports","getIcon","icon","contact","get_icon","get_contact_href","author__bio-twitter","defineProperty","value","_extends","arguments","length","source","prototype","hasOwnProperty","call","_createClass","defineProperties","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_propTypes2","obj","__esModule","default","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","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","content__title","content__body","meta__date","tags__list","tags__list-item","tags__list-item-link","post__footer","post__comments","post__home-button"],"mappings":"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","file":"component---src-templates-post-template-js-5df5264b08fe85046dd3.js","sourcesContent":["import React from 'react';\nimport { graphql, StaticQuery } from 'gatsby';\nimport { getContactHref } from '../../../utils';\nimport styles from './Author.module.scss';\n\nexport const PureAuthor = ({ data }) => {\n const { author } = data.site.siteMetadata;\n\n return (\n <div className={styles['author']}>\n <p className={styles['author__bio']}>\n {author.bio}\n <a\n className={styles['author__bio-twitter']}\n href={getContactHref('twitter', author.contacts.twitter)}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <strong>{author.name}</strong> on Twitter\n </a>\n </p>\n </div>\n );\n};\n\nexport const Author = (props) => (\n <StaticQuery\n query={graphql`\n query AuthorQuery {\n site {\n siteMetadata {\n author {\n name\n bio\n contacts { \n twitter\n }\n }\n }\n }\n }\n `}\n render={(data) => <PureAuthor {...props} data={data} />}\n />\n);\n\nexport default Author;\n","import React from 'react';\nimport { graphql, StaticQuery } from 'gatsby';\nimport ReactDisqusComments from 'react-disqus-comments';\n\nexport const PureComments = ({ data, postTitle, postSlug }) => {\n const {\n siteUrl,\n disqusShortname\n } = data.site.siteMetadata;\n\n if (!disqusShortname) {\n return null;\n }\n\n return (\n <ReactDisqusComments\n shortname={disqusShortname}\n identifier={postTitle}\n title={postTitle}\n url={siteUrl + postSlug}\n />\n );\n};\n\nexport const Comments = (props) => (\n <StaticQuery\n query={graphql`\n query CommentsQuery {\n site {\n siteMetadata {\n disqusShortname\n url\n }\n }\n }\n `}\n render={(data) => <PureComments {...props} data={data}/>}\n />\n);\n\nexport default Comments;\n","import React from 'react';\nimport styles from './Content.module.scss';\n\nconst Content = ({ body, title }) => (\n <div className={styles['content']}>\n <h1 className={styles['content__title']}>{title}</h1>\n <div className={styles['content__body']} dangerouslySetInnerHTML={{ __html: body }} />\n </div>\n);\n\nexport default Content;\n","import React from 'react';\nimport moment from 'moment';\nimport styles from './Meta.module.scss';\n\nconst Meta = ({ date }) => (\n <div className={styles['meta']}>\n <p className={styles['meta__date']}>Published {moment(date).format('D MMM YYYY')}</p>\n </div>\n);\n\nexport default Meta;\n","import React from 'react';\nimport { Link } from 'gatsby';\nimport styles from './Tags.module.scss';\n\nconst Tags = ({ tags, tagSlugs }) => (\n <div className={styles['tags']}>\n <ul className={styles['tags__list']}>\n {tagSlugs.map((slug, i) => (\n <li className={styles['tags__list-item']} key={tags[i]}>\n <Link to={slug} className={styles['tags__list-item-link']}>\n {tags[i]}\n </Link>\n </li>\n ))}\n </ul>\n </div>\n);\n\nexport default Tags;\n","import 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';\n\nconst Post = ({ post }) => {\n const {\n tags,\n title,\n date\n } = post.frontmatter;\n\n const { html } = post;\n const { tagSlugs } = post.fields;\n\n return (\n <div className={styles['post']}>\n <Link className={styles['post__home-button']} to=\"/\">All Articles</Link>\n\n <div className={styles['post__content']}>\n <Content body={html} title={title} />\n </div>\n\n <div className={styles['post__footer']}>\n <Meta date={date} />\n <Tags tags={tags} tagSlugs={tagSlugs} />\n <Author />\n </div>\n\n <div className={styles['post__comments']}>\n <Comments postSlug={post.fields.slug} postTitle={post.frontmatter.title} />\n </div>\n </div>\n );\n};\n\nexport default Post;\n","import React from 'react';\nimport { graphql } from 'gatsby';\nimport Layout from '../components/Layout';\nimport Post from '../components/Post';\n\nconst PostTemplate = ({ data }) => {\n const {\n title: siteTitle,\n subtitle: siteSubtitle\n } = data.site.siteMetadata;\n\n const {\n title: postTitle,\n description: postDescription\n } = data.markdownRemark.frontmatter;\n\n const metaDescription = postDescription !== null ? postDescription : siteSubtitle;\n\n return (\n <Layout title={`${postTitle} - ${siteTitle}`} description={metaDescription}>\n <Post post={data.markdownRemark} />\n </Layout>\n );\n};\n\nexport const query = graphql`\n query PostBySlug($slug: String!) {\n site {\n siteMetadata {\n author {\n name\n contacts {\n twitter\n }\n }\n disqusShortname\n subtitle\n title\n url\n }\n }\n markdownRemark(fields: { slug: { eq: $slug } }) {\n id\n html\n fields {\n tagSlugs\n }\n frontmatter {\n date\n description\n tags\n title\n }\n }\n }\n`;\n\nexport default PostTemplate;\n","const ICONS = {\n TWITTER: {\n path: 'M25.312 6.375c-0.688 1-1.547 1.891-2.531 2.609 0.016 0.219 0.016 0.438 0.016 0.656 0 6.672-5.078 14.359-14.359 14.359-2.859 0-5.516-0.828-7.75-2.266 0.406 0.047 0.797 0.063 1.219 0.063 2.359 0 4.531-0.797 6.266-2.156-2.219-0.047-4.078-1.5-4.719-3.5 0.313 0.047 0.625 0.078 0.953 0.078 0.453 0 0.906-0.063 1.328-0.172-2.312-0.469-4.047-2.5-4.047-4.953v-0.063c0.672 0.375 1.453 0.609 2.281 0.641-1.359-0.906-2.25-2.453-2.25-4.203 0-0.938 0.25-1.797 0.688-2.547 2.484 3.062 6.219 5.063 10.406 5.281-0.078-0.375-0.125-0.766-0.125-1.156 0-2.781 2.25-5.047 5.047-5.047 1.453 0 2.766 0.609 3.687 1.594 1.141-0.219 2.234-0.641 3.203-1.219-0.375 1.172-1.172 2.156-2.219 2.781 1.016-0.109 2-0.391 2.906-0.781z',\n viewBox: '0 0 26 28'\n },\n FACEBOOK: {\n path: 'M14.984 0.187v4.125h-2.453c-1.922 0-2.281 0.922-2.281 2.25v2.953h4.578l-0.609 4.625h-3.969v11.859h-4.781v-11.859h-3.984v-4.625h3.984v-3.406c0-3.953 2.422-6.109 5.953-6.109 1.687 0 3.141 0.125 3.563 0.187z',\n viewBox: '0 0 16 28'\n },\n TELEGRAM: {\n path: 'M27.563 0.172c0.328 0.234 0.484 0.609 0.422 1l-4 24c-0.047 0.297-0.234 0.547-0.5 0.703-0.141 0.078-0.313 0.125-0.484 0.125-0.125 0-0.25-0.031-0.375-0.078l-7.078-2.891-3.781 4.609c-0.187 0.234-0.469 0.359-0.766 0.359-0.109 0-0.234-0.016-0.344-0.063-0.391-0.141-0.656-0.516-0.656-0.938v-5.453l13.5-16.547-16.703 14.453-6.172-2.531c-0.359-0.141-0.594-0.469-0.625-0.859-0.016-0.375 0.172-0.734 0.5-0.922l26-15c0.156-0.094 0.328-0.141 0.5-0.141 0.203 0 0.406 0.063 0.562 0.172z',\n viewBox: '0 0 28 28'\n },\n VKONTAKTE: {\n path: 'M29.953 8.125c0.234 0.641-0.5 2.141-2.344 4.594-3.031 4.031-3.359 3.656-0.859 5.984 2.406 2.234 2.906 3.313 2.984 3.453 0 0 1 1.75-1.109 1.766l-4 0.063c-0.859 0.172-2-0.609-2-0.609-1.5-1.031-2.906-3.703-4-3.359 0 0-1.125 0.359-1.094 2.766 0.016 0.516-0.234 0.797-0.234 0.797s-0.281 0.297-0.828 0.344h-1.797c-3.953 0.25-7.438-3.391-7.438-3.391s-3.813-3.938-7.156-11.797c-0.219-0.516 0.016-0.766 0.016-0.766s0.234-0.297 0.891-0.297l4.281-0.031c0.406 0.063 0.688 0.281 0.688 0.281s0.25 0.172 0.375 0.5c0.703 1.75 1.609 3.344 1.609 3.344 1.563 3.219 2.625 3.766 3.234 3.437 0 0 0.797-0.484 0.625-4.375-0.063-1.406-0.453-2.047-0.453-2.047-0.359-0.484-1.031-0.625-1.328-0.672-0.234-0.031 0.156-0.594 0.672-0.844 0.766-0.375 2.125-0.391 3.734-0.375 1.266 0.016 1.625 0.094 2.109 0.203 1.484 0.359 0.984 1.734 0.984 5.047 0 1.062-0.203 2.547 0.562 3.031 0.328 0.219 1.141 0.031 3.141-3.375 0 0 0.938-1.625 1.672-3.516 0.125-0.344 0.391-0.484 0.391-0.484s0.25-0.141 0.594-0.094l4.5-0.031c1.359-0.172 1.578 0.453 1.578 0.453z',\n viewBox: '0 0 31 28'\n },\n GITHUB: {\n path: 'M10 19c0 1.141-0.594 3-2 3s-2-1.859-2-3 0.594-3 2-3 2 1.859 2 3zM20 19c0 1.141-0.594 3-2 3s-2-1.859-2-3 0.594-3 2-3 2 1.859 2 3zM22.5 19c0-2.391-1.453-4.5-4-4.5-1.031 0-2.016 0.187-3.047 0.328-0.812 0.125-1.625 0.172-2.453 0.172s-1.641-0.047-2.453-0.172c-1.016-0.141-2.016-0.328-3.047-0.328-2.547 0-4 2.109-4 4.5 0 4.781 4.375 5.516 8.188 5.516h2.625c3.813 0 8.188-0.734 8.188-5.516zM26 16.25c0 1.734-0.172 3.578-0.953 5.172-2.063 4.172-7.734 4.578-11.797 4.578-4.125 0-10.141-0.359-12.281-4.578-0.797-1.578-0.969-3.437-0.969-5.172 0-2.281 0.625-4.438 2.125-6.188-0.281-0.859-0.422-1.766-0.422-2.656 0-1.172 0.266-2.344 0.797-3.406 2.469 0 4.047 1.078 5.922 2.547 1.578-0.375 3.203-0.547 4.828-0.547 1.469 0 2.953 0.156 4.375 0.5 1.859-1.453 3.437-2.5 5.875-2.5 0.531 1.062 0.797 2.234 0.797 3.406 0 0.891-0.141 1.781-0.422 2.625 1.5 1.766 2.125 3.938 2.125 6.219z',\n viewBox: '0 0 26 28'\n },\n EMAIL: {\n path: 'M26 23.5v-12c-0.328 0.375-0.688 0.719-1.078 1.031-2.234 1.719-4.484 3.469-6.656 5.281-1.172 0.984-2.625 2.188-4.25 2.188h-0.031c-1.625 0-3.078-1.203-4.25-2.188-2.172-1.813-4.422-3.563-6.656-5.281-0.391-0.313-0.75-0.656-1.078-1.031v12c0 0.266 0.234 0.5 0.5 0.5h23c0.266 0 0.5-0.234 0.5-0.5zM26 7.078c0-0.391 0.094-1.078-0.5-1.078h-23c-0.266 0-0.5 0.234-0.5 0.5 0 1.781 0.891 3.328 2.297 4.438 2.094 1.641 4.188 3.297 6.266 4.953 0.828 0.672 2.328 2.109 3.422 2.109h0.031c1.094 0 2.594-1.437 3.422-2.109 2.078-1.656 4.172-3.313 6.266-4.953 1.016-0.797 2.297-2.531 2.297-3.859zM28 6.5v17c0 1.375-1.125 2.5-2.5 2.5h-23c-1.375 0-2.5-1.125-2.5-2.5v-17c0-1.375 1.125-2.5 2.5-2.5h23c1.375 0 2.5 1.125 2.5 2.5z',\n viewBox: '0 0 28 28'\n },\n RSS: {\n path: 'M6 21c0 1.656-1.344 3-3 3s-3-1.344-3-3 1.344-3 3-3 3 1.344 3 3zM14 22.922c0.016 0.281-0.078 0.547-0.266 0.75-0.187 0.219-0.453 0.328-0.734 0.328h-2.109c-0.516 0-0.938-0.391-0.984-0.906-0.453-4.766-4.234-8.547-9-9-0.516-0.047-0.906-0.469-0.906-0.984v-2.109c0-0.281 0.109-0.547 0.328-0.734 0.172-0.172 0.422-0.266 0.672-0.266h0.078c3.328 0.266 6.469 1.719 8.828 4.094 2.375 2.359 3.828 5.5 4.094 8.828zM22 22.953c0.016 0.266-0.078 0.531-0.281 0.734-0.187 0.203-0.438 0.313-0.719 0.313h-2.234c-0.531 0-0.969-0.406-1-0.938-0.516-9.078-7.75-16.312-16.828-16.844-0.531-0.031-0.938-0.469-0.938-0.984v-2.234c0-0.281 0.109-0.531 0.313-0.719 0.187-0.187 0.438-0.281 0.688-0.281h0.047c5.469 0.281 10.609 2.578 14.484 6.469 3.891 3.875 6.188 9.016 6.469 14.484z',\n viewBox: '0 0 22 28'\n }\n};\n\nexport default ICONS;\n","const PAGINATION = {\n PREV_PAGE: '← PREV',\n NEXT_PAGE: '→ NEXT'\n};\n\nexport default PAGINATION;\n","export { default as ICONS } from './icons';\nexport { default as PAGINATION } from './pagination';\n","import React from 'react';\nimport Helmet from 'react-helmet';\nimport styles from './Layout.module.scss';\n\nconst Layout = ({ children, title, description }) => (\n <div className={styles.layout}>\n <Helmet>\n <html lang=\"en\" />\n <title>{title}</title>\n <meta name=\"description\" content={description} />\n </Helmet>\n {children}\n </div>\n);\n\nexport default Layout;\n","export { default } from './Layout';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"layout\":\"Layout-module--layout--3Pyz6\"};","import { ICONS } from '../constants';\n\nconst getIcon = (name) => {\n let icon;\n\n switch (name) {\n case 'twitter':\n icon = ICONS.TWITTER;\n break;\n case 'github':\n icon = ICONS.GITHUB;\n break;\n case 'vkontakte':\n icon = ICONS.VKONTAKTE;\n break;\n case 'telegram':\n icon = ICONS.TELEGRAM;\n break;\n case 'email':\n icon = ICONS.EMAIL;\n break;\n case 'rss':\n icon = ICONS.RSS;\n break;\n default:\n icon = {};\n break;\n }\n\n return icon;\n};\n\nexport default getIcon;\n","const getContactHref = (name, contact) => {\n let href;\n\n switch (name) {\n case 'twitter':\n href = `https://www.twitter.com/${contact}`;\n break;\n case 'github':\n href = `https://github.com/${contact}`;\n break;\n case 'vkontakte':\n href = `https://vk.com/${contact}`;\n break;\n case 'telegram':\n href = `telegram:${contact}`;\n break;\n case 'email':\n href = `mailto:${contact}`;\n break;\n default:\n href = contact;\n break;\n }\n\n return href;\n};\n\nexport default getContactHref;\n","export { default as getIcon } from './get-icon';\nexport { default as getContactHref } from './get-contact-href';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"author\":\"Author-module--author--2Yefr\",\"author__bio-twitter\":\"Author-module--author__bio-twitter--n-O9n\"};","'use strict';\n\nmodule.exports = require('./components/DisqusThread');","'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;","// 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-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta__date\":\"Meta-module--meta__date--29eD7\"};","// 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 = {\"post__footer\":\"Post-module--post__footer--3WzWU\",\"post__comments\":\"Post-module--post__comments--25y6I\",\"post__home-button\":\"Post-module--post__home-button--16Kl0\"};"],"sourceRoot":""}