-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---src-templates-index-template-js-1d023609d860f9aeec06.js.map
1 lines (1 loc) · 20.6 KB
/
component---src-templates-index-template-js-1d023609d860f9aeec06.js.map
1
{"version":3,"sources":["webpack:///./src/components/Sidebar/Author/Author.js","webpack:///./src/components/Icon/Icon.js","webpack:///./src/components/Sidebar/Contacts/Contacts.js","webpack:///./src/components/Sidebar/Copyright/Copyright.js","webpack:///./src/components/Sidebar/Menu/Menu.js","webpack:///./src/components/Sidebar/Sidebar.js","webpack:///./src/components/Feed/Feed.module.scss","webpack:///./src/components/Feed/Feed.js","webpack:///./src/templates/index-template.js","webpack:///./src/components/Sidebar/Copyright/Copyright.module.scss","webpack:///./src/components/Page/Page.module.scss","webpack:///./src/components/Page/Page.js","webpack:///./src/components/Sidebar/Sidebar.module.scss","webpack:///./src/components/Pagination/Pagination.module.scss","webpack:///./node_modules/classnames/bind.js","webpack:///./src/components/Sidebar/Contacts/Contacts.module.scss","webpack:///./src/components/Icon/Icon.module.scss","webpack:///./src/components/Sidebar/Author/Author.module.scss","webpack:///./src/components/Sidebar/Menu/Menu.module.scss","webpack:///./src/components/Pagination/Pagination.js"],"names":["Author","author","isIndex","className","styles","to","src","withPrefix","photo","width","height","alt","name","bio","Icon","icon","viewBox","d","path","Contacts","contacts","Object","keys","map","key","href","getContactHref","rel","target","getIcon","Copyright","copyright","Menu","menu","item","activeClassName","label","DarkModeToggler","React","lazy","Sidebar","useSiteMetadata","isSSR","window","Suspense","fallback","module","exports","Feed","edges","edge","node","fields","slug","dateTime","Date","frontmatter","date","toLocaleDateString","year","month","day","categorySlug","category","title","description","IndexTemplate","data","pageContext","siteTitle","siteSubtitle","subtitle","currentPage","hasNextPage","hasPrevPage","prevPagePath","nextPagePath","allMarkdownRemark","pageTitle","Page","children","pageRef","useRef","useEffect","current","scrollIntoView","ref","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","this","Array","isArray","apply","call","join","default","cx","bind","Pagination","prevClassName","nextClassName","PAGINATION","PREV_PAGE","NEXT_PAGE"],"mappings":"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","file":"component---src-templates-index-template-js-1d023609d860f9aeec06.js","sourcesContent":["import React from 'react';\nimport { withPrefix, Link } from 'gatsby';\nimport styles from './Author.module.scss';\n\ntype Props = {\n author: {\n name: string,\n bio: string,\n photo: string\n },\n isIndex: ?boolean\n};\n\nconst Author = ({ author, isIndex }: Props) => (\n <div className={styles['author']}>\n <Link to=\"/\">\n <img\n src={withPrefix(author.photo)}\n className={styles['author__photo']}\n width=\"75\"\n height=\"75\"\n alt={author.name}\n />\n </Link>\n { isIndex === true ? (\n <h1 className={styles['author__title']}>\n <Link className={styles['author__title-link']} to=\"/\">{author.name}</Link>\n </h1>\n ) : (\n <h2 className={styles['author__title']}>\n <Link className={styles['author__title-link']} to=\"/\">{author.name}</Link>\n </h2>\n )}\n <p className={styles['author__subtitle']}>{author.bio}</p>\n </div>\n);\n\nexport default Author;\n","// @flow strict\nimport React from 'react';\nimport styles from './Icon.module.scss';\n\ntype Props = {\n name: string,\n icon: {\n viewBox?: string,\n path?: string\n }\n};\n\nconst Icon = ({ name, icon }: Props) => (\n <svg className={styles['icon']} viewBox={icon.viewBox}>\n <title>{name}</title>\n <path d={icon.path} />\n </svg>\n);\n\nexport default Icon;\n","// @flow strict\nimport React from 'react';\nimport { getContactHref, getIcon } from '../../../utils';\nimport Icon from '../../Icon';\nimport styles from './Contacts.module.scss';\n\ntype Props = {\n contacts: {\n [string]: string,\n },\n};\n\nconst Contacts = ({ contacts }: Props) => (\n <div className={styles['contacts']}>\n <ul className={styles['contacts__list']}>\n {Object.keys(contacts).map((name) => (!contacts[name] ? null : (\n <li className={styles['contacts__list-item']} key={name}>\n <a\n className={styles['contacts__list-item-link']}\n href={getContactHref(name, contacts[name])}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <Icon name={name} icon={getIcon(name)} />\n </a>\n </li>\n )))}\n </ul>\n </div>\n);\n\nexport default Contacts;\n","// @flow strict\nimport React from 'react';\nimport styles from './Copyright.module.scss';\n\ntype Props = {\n copyright: string\n};\n\nconst Copyright = ({ copyright }: Props) => (\n <div className={styles['copyright']}>\n {copyright}\n </div>\n);\n\nexport default Copyright;\n","import React from 'react';\nimport { Link } from 'gatsby';\nimport styles from './Menu.module.scss';\n\ntype Props = {\n menu: {\n label: string,\n path: string\n }[]\n};\n\nconst Menu = ({ menu }: Props) => (\n <nav className={styles['menu']}>\n <ul className={styles['menu__list']}>\n {menu.map((item) => (\n <li className={styles['menu__list-item']} key={item.path}>\n <Link\n to={item.path}\n className={styles['menu__list-item-link']}\n activeClassName={styles['menu__list-item-link--active']}\n >\n {item.label}\n </Link>\n </li>\n ))}\n </ul>\n </nav>\n);\n\nexport default Menu;\n","import React from 'react';\nimport Author from './Author';\nimport Contacts from './Contacts';\nimport Copyright from './Copyright';\nimport Menu from './Menu';\nimport styles from './Sidebar.module.scss';\nimport { useSiteMetadata } from '../../hooks';\n// import DarkModeToggler from '../DarkModeToggler';\n\ntype Props = {\n isIndex?: boolean,\n};\n\nconst DarkModeToggler = React.lazy(() => import('../DarkModeToggler'));\n\nconst Sidebar = ({ isIndex }: Props) => {\n const { author, copyright, menu } = useSiteMetadata();\n const isSSR = typeof window === 'undefined';\n\n return (\n <div className={styles['sidebar']}>\n <div className={styles['sidebar__inner']}>\n <Author author={author} isIndex={isIndex} />\n <Menu menu={menu} />\n {!isSSR && (\n <React.Suspense fallback={<div />}>\n <DarkModeToggler className={styles['sidebar__toggler']}/>\n </React.Suspense>\n )}\n <Contacts contacts={author.contacts} />\n <Copyright copyright={copyright} />\n </div>\n </div>\n );\n};\n\nexport default Sidebar;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"feed__item\":\"Feed-module--feed__item--Bm0MP\",\"feed__item-title\":\"Feed-module--feed__item-title--34sOw\",\"feed__item-title-link\":\"Feed-module--feed__item-title-link--2qfTF\",\"feed__item-description\":\"Feed-module--feed__item-description--2_Zuy\",\"feed__item-meta-time\":\"Feed-module--feed__item-meta-time--3hc6b\",\"feed__item-meta-divider\":\"Feed-module--feed__item-meta-divider--2GeAw\",\"feed__item-meta-category-link\":\"Feed-module--feed__item-meta-category-link--lAu1I\",\"feed__item-readmore\":\"Feed-module--feed__item-readmore--rMfbv\"};","// @flow strict\nimport React from 'react';\nimport { Link } from 'gatsby';\nimport type { Edges } from '../../types';\nimport styles from './Feed.module.scss';\n\ntype Props = {\n edges: Edges\n};\n\nconst Feed = ({ edges }: Props) => (\n <div className={styles['feed']}>\n {edges.map((edge) => (\n <div className={styles['feed__item']} key={edge.node.fields.slug}>\n <div className={styles['feed__item-meta']}>\n <time className={styles['feed__item-meta-time']} dateTime={ new Date(edge.node.frontmatter.date).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' })}>\n { new Date(edge.node.frontmatter.date).toLocaleDateString('en-US', { year: 'numeric', month: 'long' })}\n </time>\n <span className={styles['feed__item-meta-divider']} />\n <span className={styles['feed__item-meta-category']}>\n <Link to={edge.node.fields.categorySlug} className={styles['feed__item-meta-category-link']}>{edge.node.frontmatter.category}</Link>\n </span>\n </div>\n <h2 className={styles['feed__item-title']}>\n <Link className={styles['feed__item-title-link']} to={edge.node.fields.slug}>{edge.node.frontmatter.title}</Link>\n </h2>\n <p className={styles['feed__item-description']}>{edge.node.frontmatter.description}</p>\n <Link className={styles['feed__item-readmore']} to={edge.node.fields.slug}>Read</Link>\n </div>\n ))}\n </div>\n);\n\nexport default Feed;\n","// @flow strict\nimport React from 'react';\nimport { graphql } from 'gatsby';\nimport Layout from '../components/Layout';\nimport Sidebar from '../components/Sidebar';\nimport Feed from '../components/Feed';\nimport Page from '../components/Page';\nimport Pagination from '../components/Pagination';\nimport { useSiteMetadata } from '../hooks';\nimport type { PageContext, AllMarkdownRemark } from '../types';\n\ntype Props = {\n data: AllMarkdownRemark,\n pageContext: PageContext\n};\n\nconst IndexTemplate = ({ data, pageContext }: Props) => {\n const { title: siteTitle, subtitle: siteSubtitle } = useSiteMetadata();\n\n const {\n currentPage,\n hasNextPage,\n hasPrevPage,\n prevPagePath,\n nextPagePath\n } = pageContext;\n\n const { edges } = data.allMarkdownRemark;\n const pageTitle = currentPage > 0 ? `Posts - Page ${currentPage} - ${siteTitle}` : siteTitle;\n\n return (\n <Layout title={pageTitle} description={siteSubtitle}>\n <Sidebar isIndex />\n <Page>\n <Feed edges={edges} />\n <Pagination\n prevPagePath={prevPagePath}\n nextPagePath={nextPagePath}\n hasPrevPage={hasPrevPage}\n hasNextPage={hasNextPage}\n />\n </Page>\n </Layout>\n );\n};\n\nexport const query = graphql`\n query IndexTemplate($postsLimit: Int!, $postsOffset: Int!) {\n allMarkdownRemark(\n limit: $postsLimit,\n skip: $postsOffset,\n filter: { frontmatter: { template: { eq: \"post\" }, draft: { ne: true } } },\n sort: { order: DESC, fields: [frontmatter___date] }\n ){\n edges {\n node {\n fields {\n slug\n categorySlug\n }\n frontmatter {\n title\n date\n category\n description\n }\n }\n }\n }\n }\n`;\n\nexport default IndexTemplate;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"copyright\":\"Copyright-module--copyright--1YLES\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"page\":\"Page-module--page--V2155\",\"page__inner\":\"Page-module--page__inner--3xzwp\",\"page__title\":\"Page-module--page__title--t1zKX\",\"page__body\":\"Page-module--page__body--1A7TB\"};","import React, { useRef, useEffect } from 'react';\nimport styles from './Page.module.scss';\n\ntype Props = {\n title?: string,\n children: React.Node\n};\n\nconst Page = ({ title, children }: Props) => {\n const pageRef = useRef();\n\n useEffect(() => {\n pageRef.current.scrollIntoView();\n });\n\n return (\n <div ref={pageRef} className={styles['page']}>\n <div className={styles['page__inner']}>\n { title && <h1 className={styles['page__title']}>{title}</h1>}\n <div className={styles['page__body']}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Page;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sidebar\":\"Sidebar-module--sidebar--1zM7S\",\"sidebar__inner\":\"Sidebar-module--sidebar__inner--2Tprz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pagination\":\"Pagination-module--pagination--3T_m0\",\"pagination__prev\":\"Pagination-module--pagination__prev--3tRFv\",\"pagination__prev-link\":\"Pagination-module--pagination__prev-link--2vesn\",\"pagination__prev-link--disable\":\"Pagination-module--pagination__prev-link--disable--1Fxw2\",\"pagination__next\":\"Pagination-module--pagination__next--19bJd\",\"pagination__next-link\":\"Pagination-module--pagination__next-link--3ln7y\",\"pagination__next-link--disable\":\"Pagination-module--pagination__next-link--disable--AsM50\"};","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(this && this[arg] || arg);\n } else if (Array.isArray(arg)) {\n classes.push(classNames.apply(this, arg));\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(this && this[key] || key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contacts\":\"Contacts-module--contacts--3fb7G\",\"contacts__list\":\"Contacts-module--contacts__list--27zok\",\"contacts__list-item\":\"Contacts-module--contacts__list-item--1Adud\",\"contacts__list-item-link\":\"Contacts-module--contacts__list-item-link--2L60c\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"Icon-module--icon--1T2h2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"author__photo\":\"Author-module--author__photo--HnDWV\",\"author__title\":\"Author-module--author__title--ZztQd\",\"author__title-link\":\"Author-module--author__title-link--BY7f8\",\"author__subtitle\":\"Author-module--author__subtitle--3hbMX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu\":\"Menu-module--menu--2aN3O\",\"menu__list\":\"Menu-module--menu__list--1uKDu\",\"menu__list-item\":\"Menu-module--menu__list-item--27cxj\",\"menu__list-item-link\":\"Menu-module--menu__list-item-link--29Sd-\",\"menu__list-item-link--active\":\"Menu-module--menu__list-item-link--active--2HzKy\"};","// @flow strict\nimport React from 'react';\nimport classNames from 'classnames/bind';\nimport { Link } from 'gatsby';\nimport { PAGINATION } from '../../constants';\nimport styles from './Pagination.module.scss';\n\ntype Props = {\n prevPagePath: string,\n nextPagePath: string,\n hasNextPage: boolean,\n hasPrevPage: boolean\n};\n\nconst cx = classNames.bind(styles);\n\nconst Pagination = ({\n prevPagePath,\n nextPagePath,\n hasNextPage,\n hasPrevPage\n}: Props) => {\n const prevClassName = cx({\n 'pagination__prev-link': true,\n 'pagination__prev-link--disable': !hasPrevPage\n });\n\n const nextClassName = cx({\n 'pagination__next-link': true,\n 'pagination__next-link--disable': !hasNextPage\n });\n\n return (\n <div className={styles['pagination']}>\n <div className={styles['pagination__prev']}>\n <Link rel=\"prev\" to={hasPrevPage ? prevPagePath : '/'} className={prevClassName}>{PAGINATION.PREV_PAGE}</Link>\n </div>\n <div className={styles['pagination__next']}>\n <Link rel=\"next\" to={hasNextPage ? nextPagePath : '/'} className={nextClassName}>{PAGINATION.NEXT_PAGE}</Link>\n </div>\n </div>\n );\n};\n\nexport default Pagination;\n"],"sourceRoot":""}