-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent---src-pages-index-tsx-baf55c613e59dc9a5bbe.js.map
1 lines (1 loc) · 25.9 KB
/
component---src-pages-index-tsx-baf55c613e59dc9a5bbe.js.map
1
{"version":3,"sources":["webpack:///./src/pages/index.tsx","webpack:///./src/components/PostCard.tsx","webpack:///../gatsper-blog/node_modules/core-js/modules/es6.number.constructor.js","webpack:///../gatsper-blog/node_modules/core-js/modules/_string-trim.js","webpack:///../gatsper-blog/node_modules/core-js/modules/_string-ws.js"],"names":["HomePosts","name","styles","IndexPage","props","width","data","header","childImageSharp","fluid","sizes","split","height","String","Number","aspectRatio","Object","_emotion_core__WEBPACK_IMPORTED_MODULE_3__","_layouts__WEBPACK_IMPORTED_MODULE_10__","css","react_helmet__WEBPACK_IMPORTED_MODULE_5___default","a","lang","config","title","content","description","property","siteUrl","src","facebook","googleSiteVerification","twitter","_components_Wrapper__WEBPACK_IMPORTED_MODULE_9__","_emotion_css__WEBPACK_IMPORTED_MODULE_0__","outer","SiteHeader","style","backgroundImage","inner","_styles_shared__WEBPACK_IMPORTED_MODULE_12__","_components_header_SiteNav__WEBPACK_IMPORTED_MODULE_7__","isHome","id","SiteMain","PostFeed","PostFeedRaise","allMarkdownRemark","edges","map","post","node","frontmatter","draft","_components_PostCard__WEBPACK_IMPORTED_MODULE_8__","key","fields","slug","children","_components_Footer__WEBPACK_IMPORTED_MODULE_6__","pageQuery","PostCardStyles","PostCardImageLink","PostCardImage","_emotion_styled_base__WEBPACK_IMPORTED_MODULE_1__","target","colors","lightgrey","PostCardContent","PostCardContentLink","darkgrey","PostCardTags","midgrey","PostCardTitle","PostCardExcerpt","PostCardMeta","AuthorList","AuthorListItem","AuthorNameTooltip","StaticAvatar","AuthorProfileImage","lighten","ReadingTime","PostCard","_ref","_emotion_core__WEBPACK_IMPORTED_MODULE_2__","className","image","gatsby__WEBPACK_IMPORTED_MODULE_3__","to","gatsby_image__WEBPACK_IMPORTED_MODULE_4___default","alt","tags","excerpt","author","_","avatar","fixed","timeToRead","global","__webpack_require__","has","cof","inheritIfRequired","toPrimitive","fails","gOPN","f","gOPD","dP","$trim","trim","$Number","Base","proto","prototype","BROKEN_COF","TRIM","toNumber","argument","it","length","third","radix","maxCode","first","charCodeAt","NaN","code","digits","slice","i","l","parseInt","value","arguments","that","this","valueOf","call","keys","j","constructor","$export","defined","spaces","space","ltrim","RegExp","rtrim","exporter","KEY","exec","ALIAS","exp","FORCE","fn","P","F","string","TYPE","replace","module","exports"],"mappings":"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","file":"component---src-pages-index-tsx-baf55c613e59dc9a5bbe.js","sourcesContent":["import { graphql } from 'gatsby';\nimport * as React from 'react';\nimport { css } from '@emotion/core';\nimport Helmet from 'react-helmet';\n\nimport Footer from '../components/Footer';\nimport SiteNav from '../components/header/SiteNav';\nimport PostCard from '../components/PostCard';\nimport Wrapper from '../components/Wrapper';\nimport IndexLayout from '../layouts';\nimport config from '../website-config';\nimport {\n inner,\n outer,\n PostFeed,\n PostFeedRaise,\n SiteDescription,\n SiteHeader,\n SiteHeaderContent,\n SiteMain,\n SiteTitle,\n} from '../styles/shared';\nimport { PageContext } from '../templates/post';\n\nconst HomePosts = css`\n @media (min-width: 795px) {\n .post-card:nth-of-type(6n + 1):not(.no-image) {\n flex: 1 1 100%;\n flex-direction: row;\n }\n\n .post-card:nth-of-type(6n + 1):not(.no-image) .post-card-image-link {\n position: relative;\n flex: 1 1 auto;\n border-radius: 5px 0 0 5px;\n }\n\n .post-card:nth-of-type(6n + 1):not(.no-image) .post-card-image {\n position: absolute;\n width: 100%;\n height: 100%;\n }\n\n .post-card:nth-of-type(6n + 1):not(.no-image) .post-card-content {\n flex: 0 1 357px;\n }\n\n .post-card:nth-of-type(6n + 1):not(.no-image) h2 {\n font-size: 2.6rem;\n }\n\n .post-card:nth-of-type(6n + 1):not(.no-image) p {\n font-size: 1.8rem;\n line-height: 1.55em;\n }\n\n .post-card:nth-of-type(6n + 1):not(.no-image) .post-card-content-link {\n padding: 30px 40px 0;\n }\n\n .post-card:nth-of-type(6n + 1):not(.no-image) .post-card-meta {\n padding: 0 40px 30px;\n }\n }\n`;\n\nexport interface IndexProps {\n data: {\n logo: {\n childImageSharp: {\n fixed: any;\n };\n };\n header: {\n childImageSharp: {\n fluid: any;\n };\n };\n allMarkdownRemark: {\n edges: Array<{\n node: PageContext;\n }>;\n };\n };\n}\n\nconst IndexPage: React.FC<IndexProps> = props => {\n const width = props.data.header.childImageSharp.fluid.sizes.split(', ')[1].split('px')[0];\n const height = String(Number(width) / props.data.header.childImageSharp.fluid.aspectRatio);\n return (\n <IndexLayout css={HomePosts}>\n <Helmet>\n <html lang={config.lang} />\n <title>{config.title}</title>\n <meta name=\"description\" content={config.description} />\n <meta property=\"og:site_name\" content={config.title} />\n <meta property=\"og:type\" content=\"website\" />\n <meta property=\"og:title\" content={config.title} />\n <meta property=\"og:description\" content={config.description} />\n <meta property=\"og:url\" content={config.siteUrl} />\n <meta\n property=\"og:image\"\n content={`${config.siteUrl}${props.data.header.childImageSharp.fluid.src}`}\n />\n {config.facebook && <meta property=\"article:publisher\" content={config.facebook} />}\n {config.googleSiteVerification && <meta name=\"google-site-verification\" content={config.googleSiteVerification} />}\n <meta name=\"twitter:card\" content=\"summary_large_image\" />\n <meta name=\"twitter:title\" content={config.title} />\n <meta name=\"twitter:description\" content={config.description} />\n <meta name=\"twitter:url\" content={config.siteUrl} />\n <meta\n name=\"twitter:image\"\n content={`${config.siteUrl}${props.data.header.childImageSharp.fluid.src}`}\n />\n {config.twitter && (\n <meta\n name=\"twitter:site\"\n content={`@${config.twitter.split('https://twitter.com/')[1]}`}\n />\n )}\n <meta property=\"og:image:width\" content={width} />\n <meta property=\"og:image:height\" content={height} />\n </Helmet>\n <Wrapper>\n <header\n css={[outer, SiteHeader]}\n style={{\n backgroundImage: `url('${props.data.header.childImageSharp.fluid.src}')`,\n }}\n >\n <div css={inner}>\n <SiteHeaderContent>\n <SiteTitle>\n {\n config.title\n }\n </SiteTitle>\n <SiteDescription>{config.description}</SiteDescription>\n </SiteHeaderContent>\n <SiteNav isHome />\n </div>\n </header>\n <main id=\"site-main\" css={[SiteMain, outer]}>\n <div css={inner}>\n <div css={[PostFeed, PostFeedRaise]}>\n {props.data.allMarkdownRemark.edges.map(post => {\n // filter out drafts in production\n return (\n (post.node.frontmatter.draft !== true ||\n process.env.NODE_ENV !== 'production') && (\n <PostCard key={post.node.fields.slug} post={post.node} />\n )\n );\n })}\n </div>\n </div>\n </main>\n {props.children}\n\n <Footer />\n </Wrapper>\n </IndexLayout>\n );\n};\n\nexport default IndexPage;\n\nexport const pageQuery = graphql`\n query {\n logo: file(relativePath: { eq: \"img/ghost-logo.png\" }) {\n childImageSharp {\n # Specify the image processing specifications right in the query.\n # Makes it trivial to update as your page's design changes.\n fixed {\n ...GatsbyImageSharpFixed\n }\n }\n }\n header: file(relativePath: { eq: \"img/blog-cover.jpg\" }) {\n childImageSharp {\n # Specify the image processing specifications right in the query.\n # Makes it trivial to update as your page's design changes.\n fluid(maxWidth: 2000) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n allMarkdownRemark(\n sort: { fields: [frontmatter___date], order: DESC },\n filter: { frontmatter: { layout: { ne: \"postnodate\" }, draft: { ne: true } } },\n limit: 1000,\n ) {\n edges {\n node {\n timeToRead\n frontmatter {\n title\n date\n tags\n draft\n image {\n childImageSharp {\n fluid(maxWidth: 3720) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n author {\n id\n bio\n avatar {\n children {\n ... on ImageSharp {\n fixed(quality: 90) {\n src\n }\n }\n }\n }\n }\n }\n excerpt\n fields {\n layout\n slug\n }\n }\n }\n }\n }\n`;\n","import { Link } from 'gatsby';\nimport Img from 'gatsby-image';\nimport * as _ from 'lodash';\nimport { lighten } from 'polished';\nimport * as React from 'react';\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/core';\n\nimport { colors } from '../styles/colors';\nimport { PageContext } from '../templates/post';\n\nconst PostCardStyles = css`\n flex: 1 1 300px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n margin: 0 20px 40px;\n min-height: 300px;\n background: #fff center center;\n background-size: cover;\n border-radius: 5px;\n box-shadow: rgba(39, 44, 49, 0.06) 8px 14px 38px, rgba(39, 44, 49, 0.03) 1px 3px 8px;\n transition: all 0.5s ease;\n\n :hover {\n box-shadow: rgba(39, 44, 49, 0.07) 8px 28px 50px, rgba(39, 44, 49, 0.04) 1px 6px 12px;\n transition: all 0.4s ease;\n transform: translate3D(0, -1px, 0) scale(1.02);\n }\n`;\n\nconst PostCardImageLink = css`\n position: relative;\n display: block;\n overflow: hidden;\n border-radius: 5px 5px 0 0;\n`;\n\nconst PostCardImage = styled.div`\n width: auto;\n height: 200px;\n background: ${colors.lightgrey} no-repeat center center;\n background-size: cover;\n`;\n\nconst PostCardContent = styled.div`\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n`;\n\nconst PostCardContentLink = css`\n position: relative;\n flex-grow: 1;\n display: block;\n padding: 25px 25px 0;\n color: ${colors.darkgrey};\n\n :hover {\n text-decoration: none;\n }\n`;\n\nconst PostCardTags = styled.span`\n display: block;\n margin-bottom: 4px;\n color: ${colors.midgrey};\n font-size: 1.2rem;\n line-height: 1.15em;\n font-weight: 500;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n`;\n\nconst PostCardTitle = styled.h2`\n margin-top: 0;\n`;\n\nconst PostCardExcerpt = styled.section`\n font-family: Georgia, serif;\n`;\n\nconst PostCardMeta = styled.footer`\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n padding: 0 25px 25px;\n`;\n\nconst AuthorList = styled.ul`\n display: flex;\n flex-wrap: wrap-reverse;\n margin: 0;\n padding: 0;\n list-style: none;\n`;\n\nconst AuthorListItem = styled.li`\n position: relative;\n flex-shrink: 0;\n margin: 0;\n padding: 0;\n\n :nth-of-type(1) {\n z-index: 10;\n }\n :nth-of-type(2) {\n z-index: 9;\n }\n :nth-of-type(3) {\n z-index: 8;\n }\n :nth-of-type(4) {\n z-index: 7;\n }\n :nth-of-type(5) {\n z-index: 6;\n }\n :nth-of-type(6) {\n z-index: 5;\n }\n :nth-of-type(7) {\n z-index: 4;\n }\n :nth-of-type(8) {\n z-index: 3;\n }\n :nth-of-type(9) {\n z-index: 2;\n }\n :nth-of-type(10) {\n z-index: 1;\n }\n :hover .author-name-tooltip {\n opacity: 1;\n transform: translateY(0px);\n }\n`;\n\nconst AuthorNameTooltip = styled.div`\n position: absolute;\n bottom: 105%;\n z-index: 999;\n display: block;\n padding: 2px 8px;\n color: white;\n font-size: 1.2rem;\n letter-spacing: 0.2px;\n white-space: nowrap;\n background: ${colors.darkgrey};\n border-radius: 3px;\n box-shadow: rgba(39, 44, 49, 0.08) 0 12px 26px, rgba(39, 44, 49, 0.03) 1px 3px 8px;\n opacity: 0;\n transition: all 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);\n transform: translateY(6px);\n pointer-events: none;\n\n @media (max-width: 650px) {\n display: none;\n }\n`;\n\nconst StaticAvatar = css`\n display: block;\n overflow: hidden;\n margin: 0 -5px;\n width: 34px;\n height: 34px;\n border: #fff 2px solid;\n border-radius: 100%;\n`;\n\nconst AuthorProfileImage = styled.img`\n display: block;\n width: 100%;\n height: 100%;\n /* background: color(var(--lightgrey) l(+10%)); */\n background: ${lighten('0.1', colors.lightgrey)};\n border-radius: 100%;\n object-fit: cover;\n`;\n\nconst ReadingTime = styled.span`\n flex-shrink: 0;\n margin-left: 20px;\n color: ${colors.midgrey};\n font-size: 1.2rem;\n line-height: 33px;\n font-weight: 500;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n`;\n\nexport interface PostCardProps {\n post: PageContext;\n}\n\nconst PostCard: React.FC<PostCardProps> = ({ post }) => {\n return (\n <article\n className={`post-card ${post.frontmatter.image ? '' : 'no-image'}`}\n css={PostCardStyles}\n >\n {post.frontmatter.image && (\n <Link className=\"post-card-image-link\" css={PostCardImageLink} to={post.fields.slug}>\n <PostCardImage className=\"post-card-image\">\n {post.frontmatter.image &&\n post.frontmatter.image.childImageSharp &&\n post.frontmatter.image.childImageSharp.fluid && (\n <Img\n alt={`${post.frontmatter.title} cover image`}\n style={{ height: '100%' }}\n fluid={post.frontmatter.image.childImageSharp.fluid}\n />\n )}\n </PostCardImage>\n </Link>\n )}\n <PostCardContent className=\"post-card-content\">\n <Link className=\"post-card-content-link\" css={PostCardContentLink} to={post.fields.slug}>\n <header className=\"post-card-header\">\n {post.frontmatter.tags && <PostCardTags>{post.frontmatter.tags[0]}</PostCardTags>}\n <PostCardTitle>{post.frontmatter.title}</PostCardTitle>\n </header>\n <PostCardExcerpt>\n <p>{post.excerpt}</p>\n </PostCardExcerpt>\n </Link>\n <PostCardMeta className=\"post-card-meta\">\n <AuthorList>\n <AuthorListItem>\n <AuthorNameTooltip className=\"author-name-tooltip\">\n {post.frontmatter.author.id}\n </AuthorNameTooltip>\n <Link css={StaticAvatar} to={`/author/${_.kebabCase(post.frontmatter.author.id)}/`}>\n <AuthorProfileImage\n src={post.frontmatter.author.avatar.children[0].fixed.src}\n alt={post.frontmatter.author.id}\n />\n </Link>\n </AuthorListItem>\n </AuthorList>\n <ReadingTime>{post.timeToRead} min read</ReadingTime>\n </PostCardMeta>\n </PostCardContent>\n </article>\n );\n};\n\nexport default PostCard;\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""}