-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent---src-pages-templates-post-tsx-f41bd2e7c5e393acf3b9.js.map
1 lines (1 loc) · 22.8 KB
/
component---src-pages-templates-post-tsx-f41bd2e7c5e393acf3b9.js.map
1
{"version":3,"file":"component---src-pages-templates-post-tsx-f41bd2e7c5e393acf3b9.js","mappings":"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","sources":["webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaFacebook.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaGoogle.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaPinterest.js","webpack://code-cave/./src/components/posts/postAuthorCard.tsx","webpack://code-cave/./src/components/posts/shareButtons.tsx","webpack://code-cave/./src/components/posts/postFooter.tsx","webpack://code-cave/./src/components/posts/postHashtags.tsx","webpack://code-cave/./node_modules/@giscus/react/dist/index.js","webpack://code-cave/./src/components/posts/comments.tsx","webpack://code-cave/./src/pagesTemplates/post.tsx","webpack://code-cave/./src/assets/posts/X.svg"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaFacebook = function FaFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaGoogle = function FaGoogle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 488 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaPinterest = function FaPinterest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z\"}}]})(props);\n};\n","import React from \"react\";\nimport { Link } from \"gatsby\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IPostAuthor } from \"../../types/post.type\";\n\nconst PostAuthorCard = ({\n authorAlias,\n author,\n authorPosition,\n authorPhoto,\n}: IPostAuthor) => {\n const avatar = getImage(authorPhoto);\n\n return (\n <Link\n to={`/blog/${authorAlias.split(\" \").join(\"-\").toLowerCase()}`}\n title={`${author}'s blog`}\n itemProp=\"author\"\n itemScope\n itemType=\"https://schema.org/Person\"\n className=\"flex items-center gap-4 mb-8 sm:mb-12 text-secondary-100 text-lg\"\n >\n {avatar ? (\n <GatsbyImage\n image={avatar}\n alt=\"avatar\"\n itemProp=\"image\"\n className=\"object-contain aspect-square rounded-full w-16 grayscale\"\n />\n ) : null}\n <div className=\"flex-1 w-max\">\n <p itemProp=\"name\" className=\"font-semibold whitespace-nowrap\">\n {author}\n </p>\n <p itemProp=\"jobTitle\" className=\"text-secondary-30\">\n {authorPosition}\n </p>\n </div>\n </Link>\n );\n};\n\nexport default PostAuthorCard;\n","import React from \"react\";\n\nimport X from \"../../assets/posts/X.svg\";\nimport { FaPinterest } from \"@react-icons/all-files/fa/FaPinterest\";\nimport { FaLinkedin } from \"@react-icons/all-files/fa/FaLinkedin\";\nimport { FaGoogle } from \"@react-icons/all-files/fa/FaGoogle\";\nimport { FaFacebook } from \"@react-icons/all-files/fa/FaFacebook\";\n\nconst ShareButtons = ({\n url,\n postTitle,\n shareTitle,\n}: {\n url: string;\n postTitle: string;\n shareTitle: string;\n}) => {\n return (\n <div className=\"sm:basis-52 sm:shrink-0\">\n <p className=\"text-lg font-bold mb-5\">{shareTitle}</p>\n\n <div className=\"flex w-full items-center justify-evenly sm:justify-between py-2.5\">\n <ShareButton\n media=\"Twitter\"\n url={`http://twitter.com/share?text=${postTitle}&url=${url}`}\n >\n <X />\n </ShareButton>\n <ShareButton\n media=\"Pinterest\"\n url={`http://pinterest.com/pin/create/button/?url=${url}&description=${postTitle}`}\n >\n <FaPinterest size=\"20px\" />\n </ShareButton>\n <ShareButton\n media=\"Linkedin\"\n url={`http://www.linkedin.com/shareArticle?mini=true&url=${url}&title=${postTitle}&source=CodeCave`}\n >\n <FaLinkedin size=\"20px\" />\n </ShareButton>\n <ShareButton\n media=\"Google+\"\n url={`https://plus.google.com/share?url=${url}`}\n >\n <FaGoogle size=\"20px\" />\n </ShareButton>\n <ShareButton\n media=\"Facebook\"\n url={`https://www.facebook.com/sharer/sharer.php?u=${url}&p[title]=${postTitle}`}\n >\n <FaFacebook size=\"20px\" />\n </ShareButton>\n </div>\n </div>\n );\n};\n\nexport const ShareButton = ({\n url,\n media,\n children,\n}: React.PropsWithChildren<{ url: string; media: string }>) => {\n return (\n <a\n href={url}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n title={`Share on ${media}`}\n className=\"hover:brightness-75\"\n >\n {children}\n </a>\n );\n};\n\nexport default ShareButtons;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\nimport { GatsbyImage, ImageDataLike, getImage } from \"gatsby-plugin-image\";\n\nconst PostFooter = ({ title, text }: { title: string; text: string }) => {\n const fileData = useStaticQuery(query) as { file: ImageDataLike | null };\n const image = getImage(fileData?.file);\n\n return (\n <div className=\"flex flex-col sm:flex-row items-center w-full sm:px-12 mb-8 gap-5 justify-center\">\n {image ? (\n <GatsbyImage\n image={image}\n alt=\"like\"\n className=\"object-contain aspect-square h-40\"\n />\n ) : null}\n <div className=\"flex-1\">\n <p className=\"text-lg font-bold mb-5\">{title}</p>\n <p className=\"text-base\">{text}</p>\n </div>\n </div>\n );\n};\n\nexport default PostFooter;\n\nexport const query = graphql`\n query {\n file(name: { eq: \"postFooterImage\" }) {\n childImageSharp {\n gatsbyImageData(\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n width: 160\n )\n }\n }\n }\n`;\n","import { Link } from \"gatsby\";\nimport React from \"react\";\n\nconst PostHashtags = ({\n keywords,\n readMoreTitle,\n}: {\n keywords: string[];\n readMoreTitle: string;\n}) => {\n return (\n <div className=\"w-full\">\n <p className=\"text-lg font-bold mb-5\">{readMoreTitle}</p>\n <div className=\"flex flex-wrap gap-2\">\n {keywords.map((hashtag) => (\n <Link\n key={hashtag}\n to={`/blog/${hashtag.split(\" \").join(\"-\").toLowerCase()}`}\n title={`blog about ${hashtag}`}\n className=\"text-sm text-secondary-10 border border-solid border-secondary-10 rounded-full px-5 py-2.5 hover:border-secondary-100 hover:text-secondary-100 hover:bg-main-70\"\n >\n #<span itemProp=\"keywords\">{hashtag}</span>\n </Link>\n ))}\n </div>\n </div>\n );\n};\n\nexport default PostHashtags;\n","import { jsx as b } from \"react/jsx-runtime\";\nimport { useState as j, useEffect as w } from \"react\";\nfunction G({ id: e, host: i, repo: r, repoId: o, category: u, categoryId: n, mapping: s, term: a, strict: f, reactionsEnabled: d, emitMetadata: m, inputPosition: c, theme: p, lang: l, loading: g }) {\n const [t, x] = j(!1);\n return w(() => {\n t || (import(\"./giscus-BNK3dBIH.js\"), x(!0));\n }, []), t ? b(\"giscus-widget\", { id: e, host: i, repo: r, repoid: o, category: u, categoryid: n, mapping: s, term: a, strict: f, reactionsenabled: d, emitmetadata: m, inputposition: c, theme: p, lang: l, loading: g }) : null;\n}\nexport {\n G as default\n};\n","import React, { useEffect, useState } from \"react\";\nimport Giscus from \"@giscus/react\";\n\nimport { ICommentsSetup, TLang } from \"../../types/common.type\";\n\nconst Comments = ({ setup, lang }: { setup: ICommentsSetup; lang: TLang }) => {\n const [_, updComponent] = useState<any>();\n\n useEffect(() => {\n if (typeof window == undefined) return;\n\n const handleMessage = (event: MessageEvent) => {\n if (event.origin !== \"https://giscus.app\") return;\n if (!(typeof event.data === \"object\" && event.data.giscus)) return;\n\n updComponent({});\n };\n\n window.addEventListener(\"message\", handleMessage);\n\n return () => window.removeEventListener(\"message\", handleMessage);\n }, []);\n\n return (\n <div className=\"w-full mb-8 grayscale brightness-[1.4]\">\n <Giscus\n id=\"comments\"\n repo={setup.repo}\n repoId={setup.repoId}\n category=\"Announcements\"\n categoryId={setup.categoryId}\n mapping=\"pathname\"\n reactionsEnabled=\"0\"\n emitMetadata=\"0\"\n inputPosition=\"top\"\n theme=\"transparent_dark\"\n lang={lang}\n loading=\"lazy\"\n />\n </div>\n );\n};\n\nexport default Comments;\n","import React from \"react\";\nimport { HeadFC, Link, PageProps, graphql } from \"gatsby\";\nimport { useLocation } from \"@reach/router\";\n\nimport { IPostPageContext, IPostQueryResult } from \"../types/post.type\";\n\nimport { HeadSeo, LocalBusinessMetadata } from \"../components/common/metadata\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport ShareButtons from \"../components/posts/shareButtons\";\nimport PostFooter from \"../components/posts/postFooter\";\nimport PostHashtags from \"../components/posts/postHashtags\";\nimport PostAuthorCard from \"../components/posts/postAuthorCard\";\nimport Comments from \"../components/posts/comments\";\nimport { getImage } from \"gatsby-plugin-image\";\n\nconst Post = ({\n data: {\n post: {\n frontmatter,\n html,\n wordCount: { words },\n },\n author: authorData,\n },\n pageContext: { markupData, lang, site },\n}: PageProps<IPostQueryResult, IPostPageContext>) => {\n const { href: currentUrl } = useLocation();\n\n const { date, title, keywords } = frontmatter;\n const { authorAlias, author, authorPosition, authorPhoto } =\n authorData.frontmatter;\n\n const minutes = Math.floor(words / 200);\n const readingTime = minutes ? minutes : 1;\n\n return (\n <>\n <div\n itemScope\n itemType=\"https://schema.org/Article\"\n className=\"flex bg-main-100\"\n >\n <ContentContainer\n maxWidthClass=\"max-w-2xl\"\n className=\"flex-col text-secondary-100 text-lg md:!px-0 pt-8 sm:pt-16\"\n >\n <PostAuthorCard\n authorAlias={authorAlias}\n author={author}\n authorPhoto={authorPhoto}\n authorPosition={authorPosition}\n />\n\n <div className=\"w-full flex items-center justify-between mb-2.5 sm:mb-5 text-sm sm:text-base\">\n <span itemProp=\"datePublished\">{date}</span>\n\n <span>\n {`${readingTime} ${markupData?.readingTimeUnits} ${markupData?.readingTimeTitle}`}\n </span>\n </div>\n\n <h1\n className=\"text-[24px] sm:text-4xl font-semibold mb-8\"\n itemProp=\"headline\"\n >\n {title}\n </h1>\n\n <article\n className=\"single-post\"\n dangerouslySetInnerHTML={{ __html: html }}\n itemProp=\"articleBody\"\n />\n\n <div className=\"flex flex-col sm:flex-row w-full gap-8 lg:gap-16 mb-8 md:mb-12\">\n {keywords ? (\n <PostHashtags\n keywords={keywords}\n readMoreTitle={markupData.readMoreOnTopicTitle}\n />\n ) : null}\n\n <ShareButtons\n url={currentUrl}\n postTitle={title}\n shareTitle={markupData.sharePostTitle}\n />\n </div>\n\n <PostFooter\n title={markupData.postFooterTitle}\n text={markupData.postFooterText}\n />\n\n <Comments setup={site.commentsSetup} lang={lang} />\n </ContentContainer>\n <LocalBusinessMetadata itemProp=\"copyrightHolder\" lang={lang} />\n </div>\n </>\n );\n};\n\nexport default Post;\n\nexport const Head: HeadFC<IPostQueryResult, IPostPageContext> = ({\n data: {\n post: {\n frontmatter: { title, text, cover },\n },\n },\n pageContext,\n location,\n}) => {\n var image = getImage(cover);\n return <HeadSeo\n title={`${pageContext.markupData.head} | ${title.toUpperCase()}`}\n siteUrl={pageContext.site.siteUrl}\n description={`${text.split(\" \").slice(0, 22).join(\" \")}...`}\n path={location.pathname}\n img={image?.images.fallback?.src}\n lang={pageContext.lang}\n />\n};\n\nexport const query = graphql`\n query ($id: String, $lang: String, $authorId: String) {\n post: markdownRemark(id: { eq: $id }) {\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: $lang)\n title\n text\n cover {\n childImageSharp {\n gatsbyImageData(\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n width: 600\n )\n }\n }\n keywords\n }\n html\n wordCount {\n words\n }\n }\n author: markdownRemark(id: { eq: $authorId }) {\n frontmatter {\n authorAlias\n author\n authorPosition\n authorPhoto {\n childImageSharp {\n gatsbyImageData(\n width: 64\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction X (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"g\",{\"clipPath\":\"url(#clip0_1390_2975)\",\"key\":0},React.createElement(\"path\",{\"d\":\"M15.7511 0H18.8178L12.1179 8.47193L20 20H13.8282L8.99457 13.0081L3.46363 20H0.394883L7.56109 10.9385L0 0H6.32809L10.6975 6.39068L15.7511 0ZM14.6747 17.9691H16.3741L5.40481 1.92425H3.58137L14.6747 17.9691Z\",\"fill\":\"#E4E4E4\"})),React.createElement(\"defs\",{\"key\":1},React.createElement(\"clipPath\",{\"id\":\"clip0_1390_2975\"},React.createElement(\"rect\",{\"width\":\"20\",\"height\":\"20\",\"fill\":\"white\"})))]);\n}\n\nX.defaultProps = {\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"fill\":\"none\"};\n\nmodule.exports = X;\n\nX.default = X;\n"],"names":["GenIcon","module","exports","props","_ref","authorAlias","author","authorPosition","authorPhoto","avatar","getImage","___EmotionJSX","Link","to","split","join","toLowerCase","title","itemProp","itemScope","itemType","className","GatsbyImage","image","alt","ShareButton","_ref2","url","media","children","href","rel","target","postTitle","shareTitle","X","FaPinterest","size","FaLinkedin","FaGoogle","FaFacebook","text","fileData","useStaticQuery","query","file","keywords","readMoreTitle","map","hashtag","key","G","id","e","host","i","repo","r","repoId","o","category","u","categoryId","n","mapping","s","term","a","strict","f","reactionsEnabled","d","emitMetadata","m","inputPosition","c","theme","p","lang","l","loading","g","t","x","repoid","categoryid","reactionsenabled","emitmetadata","inputposition","setup","_","updComponent","useState","useEffect","undefined","window","handleMessage","event","origin","data","giscus","addEventListener","removeEventListener","Giscus","post","frontmatter","html","wordCount","words","authorData","pageContext","markupData","site","currentUrl","useLocation","date","minutes","Math","floor","readingTime","React","ContentContainer","maxWidthClass","PostAuthorCard","readingTimeUnits","readingTimeTitle","dangerouslySetInnerHTML","__html","PostHashtags","readMoreOnTopicTitle","ShareButtons","sharePostTitle","PostFooter","postFooterTitle","postFooterText","Comments","commentsSetup","LocalBusinessMetadata","Head","_image$images$fallbac","cover","location","HeadSeo","head","toUpperCase","siteUrl","description","slice","path","pathname","img","images","fallback","src","createElement","defaultProps","default"],"sourceRoot":""}