-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent---src-pages-search-jsx-9d9da80db50b9b7a8108.js.map
1 lines (1 loc) · 26.3 KB
/
component---src-pages-search-jsx-9d9da80db50b9b7a8108.js.map
1
{"version":3,"sources":["webpack:///./src/theme/containers/SearchFormContainer.js","webpack:///./src/theme/containers/SearchResultContainer.js","webpack:///./src/pages/search.jsx","webpack:///./src/utils/changeColor.js","webpack:///./src/theme/variables.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./src/utils/media.js","webpack:///./.cache/public-page-renderer.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./src/theme/reset.js","webpack:///./src/theme/typography.js","webpack:///./src/theme/prism.js","webpack:///./src/theme/background.js","webpack:///./src/theme/global.js","webpack:///./src/theme/containers/BodyContainer.js","webpack:///./src/components/Line.js","webpack:///./src/theme/containers/NavContainer.js","webpack:///./src/components/Nav.jsx","webpack:///./src/theme/containers/FooterContainer.js","webpack:///./src/components/Footer.jsx","webpack:///./src/components/Layout.jsx"],"names":["styled","form","withConfig","displayName","componentId","Colors","h","border","code","div","handleEnter","event","keyCode","preventDefault","Search","_ref2","data","_useState","useState","term","setTerm","inputRef","useRef","pages","allMarkdownRemark","edges","useEffect","current","focus","react_default","a","createElement","Layout","SearchFormContainer","type","placeholder","onChange","e","target","value","onKeyDown","ref","filter","_ref","node","frontmatter","tags","every","tag","toLowerCase","includes","title","excerpt","filterFunc","slice","map","_ref3","SearchResultContainer","key","id","gatsby_browser_entry","to","fields","slug","defaultProps","propTypes","PropTypes","shape","array","isRequired","searchpageQuery","changeColor","color","num","lastIndexOf","parseFloat","__webpack_require__","d","__webpack_exports__","Fonts","p","background","linkHover","link","subNav","basic","r","graphql","StaticQueryContext","StaticQuery","useStaticQuery","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__","React","createContext","props","Consumer","staticQueryData","query","render","children","useContext","context","Error","object","string","func","sizes","monitor","desktop","tablet","phone","tiny","none","Object","keys","reduce","acc","label","css","apply","arguments","m","module","exports","require","default","ProdPageRenderer","location","pageResources","loader","getResourcesForPathnameSync","pathname","InternalPageRenderer","assign","json","theme_reset","typography","prism","createGlobalStyle","_templateObject","resets","media","BodyContainer_templateObject","Wrapper","Line","Component","activeClassName","PATHS","Li","locationSlug","length","split","Nav","NavContainer","path","Nav_Li","footer","FooterContainer_templateObject","Footer","FooterContainer","entries","site","siteMetadata","name","rel","href","_4011262072","Fragment","global","Line_Line","BodyContainer"],"mappings":"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","file":"component---src-pages-search-jsx-9d9da80db50b9b7a8108.js","sourcesContent":["import styled from 'styled-components';\nimport { Colors } from 'theme/variables';\n\nexport default styled.form`\n display: flex;\n color: ${Colors.h};\n align-items: left;\n justify-content: left;\n flex-direction: column;\n margin-top: 3em;\n\n input {\n font-size: 3em;\n display: block;\n width: 100%;\n border: none;\n border-bottom: 3px solid ${Colors.border};\n\n ::-webkit-input-placeholder {\n /* WebKit, Blink, Edge */\n ${Colors.code};\n opacity: 0.3;\n }\n :-moz-placeholder {\n /* Mozilla Firefox 4 to 18 */\n ${Colors.code};\n opacity: 0.3;\n }\n ::-moz-placeholder {\n /* Mozilla Firefox 19+ */\n ${Colors.code};\n opacity: 0.3;\n }\n :-ms-input-placeholder {\n /* Internet Explorer 10-11 */\n ${Colors.code};\n opacity: 0.3;\n }\n ::-ms-input-placeholder {\n /* Microsoft Edge */\n ${Colors.code};\n opacity: 0.3;\n }\n ::placeholder {\n /* Most modern browsers support this now. */\n ${Colors.code};\n opacity: 0.3;\n }\n }\n`;\n","import styled from 'styled-components';\nimport { Colors } from 'theme/variables';\n\nexport default styled.div`\n text-align: left;\n padding-top: 0;\n margin-top: 0;\n padding-bottom: 0.8em;\n position: relative;\n\n h2 {\n margin-bottom: 1em;\n margin-top: 1em;\n width: 100%;\n a {\n color: ${Colors.h};\n text-decoration: none;\n :hover {\n text-decoration: underline;\n }\n }\n }\n\n p {\n max-width: 650px;\n margin-left: 0;\n }\n`;\n","import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link, graphql } from 'gatsby';\nimport SearchFormContainer from 'theme/containers/SearchFormContainer';\nimport SearchResultContainer from 'theme/containers/SearchResultContainer';\nimport Layout from 'components/Layout';\n\n// currying term with page node\nconst filterFunc = term => ({ node }) =>\n (node.frontmatter.tags &&\n node.frontmatter.tags.every(tag =>\n tag.toLowerCase().includes(term.toLowerCase())\n )) ||\n node.frontmatter.title.toLowerCase().includes(term.toLowerCase()) ||\n node.excerpt.toLowerCase().includes(term.toLowerCase()) ||\n !term;\n\nconst handleEnter = event => {\n if (event.keyCode === 13) {\n event.preventDefault();\n }\n};\n\nconst Search = ({ data }) => {\n const [term, setTerm] = useState('');\n const inputRef = useRef();\n const pages = data.allMarkdownRemark.edges;\n\n useEffect(() => {\n inputRef.current.focus();\n });\n return (\n <Layout>\n <SearchFormContainer>\n <input\n type=\"text\"\n placeholder=\"search here\"\n onChange={e => setTerm(e.target.value)}\n onKeyDown={handleEnter}\n ref={inputRef}\n />\n </SearchFormContainer>\n <div>\n {pages\n .filter(filterFunc(term))\n .slice(0, 10)\n .map(({ node }) => (\n <SearchResultContainer key={node.id}>\n <h2>\n <Link to={node.fields.slug}>{node.frontmatter.title}</Link>\n </h2>\n <p>{node.excerpt}</p>\n </SearchResultContainer>\n ))}\n </div>\n </Layout>\n );\n};\n\nSearch.defaultProps = {\n data: {\n allMarkdownRemark: {\n edges: [],\n },\n },\n};\n\nSearch.propTypes = {\n data: PropTypes.shape({\n allMarkdownRemark: PropTypes.shape({\n edges: PropTypes.array.isRequired,\n }),\n }),\n};\n\nexport default Search;\n\n// eslint-disable-next-line\nexport const searchpageQuery = graphql`\n query {\n allMarkdownRemark(\n limit: 1000\n sort: { fields: [frontmatter___date], order: DESC }\n filter: { frontmatter: { draft: { ne: true } } }\n ) {\n edges {\n node {\n id\n excerpt\n timeToRead\n internal {\n content\n }\n headings {\n value\n }\n excerpt\n fields {\n slug\n }\n frontmatter {\n title\n tags\n date\n }\n }\n }\n }\n }\n`;\n","export default (color, num) =>\n `${color.slice(0, color.lastIndexOf(','))}, ${parseFloat(\n color.slice(color.lastIndexOf(',') + 1, color.lastIndexOf(')'))\n ) * num})`;\n","import changeColor from 'utils/changeColor';\n\nconst h = 'hsla(0, 0%, 0%, 1)';\nconst background = 'hsla(0, 0%, 100%, 1)';\nconst linkHover = 'hsla(192, 100%, 50%, 1)';\n\nexport const Colors = {\n h,\n p: changeColor(h, 0.8),\n border: changeColor(h, 0.15),\n code: changeColor(h, 0.1),\n background,\n linkHover,\n link: changeColor(h, 0.35),\n subNav: changeColor(h, 0.2),\n};\n\nexport const Fonts = {\n basic:\n '-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, sans-serif, Georgia, serif, sans-serif',\n code: \"'Source Code Pro', monospace\",\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\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n if (context[query] && context[query].data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\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 useStaticQuery,\n}\n","import { css } from 'styled-components';\n\nconst sizes = {\n monitor: 1600,\n desktop: 992,\n tablet: 700,\n phone: 425,\n tiny: 340,\n none: 320,\n};\n\n// Iterate through the sizes and create a media template\nexport default Object.keys(sizes).reduce((acc, label) => {\n acc[label] = (...args) => css`\n @media (max-width: ${sizes[label]}px) {\n ${css(...args)};\n }\n `;\n return acc;\n}, {});\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 { Colors, Fonts } from 'theme/variables';\n\nexport default `\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n\n html {\n font-family: ${Fonts.basic};\n font-size: 100%;\n text-size-adjust: none;\n text-rendering: optimizelegibility;\n image-rendering: optimizequality;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n body {\n transition: all .2s ease;\n }\n\n nav,\n header,\n footer,\n section {\n display: block;\n }\n\n del {\n text-decoration: line-through;\n }\n\n button,\n input,\n select[multiple],\n textarea {\n background-image: none;\n }\n\n img {\n border: 0;\n }\n\n button {\n appearance: none;\n cursor: pointer;\n background: none;\n border: none;\n outline: none;\n margin-top: .5em;\n }\n\n header {\n clear: both;\n }\n\n a {\n text-decoration: none;\n color: ${Colors.h};\n }\n\n .gatsby-resp-image-link,\n img {\n width: 100%;\n }\n\n .gatsby-resp-image-wrapper {\n z-index: 10;\n margin: 0!important;\n }\n\n input {\n background: ${Colors.background};\n font-size: 3em;\n display: block;\n width: 50%;\n border: none;\n border-bottom: 2px solid ${Colors.background}\n }\n\n input:focus,\n select:focus,\n textarea:focus,\n button:focus {\n outline: none;\n background: ${Colors.background};\n font-size: 3em;\n display: block;\n width: 50%;\n border: none;\n border-bottom: 2px solid ${Colors.background}\n }\n\n hr {\n border: none;\n display: block;\n margin: 2em 0 1em;\n font-size: .9rem;\n :before {\n display: block;\n content: '';\n width: 3px;\n height: 3px;\n margin: 2em 2em 2em;\n border-radius: 50%;\n background: black;\n box-shadow: calc(3px*8) 0 0 0 black, calc(3px*-8) 0 0 0 black;\n }\n }\n`;\n","import { Colors } from './variables';\n\nexport default `\n html,\n body {\n font-size: 17px;\n @media screen and (max-width: 700px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1600px) {\n font-size: 19px;\n }\n }\n\n h1,\n h2,\n h3,\n h4 {\n color: ${Colors.h};\n line-height: 1.25;\n font-weight: 600;\n text-rendering: optimizeLegibility;\n margin-top: 2.8em;\n margin-bottom: 1.2em;\n @media screen and (max-width: 700px) {\n // text-align: center;\n }\n }\n\n h4 {\n margin-top: 2.2em;\n font-size: .966em;\n }\n\n h5 {\n font-size: 1em;\n }\n\n h6 {\n font-size: 0.72em;\n }\n\n p,\n .message {\n color: ${Colors.p};\n margin: 0 auto 1.2em;\n line-height: 1.5;\n letter-spacing: normal;\n }\n\n .gatsby-resp-image-link,\n img,\n video,\n iframe,\n figure {\n display: block;\n margin: 1.1em 0;\n }\n\n table {\n margin-top: 2.8em;\n color: ${Colors.h};\n margin-bottom: 2.2em;\n max-width: 100%;\n }\n\n th, td {\n text-align: left;\n padding-bottom: 1em;\n padding-right: 1em;\n }\n\n`;\n","import { Colors } from 'theme/variables';\n\nexport default `\n /*\n @author Song Wang\n */\n\n .token.comment,\n .token.block-comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n // color: #7D8B99;\n }\n\n .token.punctuation {\n // color: #5F6364;\n }\n\n .token.property,\n .token.tag,\n .token.boolean,\n .token.number,\n .token.function-name,\n .token.constant,\n .token.symbol,\n .token.deleted {\n // color: #c92c2c;\n }\n\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.function,\n .token.builtin,\n .token.inserted {\n // color: #2f9c0a;\n }\n\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n // color: ${Colors.h};\n }\n\n .token.atrule,\n .token.attr-value,\n .token.keyword,\n .token.class-name {\n color: ${Colors.p};\n font-weight: 600;\n }\n\n .token.regex,\n .token.important {\n // color: #e90;\n }\n\n .language-css .token.string,\n .style .token.string {\n // color: #a67f59;\n }\n\n .token.important {\n font-weight: normal;\n }\n\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n\n .namespace {\n opacity: .7;\n }\n\n /* Plugin styles */\n .token.tab:not(:empty):before,\n .token.cr:before,\n .token.lf:before {\n // color: #e0d7d1;\n }\n\n /* Plugin styles: Line Numbers */\n pre[class*=\"language-\"].line-numbers {\n padding-left: 0;\n }\n\n pre[class*=\"language-\"].line-numbers code {\n padding-left: 3.8em;\n }\n\n pre[class*=\"language-\"].line-numbers .line-numbers-rows {\n left: 0;\n }\n\n /* Plugin styles: Line Highlight */\n pre[class*=\"language-\"][data-line] {\n padding-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n }\n pre[data-line] code {\n position: relative;\n padding-left: 4em;\n }\n pre .line-highlight {\n margin-top: 0;\n }\n`;\n","import { Colors } from 'theme/variables';\n\nexport default `\n position: fixed;\n width: 100%;\n height: 100%;\n z-index: -1000;\n background-color: ${Colors.background};\n`;\n","import { createGlobalStyle } from 'styled-components';\nimport resets from 'theme/reset';\nimport typography from 'theme/typography';\nimport prism from 'theme/prism';\nimport background from 'theme/background';\n\nexport default createGlobalStyle`\n ${resets}\n ${typography}\n ${prism}\n ${background}\n`;\n","import styled from 'styled-components';\nimport media from 'utils/media';\n\nexport default styled.div`\n width: 650px;\n height: 100%;\n margin: 0 auto;\n ${media.tablet`\n width: 88%;\n `} @media screen and (min-width: 1600px) {\n width: 900px;\n }\n`;\n","import React, { Component } from 'react';\nimport styled from 'styled-components';\n\nconst Wrapper = styled.div`\n background: #289eda;\n height: 2px;\n`;\n\nexport default class Line extends Component {\n render() {\n return <Wrapper />;\n }\n}\n","import styled from 'styled-components';\nimport { Colors } from 'theme/variables';\n\nexport default styled.div`\n display: block;\n font-size: 0.8em;\n font-weight: 600;\n letter-spacing: 0.25em;\n text-transform: uppercase;\n ul {\n overflow: auto;\n li:first-child {\n float: left;\n padding-left: 0em;\n }\n li:nth-child(2) {\n padding-right: 0em;\n }\n li {\n float: right;\n display: block;\n vertical-align: middle;\n line-height: 1;\n list-style: none;\n padding: 0.7em;\n margin: 0em;\n\n a {\n text-transform: uppercase;\n color: ${Colors.h};\n text-decoration: none;\n display: block;\n // line-height: 1.9;\n transition: opacity 0.5s ease-in;\n :hover,\n :active,\n :focus {\n filter: invert(40%);\n }\n\n &.${props => props.activeClassName} {\n }\n &.home {\n }\n }\n }\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'gatsby';\nimport NavContainer from 'theme/containers/NavContainer';\n\nconst PATHS = ['/', '/search/', '/about/', '/blog/'];\nconst getLinkName = locationSlug => {\n if (locationSlug.length === 1) {\n return 'Devall';\n }\n\n return locationSlug.split('/')[1];\n};\n\nconst Li = ({ location }) => (\n <li>\n <Link to={location}>{getLinkName(location)}</Link>\n </li>\n);\n\nLi.defaultProps = {\n location: '',\n};\n\nLi.propTypes = {\n location: PropTypes.string,\n};\n\nexport default () => (\n <NavContainer>\n <ul>\n {PATHS.map(path => (\n <Li key={path} location={path} />\n ))}\n </ul>\n </NavContainer>\n);\n","import styled from 'styled-components';\nimport media from 'utils/media';\n\nexport default styled.footer`\n font-size: .9em;\n margin-top: 4em;\n ul {\n overflow: auto;\n margin-bottom: 2em;\n float: right;\n ${media.tablet`\n width: 100%;\n text-align: center;\n `} li {\n display: inline-block;\n padding: 1em;\n a {\n position: relative;\n\n li::after {\n content: ' \\\\ ';\n }\n }\n }\n`;\n","import React from 'react';\nimport { StaticQuery, graphql } from 'gatsby';\nimport FooterContainer from 'theme/containers/FooterContainer';\n\nconst footerQuery = graphql`\n query {\n site {\n siteMetadata {\n github\n linkedin\n }\n }\n }\n`;\n\nexport default () => (\n <StaticQuery\n query={footerQuery}\n render={data => (\n <FooterContainer>\n <ul>\n {Object.entries(data.site.siteMetadata).map(([name, link]) => (\n <li key={name}>\n <a rel=\"noopener noreferrer\" target=\"__blank\" href={link}>\n {name}\n </a>\n </li>\n ))}\n </ul>\n </FooterContainer>\n )}\n />\n);\n","import React from 'react';\nimport 'typeface-source-code-pro';\nimport GlobalStyle from 'theme/global';\nimport BodyContainer from 'theme/containers/BodyContainer';\nimport Line from 'components/Line';\nimport Nav from 'components/Nav';\nimport Footer from 'components/Footer';\n\nexport default ({ children }) => (\n <>\n <GlobalStyle />\n <Line />\n <BodyContainer>\n <Nav />\n {children}\n <Footer />\n </BodyContainer>\n </>\n);\n"],"sourceRoot":""}