forked from lwz7512/kanjian
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent---src-templates-blog-post-js-22d49c07e199e72f84c5.js.map
1 lines (1 loc) · 19.1 KB
/
component---src-templates-blog-post-js-22d49c07e199e72f84c5.js.map
1
{"version":3,"sources":["webpack:///./src/templates/blog-post.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./src/utils/typography.js","webpack:///./.cache/public-page-renderer.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./src/components/Layout.js","webpack:///./src/components/seo.js","webpack:///./src/components/Bio.js"],"names":["BlogPostTemplate","render","post","this","props","data","markdownRemark","siteTitle","site","siteMetadata","title","_this$props$pageConte","pageContext","previous","next","react__WEBPACK_IMPORTED_MODULE_2___default","a","createElement","_components_Layout__WEBPACK_IMPORTED_MODULE_5__","location","_components_seo__WEBPACK_IMPORTED_MODULE_6__","frontmatter","description","excerpt","style","Object","assign","scale","display","marginBottom","rhythm","marginTop","date","video","video_react__WEBPACK_IMPORTED_MODULE_9__","poster","cover","src","dangerouslySetInnerHTML","__html","html","_components_Bio__WEBPACK_IMPORTED_MODULE_4__","flexWrap","justifyContent","listStyle","padding","gatsby__WEBPACK_IMPORTED_MODULE_3__","to","fields","slug","rel","React","Component","pageQuery","__webpack_require__","r","__webpack_exports__","d","graphql","StaticQueryContext","StaticQuery","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","prop_types__WEBPACK_IMPORTED_MODULE_1__","prop_types__WEBPACK_IMPORTED_MODULE_1___default","gatsby_link__WEBPACK_IMPORTED_MODULE_2__","gatsby_link__WEBPACK_IMPORTED_MODULE_2___default","_public_page_renderer__WEBPACK_IMPORTED_MODULE_3__","_public_page_renderer__WEBPACK_IMPORTED_MODULE_3___default","_parse_path__WEBPACK_IMPORTED_MODULE_4__","createContext","Consumer","staticQueryData","query","children","Error","propTypes","PropTypes","object","string","isRequired","func","typography__WEBPACK_IMPORTED_MODULE_0__","typography__WEBPACK_IMPORTED_MODULE_0___default","typography_theme_wordpress_2016__WEBPACK_IMPORTED_MODULE_1__","typography_theme_wordpress_2016__WEBPACK_IMPORTED_MODULE_1___default","Wordpress2016","overrideThemeStyles","a.gatsby-resp-image-link","boxShadow","googleFonts","typography","Typography","m","module","exports","require","default","ProdPageRenderer","_ref","pageResources","loader","getResourcesForPathnameSync","pathname","InternalPageRenderer","json","shape","Layout","header","_this$props","__PATH_PREFIX__","textDecoration","color","fontFamily","marginLeft","marginRight","maxWidth","textAlign","Date","getFullYear","href","SEO","lang","meta","keywords","react__WEBPACK_IMPORTED_MODULE_1___default","gatsby__WEBPACK_IMPORTED_MODULE_4__","detailsQuery","metaDescription","react_helmet__WEBPACK_IMPORTED_MODULE_3___default","htmlAttributes","titleTemplate","name","content","property","author","concat","length","join","_public_static_d_1025518380_json__WEBPACK_IMPORTED_MODULE_0__","defaultProps","array","arrayOf","bioQuery","Bio","_data$site$siteMetada","social","gatsby_image__WEBPACK_IMPORTED_MODULE_4___default","fixed","avatar","childImageSharp","alt","minWidth","borderRadius","twitter","_public_static_d_2959523346_json__WEBPACK_IMPORTED_MODULE_1__"],"mappings":"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","file":"component---src-templates-blog-post-js-22d49c07e199e72f84c5.js","sourcesContent":["import React from 'react'\nimport { Link, graphql } from 'gatsby'\n\nimport Bio from '../components/Bio'\nimport Layout from '../components/Layout'\nimport SEO from '../components/seo'\nimport { rhythm, scale } from '../utils/typography'\n\nimport \"video-react/dist/video-react.css\"; // import css\nimport { Player } from 'video-react';\n\n\nclass BlogPostTemplate extends React.Component {\n render() {\n const post = this.props.data.markdownRemark\n const siteTitle = this.props.data.site.siteMetadata.title\n const { previous, next } = this.props.pageContext\n\n return (\n <Layout location={this.props.location} title={siteTitle}>\n <SEO title={post.frontmatter.title} description={post.excerpt} />\n <h1>{post.frontmatter.title}</h1>\n <p\n style={{\n ...scale(-1 / 5),\n display: `block`,\n marginBottom: rhythm(1),\n marginTop: rhythm(-1),\n }}\n >\n {post.frontmatter.date}\n </p>\n \n {/** @2019/01/06 */}\n {post.frontmatter.video && \n <Player\n poster={post.frontmatter.cover}\n src={post.frontmatter.video}\n />\n }\n <p></p>\n <div dangerouslySetInnerHTML={{ __html: post.html }} />\n <hr\n style={{\n marginBottom: rhythm(1),\n }}\n />\n <Bio />\n\n <ul\n style={{\n display: `flex`,\n flexWrap: `wrap`,\n justifyContent: `space-between`,\n listStyle: `none`,\n padding: 0,\n }}\n >\n <li>\n {previous && (\n <Link to={previous.fields.slug} rel=\"prev\">\n ← {previous.frontmatter.title}\n </Link>\n )}\n </li>\n <li>\n {next && (\n <Link to={next.fields.slug} rel=\"next\">\n {next.frontmatter.title} →\n </Link>\n )}\n </li>\n </ul>\n </Layout>\n )\n }\n}\n\nexport default BlogPostTemplate\n\nexport const pageQuery = graphql`\n query BlogPostBySlug($slug: String!) {\n site {\n siteMetadata {\n title\n author\n }\n }\n markdownRemark(fields: { slug: { eq: $slug } }) {\n id\n excerpt(pruneLength: 160)\n html\n frontmatter {\n title\n date(formatString: \"MMMM DD, YYYY\")\n cover\n video\n }\n }\n }\n`\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n} from \"gatsby-link\"\nimport PageRenderer from \"./public-page-renderer\"\nimport parsePath from \"./parse-path\"\n\nconst StaticQueryContext = React.createContext({})\n\nconst StaticQuery = props => (\n <StaticQueryContext.Consumer>\n {staticQueryData => {\n if (\n props.data ||\n (staticQueryData[props.query] && staticQueryData[props.query].data)\n ) {\n return (props.render || props.children)(\n props.data ? props.data.data : staticQueryData[props.query].data\n )\n } else {\n return <div>Loading (StaticQuery)</div>\n }\n }}\n </StaticQueryContext.Consumer>\n)\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away,. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n.` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n}\n","import Typography from 'typography'\nimport Wordpress2016 from 'typography-theme-wordpress-2016'\n\nWordpress2016.overrideThemeStyles = () => {\n return {\n 'a.gatsby-resp-image-link': {\n boxShadow: `none`,\n },\n }\n}\n\ndelete Wordpress2016.googleFonts\n\nconst typography = new Typography(Wordpress2016)\n\n// Hot reload typography in development.\nif (process.env.NODE_ENV !== `production`) {\n typography.injectStyles()\n}\n\nexport default typography\nexport const rhythm = typography.rhythm\nexport const scale = typography.scale\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport InternalPageRenderer from \"./page-renderer\"\nimport loader from \"./loader\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.getResourcesForPathnameSync(location.pathname)\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","import React from 'react'\nimport { Link } from 'gatsby'\n\nimport { rhythm, scale } from '../utils/typography'\n\nclass Layout extends React.Component {\n render() {\n const { location, title, children } = this.props\n const rootPath = `${__PATH_PREFIX__}/`\n let header\n\n if (location.pathname === rootPath) {\n header = (\n <h1\n style={{\n ...scale(1.5),\n marginBottom: rhythm(1.5),\n marginTop: 0,\n }}\n >\n <Link\n style={{\n boxShadow: `none`,\n textDecoration: `none`,\n color: `inherit`,\n }}\n to={`/`}\n >\n {title}\n </Link>\n </h1>\n )\n } else {\n header = (\n <h3\n style={{\n fontFamily: `Montserrat, sans-serif`,\n marginTop: 0,\n }}\n >\n <Link\n style={{\n boxShadow: `none`,\n textDecoration: `none`,\n color: `inherit`,\n }}\n to={`/`}\n >\n {title}\n </Link>\n </h3>\n )\n }\n return (\n <div\n style={{\n marginLeft: `auto`,\n marginRight: `auto`,\n maxWidth: rhythm(24),\n padding: `${rhythm(1.5)} ${rhythm(3 / 4)}`,\n }}\n >\n {header}\n {children}\n <footer style={{textAlign: 'center'}}>\n © {new Date().getFullYear()}, Built with\n {` `}\n <a href=\"https://www.gatsbyjs.org\">Gatsby</a>\n </footer>\n </div>\n )\n }\n}\n\nexport default Layout\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Helmet from 'react-helmet'\nimport { StaticQuery, graphql } from 'gatsby'\n\nfunction SEO({ description, lang, meta, keywords, title }) {\n return (\n <StaticQuery\n query={detailsQuery}\n render={data => {\n const metaDescription =\n description || data.site.siteMetadata.description\n return (\n <Helmet\n htmlAttributes={{\n lang,\n }}\n title={title}\n titleTemplate={`%s | ${data.site.siteMetadata.title}`}\n meta={[\n {\n name: `description`,\n content: metaDescription,\n },\n {\n property: `og:title`,\n content: title,\n },\n {\n property: `og:description`,\n content: metaDescription,\n },\n {\n property: `og:type`,\n content: `website`,\n },\n {\n name: `twitter:card`,\n content: `summary`,\n },\n {\n name: `twitter:creator`,\n content: data.site.siteMetadata.author,\n },\n {\n name: `twitter:title`,\n content: title,\n },\n {\n name: `twitter:description`,\n content: metaDescription,\n },\n ]\n .concat(\n keywords.length > 0\n ? {\n name: `keywords`,\n content: keywords.join(`, `),\n }\n : []\n )\n .concat(meta)}\n />\n )\n }}\n />\n )\n}\n\nSEO.defaultProps = {\n lang: `en`,\n meta: [],\n keywords: [],\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.array,\n keywords: PropTypes.arrayOf(PropTypes.string),\n title: PropTypes.string.isRequired,\n}\n\nexport default SEO\n\nconst detailsQuery = graphql`\n query DefaultSEOQuery {\n site {\n siteMetadata {\n title\n description\n author\n }\n }\n }\n`\n","import React from 'react'\nimport { StaticQuery, graphql } from 'gatsby'\nimport Image from 'gatsby-image'\n\nimport { rhythm } from '../utils/typography'\n\nfunction Bio() {\n return (\n <StaticQuery\n query={bioQuery}\n render={data => {\n const { author, social } = data.site.siteMetadata\n return (\n <div\n style={{\n display: `flex`,\n marginBottom: rhythm(2.5),\n }}\n >\n <Image\n fixed={data.avatar.childImageSharp.fixed}\n alt={author}\n style={{\n marginRight: rhythm(1 / 2),\n marginBottom: 0,\n minWidth: 50,\n borderRadius: `100%`,\n }}\n />\n <p>\n Written by <strong>{author}</strong> who lives and works abroad.\n {` `}<br/>\n <a href={`https://twitter.com/${social.twitter}`}>\n Follow him on Twitter\n </a>\n </p>\n </div>\n )\n }}\n />\n )\n}\n\nconst bioQuery = graphql`\n query BioQuery {\n avatar: file(absolutePath: { regex: \"/me_160.jpg/\" }) {\n childImageSharp {\n fixed(width: 50, height: 50) {\n ...GatsbyImageSharpFixed\n }\n }\n }\n site {\n siteMetadata {\n author\n social {\n twitter\n }\n }\n }\n }\n`\n\nexport default Bio\n"],"sourceRoot":""}