{"version":3,"sources":["webpack:///./node_modules/semantic-ui-react/dist/es/elements/List/ListDescription.js","webpack:///./node_modules/semantic-ui-react/dist/es/elements/List/ListHeader.js","webpack:///./node_modules/semantic-ui-react/dist/es/elements/List/ListContent.js","webpack:///./node_modules/semantic-ui-react/dist/es/elements/List/ListIcon.js","webpack:///./node_modules/semantic-ui-react/dist/es/elements/List/ListItem.js","webpack:///./node_modules/semantic-ui-react/dist/es/elements/List/ListList.js","webpack:///./node_modules/semantic-ui-react/dist/es/elements/List/List.js","webpack:///./src/components/TagsCard/TagsCard.tsx","webpack:///./src/components/BlogPagination/BlogPagination.tsx","webpack:///./src/pages/blog.tsx","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./src/components/BlogTitle.tsx","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js"],"names":["ListDescription","props","children","className","content","classes","classnames_default","rest","Object","getUnhandledProps","ElementType","getElementType","react_default","a","createElement","extends_default","lib","isNil","handledProps","propTypes","create","factories","List_ListDescription","ListHeader","List_ListHeader","ListContent","description","floated","header","verticalAlign","classNameBuilders","List_ListContent","ListIcon","Icon","name","List_ListIcon","ListItem_ListItem","_Component","ListItem","_getPrototypeOf2","_this","classCallCheck_default","this","_len","arguments","length","args","Array","_key","possibleConstructorReturn_default","getPrototypeOf_default","call","apply","concat","defineProperty_default","assertThisInitialized_default","e","disabled","invoke_default","inherits_default","createClass_default","key","value","_this$props","active","icon","image","valueProp","data-value","role","onClick","handleClick","iconElement","autoGenerateKey","imageElement","Image","react","isPlainObject_default","defaultProps","headerElement","descriptionElement","List_ListItem","ListList","List_ListList","List_List","List","predefinedProps","itemProps","_this2","animated","bulleted","celled","divided","horizontal","inverted","items","link","ordered","relaxed","selection","size","map_default","item","overrideProps","handleItemOverrides","elements_List_List","TagsCard","Card","Content","Header","tags","map","tag","isActive","fieldValue","tagLink","Item","as","color","style","fontWeight","Link","to","totalCount","BlogPagination","pageCount","activeItem","pathname","startsWith","split","Menu","pagination","times","index","pageIndex","toString","rangeStep","isInRange","isLastPage","cursor","__webpack_exports__","withLayout","data","group","posts","edges","location","Math","ceil","Posts","Container","_ref","node","frontmatter","timeToRead","slug","fields","excerpt","avatar","author","cover","get","extra","Comment","Group","Avatar","src","fixed","srcSet","Author","id","Metadata","margin","updatedDate","Description","gatsby_browser_entry","fluid","title","BlogTitle","Segment","vertical","Grid","padded","justifyContent","maxWidth","textAlign","pageContext","pageQuery","anObject","__webpack_require__","module","exports","that","result","global","ignoreCase","multiline","unicode","sticky","react__WEBPACK_IMPORTED_MODULE_0__","semantic_ui_react__WEBPACK_IMPORTED_MODULE_1__","semantic_ui_react__WEBPACK_IMPORTED_MODULE_2__","semantic_ui_react__WEBPACK_IMPORTED_MODULE_3__","Subheader","$flags","DESCRIPTORS","$toString","define","fn","RegExp","prototype","source","flags","R","undefined","f","configurable","DateProto","Date","getTime","NaN"],"mappings":"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","file":"component---src-pages-blog-tsx-1066ef3099260f05146b.js","sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A list item can contain a description.\n */\n\nfunction ListDescription(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx(className, 'description');\n var rest = getUnhandledProps(ListDescription, props);\n var ElementType = getElementType(ListDescription, props);\n return React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nListDescription.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nListDescription.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: customPropTypes.as,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nListDescription.create = createShorthandFactory(ListDescription, function (content) {\n return {\n content: content\n };\n});\nexport default ListDescription;","import _extends from \"@babel/runtime/helpers/extends\";\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A list item can contain a header.\n */\n\nfunction ListHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(ListHeader, props);\n var ElementType = getElementType(ListHeader, props);\n return React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nListHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nListHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: customPropTypes.as,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nListHeader.create = createShorthandFactory(ListHeader, function (content) {\n return {\n content: content\n };\n});\nexport default ListHeader;","import _extends from \"@babel/runtime/helpers/extends\";\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useValueAndKey, useVerticalAlignProp } from '../../lib';\nimport ListDescription from './ListDescription';\nimport ListHeader from './ListHeader';\n/**\n * A list item can contain a content.\n */\n\nfunction ListContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n floated = props.floated,\n header = props.header,\n verticalAlign = props.verticalAlign;\n var classes = cx(useValueAndKey(floated, 'floated'), useVerticalAlignProp(verticalAlign), 'content', className);\n var rest = getUnhandledProps(ListContent, props);\n var ElementType = getElementType(ListContent, props);\n\n if (!childrenUtils.isNil(children)) {\n return React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), ListHeader.create(header), ListDescription.create(description), content);\n}\n\nListContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"floated\", \"header\", \"verticalAlign\"];\nListContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: customPropTypes.as,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for ListDescription. */\n description: customPropTypes.itemShorthand,\n\n /** An list content can be floated left or right. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** Shorthand for ListHeader. */\n header: customPropTypes.itemShorthand,\n\n /** An element inside a list can be vertically aligned. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nListContent.create = createShorthandFactory(ListContent, function (content) {\n return {\n content: content\n };\n});\nexport default ListContent;","import _extends from \"@babel/runtime/helpers/extends\";\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { createShorthandFactory, getUnhandledProps, SUI, useVerticalAlignProp } from '../../lib';\nimport Icon from '../Icon/Icon';\n/**\n * A list item can contain an icon.\n */\n\nfunction ListIcon(props) {\n var className = props.className,\n verticalAlign = props.verticalAlign;\n var classes = cx(useVerticalAlignProp(verticalAlign), className);\n var rest = getUnhandledProps(ListIcon, props);\n return React.createElement(Icon, _extends({}, rest, {\n className: classes\n }));\n}\n\nListIcon.handledProps = [\"className\", \"verticalAlign\"];\nListIcon.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Additional classes. */\n className: PropTypes.string,\n\n /** An element inside a list can be vertically aligned. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nListIcon.create = createShorthandFactory(ListIcon, function (name) {\n return {\n name: name\n };\n});\nexport default ListIcon;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { Component, isValidElement } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport Image from '../../elements/Image';\nimport ListContent from './ListContent';\nimport ListDescription from './ListDescription';\nimport ListHeader from './ListHeader';\nimport ListIcon from './ListIcon';\n/**\n * A list item can contain a set of items.\n */\n\nvar ListItem =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(ListItem, _Component);\n\n function ListItem() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, ListItem);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ListItem)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleClick\", function (e) {\n var disabled = _this.props.disabled;\n if (!disabled) _invoke(_this.props, 'onClick', e, _this.props);\n });\n\n return _this;\n }\n\n _createClass(ListItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content,\n description = _this$props.description,\n disabled = _this$props.disabled,\n header = _this$props.header,\n icon = _this$props.icon,\n image = _this$props.image,\n value = _this$props.value;\n var ElementType = getElementType(ListItem, this.props);\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(ElementType !== 'li', 'item'), className);\n var rest = getUnhandledProps(ListItem, this.props);\n var valueProp = ElementType === 'li' ? {\n value: value\n } : {\n 'data-value': value\n };\n\n if (!childrenUtils.isNil(children)) {\n return React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), children);\n }\n\n var iconElement = ListIcon.create(icon, {\n autoGenerateKey: false\n });\n var imageElement = Image.create(image, {\n autoGenerateKey: false\n }); // See description of `content` prop for explanation about why this is necessary.\n\n if (!isValidElement(content) && _isPlainObject(content)) {\n return React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), iconElement || imageElement, ListContent.create(content, {\n autoGenerateKey: false,\n defaultProps: {\n header: header,\n description: description\n }\n }));\n }\n\n var headerElement = ListHeader.create(header, {\n autoGenerateKey: false\n });\n var descriptionElement = ListDescription.create(description, {\n autoGenerateKey: false\n });\n\n if (iconElement || imageElement) {\n return React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), iconElement || imageElement, (content || headerElement || descriptionElement) && React.createElement(ListContent, null, headerElement, descriptionElement, content));\n }\n\n return React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), headerElement, descriptionElement, content);\n }\n }]);\n\n return ListItem;\n}(Component);\n\n_defineProperty(ListItem, \"handledProps\", [\"active\", \"as\", \"children\", \"className\", \"content\", \"description\", \"disabled\", \"header\", \"icon\", \"image\", \"onClick\", \"value\"]);\n\nListItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: customPropTypes.as,\n\n /** A list item can active. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /**\n * Shorthand for primary content.\n *\n * Heads up!\n *\n * This is handled slightly differently than the typical `content` prop since\n * the wrapping ListContent is not used when there's no icon or image.\n *\n * If you pass content as:\n * - an element/literal, it's treated as the sibling node to\n * header/description (whether wrapped in Item.Content or not).\n * - a props object, it forces the presence of Item.Content and passes those\n * props to it. If you pass a content prop within that props object, it\n * will be treated as the sibling node to header/description.\n */\n content: customPropTypes.itemShorthand,\n\n /** Shorthand for ListDescription. */\n description: customPropTypes.itemShorthand,\n\n /** A list item can disabled. */\n disabled: PropTypes.bool,\n\n /** Shorthand for ListHeader. */\n header: customPropTypes.itemShorthand,\n\n /** Shorthand for ListIcon. */\n icon: customPropTypes.every([customPropTypes.disallow(['image']), customPropTypes.itemShorthand]),\n\n /** Shorthand for Image. */\n image: customPropTypes.every([customPropTypes.disallow(['icon']), customPropTypes.itemShorthand]),\n\n /** A ListItem can be clicked */\n onClick: PropTypes.func,\n\n /** A value for an ordered list. */\n value: PropTypes.string\n} : {};\nListItem.create = createShorthandFactory(ListItem, function (content) {\n return {\n content: content\n };\n});\nexport default ListItem;","import _extends from \"@babel/runtime/helpers/extends\";\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A list can contain a sub list.\n */\n\nfunction ListList(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var rest = getUnhandledProps(ListList, props);\n var ElementType = getElementType(ListList, props);\n var classes = cx(useKeyOnly(ElementType !== 'ul' && ElementType !== 'ol', 'list'), className);\n return React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nListList.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nListList.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: customPropTypes.as,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default ListList;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useVerticalAlignProp } from '../../lib';\nimport ListContent from './ListContent';\nimport ListDescription from './ListDescription';\nimport ListHeader from './ListHeader';\nimport ListIcon from './ListIcon';\nimport ListItem from './ListItem';\nimport ListList from './ListList';\n/**\n * A list groups related content.\n */\n\nvar List =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(List, _Component);\n\n function List() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, List);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(List)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleItemOverrides\", function (predefinedProps) {\n return {\n onClick: function onClick(e, itemProps) {\n _invoke(predefinedProps, 'onClick', e, itemProps);\n\n _invoke(_this.props, 'onItemClick', e, itemProps);\n }\n };\n });\n\n return _this;\n }\n\n _createClass(List, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n animated = _this$props.animated,\n bulleted = _this$props.bulleted,\n celled = _this$props.celled,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content,\n divided = _this$props.divided,\n floated = _this$props.floated,\n horizontal = _this$props.horizontal,\n inverted = _this$props.inverted,\n items = _this$props.items,\n link = _this$props.link,\n ordered = _this$props.ordered,\n relaxed = _this$props.relaxed,\n selection = _this$props.selection,\n size = _this$props.size,\n verticalAlign = _this$props.verticalAlign;\n var classes = cx('ui', size, useKeyOnly(animated, 'animated'), useKeyOnly(bulleted, 'bulleted'), useKeyOnly(celled, 'celled'), useKeyOnly(divided, 'divided'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(inverted, 'inverted'), useKeyOnly(link, 'link'), useKeyOnly(ordered, 'ordered'), useKeyOnly(selection, 'selection'), useKeyOrValueAndKey(relaxed, 'relaxed'), useValueAndKey(floated, 'floated'), useVerticalAlignProp(verticalAlign), 'list', className);\n var rest = getUnhandledProps(List, this.props);\n var ElementType = getElementType(List, this.props);\n\n if (!childrenUtils.isNil(children)) {\n return React.createElement(ElementType, _extends({\n role: \"list\",\n className: classes\n }, rest), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return React.createElement(ElementType, _extends({\n role: \"list\",\n className: classes\n }, rest), content);\n }\n\n return React.createElement(ElementType, _extends({\n role: \"list\",\n className: classes\n }, rest), _map(items, function (item) {\n return ListItem.create(item, {\n overrideProps: _this2.handleItemOverrides\n });\n }));\n }\n }]);\n\n return List;\n}(Component);\n\n_defineProperty(List, \"Content\", ListContent);\n\n_defineProperty(List, \"Description\", ListDescription);\n\n_defineProperty(List, \"Header\", ListHeader);\n\n_defineProperty(List, \"Icon\", ListIcon);\n\n_defineProperty(List, \"Item\", ListItem);\n\n_defineProperty(List, \"List\", ListList);\n\n_defineProperty(List, \"handledProps\", [\"animated\", \"as\", \"bulleted\", \"celled\", \"children\", \"className\", \"content\", \"divided\", \"floated\", \"horizontal\", \"inverted\", \"items\", \"link\", \"onItemClick\", \"ordered\", \"relaxed\", \"selection\", \"size\", \"verticalAlign\"]);\n\nList.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: customPropTypes.as,\n\n /** A list can animate to set the current item apart from the list. */\n animated: PropTypes.bool,\n\n /** A list can mark items with a bullet. */\n bulleted: PropTypes.bool,\n\n /** A list can divide its items into cells. */\n celled: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A list can show divisions between content. */\n divided: PropTypes.bool,\n\n /** An list can be floated left or right. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** A list can be formatted to have items appear horizontally. */\n horizontal: PropTypes.bool,\n\n /** A list can be inverted to appear on a dark background. */\n inverted: PropTypes.bool,\n\n /** Shorthand array of props for ListItem. */\n items: customPropTypes.collectionShorthand,\n\n /** A list can be specially formatted for navigation links. */\n link: PropTypes.bool,\n\n /**\n * onClick handler for ListItem. Mutually exclusive with children.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All item props.\n */\n onItemClick: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.func]),\n\n /** A list can be ordered numerically. */\n ordered: PropTypes.bool,\n\n /** A list can relax its padding to provide more negative space. */\n relaxed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** A selection list formats list items as possible choices. */\n selection: PropTypes.bool,\n\n /** A list can vary in size. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** An element inside a list can be vertically aligned. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nexport default List;","import * as React from \"react\";\nimport { GatsbyLinkProps } from \"gatsby-link\";\nimport { Card, List } from \"semantic-ui-react\";\nimport { markdownRemarkGroupConnectionConnection } from \"../../graphql-types\";\n\ninterface TagsCardProps extends React.HTMLProps {\n tags: markdownRemarkGroupConnectionConnection[];\n Link: React.ComponentClass>;\n tag?: string;\n}\n\nexport default (props: TagsCardProps) => {\n return (\n \n \n \n Tags\n \n \n \n \n {props.tags.map((tag) => {\n const isActive = tag.fieldValue === props.tag;\n const activeStyle = {\n fontWeight: \"700\",\n };\n const tagLink = isActive ? `/blog` : `/blog/tags/${tag.fieldValue}/`;\n return (\n \n \n \n \n {tag.fieldValue} ({tag.totalCount})\n \n \n \n );\n })}\n \n \n \n );\n};\n","import * as React from \"react\";\nimport { GatsbyLinkProps } from \"gatsby-link\";\nimport { Menu } from \"semantic-ui-react\";\nimport { times } from \"lodash\";\n\ninterface BlogPaginationProps extends React.HTMLProps {\n pathname: string;\n Link: React.ComponentClass>;\n pageCount: number;\n}\n\nexport default (props: BlogPaginationProps) => {\n if (props.pageCount === 1) { return null; }\n const activeItem = props.pathname.startsWith(\"/blog/page/\")\n ? props.pathname.split(\"/\")[3]\n : \"1\";\n\n return (\n \n {times(props.pageCount, (index) => {\n const pageIndex = (index + 1).toString();\n\n const rangeStep = props.pageCount < 10 ? 5 : 3;\n const isInRange = (+pageIndex - rangeStep < +activeItem && +pageIndex + rangeStep > +activeItem);\n const isLastPage = (+pageIndex === props.pageCount);\n const isFirstPage = (+pageIndex === 1);\n if (isInRange || isFirstPage || isLastPage) {\n return (\n \n );\n } else {\n return (+pageIndex === props.pageCount - 1 || +pageIndex === 2)\n ? ...\n : null;\n }\n })}\n \n );\n};\n","import * as React from \"react\";\nimport { Link } from \"gatsby\";\nimport { StaticQuery, graphql } from \"gatsby\";\nimport { Header, Grid, Card, List, Container, Feed, Segment, Comment } from \"semantic-ui-react\";\nimport { MarkdownRemarkConnection, ImageSharp } from \"../graphql-types\";\nimport BlogTitle from \"../components/BlogTitle\";\nimport TagsCard from \"../components/TagsCard/TagsCard\";\nimport BlogPagination from \"../components/BlogPagination/BlogPagination\";\nimport { get } from \"lodash\";\nimport {withLayout, LayoutProps} from \"../components/Layout\";\nimport { MarkdownRemark } from \"../graphql-types\";\n\ninterface BlogProps extends LayoutProps {\n data: {\n tags: MarkdownRemarkConnection;\n posts: MarkdownRemarkConnection;\n };\n pageContext: {\n tag?: string; // only set into `templates/tags-pages.tsx`\n };\n}\n\nconst BlogPage = (props: BlogProps) => {\n const tags = props.data.tags.group;\n const posts = props.data.posts.edges;\n const { pathname } = props.location;\n const pageCount = Math.ceil(props.data.posts.totalCount / 10);\n\n // TODO export posts in a proper component\n const Posts = (\n \n {posts.map(({ node }: {node: MarkdownRemark}) => {\n const { frontmatter, timeToRead, fields: { slug }, excerpt } = node;\n const avatar = frontmatter.author.avatar.children[0] as ImageSharp;\n const cover = get(frontmatter, \"image.children.0.fixed\", {});\n\n const extra = (\n \n \n \n \n \n {frontmatter.author.id}\n \n \n {frontmatter.updatedDate} - {timeToRead} min read\n \n \n \n \n );\n\n const description = (\n \n {excerpt}\n
\n Read moreā€¦\n
\n );\n\n return (\n \n );\n })}\n
\n );\n\n return (\n \n {/* Title */}\n \n\n {/* Content */}\n \n \n
\n {Posts}\n \n \n \n
\n
\n \n
\n
\n
\n
\n );\n};\n\nexport default withLayout(BlogPage);\n\nexport const pageQuery = graphql`\nquery PageBlog {\n # Get tags\n tags: allMarkdownRemark(filter: {frontmatter: {draft: {ne: true}}}) {\n group(field: frontmatter___tags) {\n fieldValue\n totalCount\n }\n }\n\n # Get posts\n posts: allMarkdownRemark(\n sort: { order: DESC, fields: [frontmatter___updatedDate] },\n filter: {\n frontmatter: { draft: { ne: true } },\n fileAbsolutePath: { regex: \"/blog/\" }\n },\n limit: 10\n ) {\n totalCount\n edges {\n node {\n excerpt\n timeToRead\n fields {\n slug\n }\n frontmatter {\n title\n updatedDate(formatString: \"DD MMMM, YYYY\")\n image {\n \tchildren {\n ... on ImageSharp {\n fixed(width: 700, height: 100) {\n src\n srcSet\n }\n }\n }\n }\n author {\n id\n avatar {\n children {\n ... on ImageSharp {\n fixed(width: 35, height: 35) {\n src\n srcSet\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}\n`;\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","import * as React from \"react\";\nimport { Header, Segment, Icon } from \"semantic-ui-react\";\n\nexport default () => {\n return (\n \n
\n \n \n Blog\n \n All about this starter kit\n \n \n
\n
\n );\n};\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n"],"sourceRoot":""}