{"version":3,"file":"component---src-pages-publications-publications-js-bfe40b2b20b25b5a7046.js","mappings":"kLA0CA,UAlCqB,SAAC,GAAqC,IAAnCA,EAAkC,EAAlCA,KAAYC,EAAsB,EAA5BC,KACtBC,GADkD,EAAZC,OACvBC,EAAAA,EAAAA,IAAgBJ,IACrC,OACE,gBAAC,IAAD,CACEK,SAAUH,EACVD,KAAMD,EACNM,KAAM,CAAEC,WAAY,iBAEpB,4BACE,uBAAKC,UAAU,UACZT,EAAKU,oBACHV,EAAKU,kBAAkBC,OAAS,IAAIC,KAAI,SAACC,GACxC,MAAsCA,EAAQC,KAAKC,YAA3CC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,KAAMf,EAArB,EAAqBA,KAAMgB,EAA3B,EAA2BA,OAC3B,OACE,uBAAKT,UAAU,oCACb,gBAAC,EAAAU,KAAD,CAAMC,GAAIlB,GACR,uBAAKO,UAAU,YAAYQ,GAAQ,UACnC,uBAAKR,UAAU,aAAaO,GAAS,WACrC,uBAAKP,UAAU,WAAWS,GAAU,sB,+HCrBxD,IAiCMG,EAAY,SAACnB,EAAMoB,GACvB,IAAIJ,EAMJ,OALAI,EAAYX,MAAMY,SAAQ,SAACC,GACrBA,EAASV,KAAKC,YAAYb,OAASA,IACrCgB,EAASM,EAASV,KAAKC,YAAYG,WAGjC,GAAIA,GAGCO,EAAiB,SAACC,EAAKC,EAAMC,GACxC,QADuD,IAAfA,IAAAA,EAAO,KAC3CF,EAAK,CACP,GAEI,MADDA,IAAMA,EAAIC,IAASD,EAAI,UAAYA,EAAIG,OAAa,IAAIC,KAAKF,IAErD,OAATD,GACAD,EAAIK,GAEJ,OAAOL,EAAIK,GAAGD,KAAKF,GACd,GAEH,MADDF,IAAMA,EAAIC,IAASD,EAAI,UAAYA,EAAIG,OAAa,IAAIC,KAAKF,IAErD,OAATD,GACAD,EAAIM,GAEJ,OAAON,EAAIM,GAAGF,KAAKF,GAGvB,OAAQF,IAAMA,EAAIC,IAASD,EAAI,UAAYA,EAAIG,OAAa,IAAIC,KAAKF,IAG1DvB,EAAkB,SAAC4B,GAE9B,IAAKA,EAAU,MAAO,KACtB,IAAMC,EAAoBD,EAASE,MAAM,KAAK,GAC9C,MAA6B,OAAtBD,EAA6BA,EAAoB,MAkD1D,KAtH+B,SAACE,EAAMC,EAAaf,GACjD,OAAOc,EAAKE,QACV,sGACA,SAACC,EAAOC,EAAIC,EAAIC,EAAIC,EAAIC,GAMtB,OAJEF,GACAL,GACAA,EAAYQ,YACZR,EAAYQ,WAAWC,eAAeJ,EAAGK,OAAO,IAE1C,aAAcN,EAAKC,EAAzB,8FAE6BL,EAAYQ,WAAWH,EAAGK,OAAO,IAF9D,sGAKgCJ,EALhC,kDAMiCC,EANjC,4EAWS,gBAAPD,EACI,aAAcF,EAAKC,EAAzB,yGAG6BE,EAH7B,4CAI2BvB,EAAU,IAAIoB,EAAKC,EAAMpB,GAJpD,8BADF,MAmGC,IAAM0B,EACX,0FACWC,EACX","sources":["webpack://delft-static-site/./src/pages/Publications/Publications.js","webpack://delft-static-site/./src/utils.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { graphql } from 'gatsby';\nimport Layout from '../../components/Layout/layout';\nimport { Link } from 'gatsby';\n\nimport { getPageLanguage } from '../../utils';\n\nconst Publications = ({ data, path: pagePath, annos }) => {\n const pageLanguage = getPageLanguage(pagePath);\n return (\n \n
\n
\n {data.allMarkdownRemark &&\n (data.allMarkdownRemark.edges || []).map((article) => {\n const { title, date, path, author } = article.node.frontmatter;\n return (\n
\n \n
{date || '[Date]'}
\n
{title || '[Title]'}
\n
{author || '[Author]'}
\n \n
\n );\n })}\n
\n
\n \n );\n};\n\nPublications.propTypes = {\n data: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n};\n\nexport default Publications;\n\nexport const pageQuery = graphql`\n query ($path: String!) {\n allMarkdownRemark(\n filter: { frontmatter: { path: { regex: $path } } }\n sort: { fields: [frontmatter___date], order: DESC }\n ) {\n edges {\n node {\n id\n frontmatter {\n title\n path\n date\n author\n }\n }\n }\n }\n allSitePage {\n edges {\n node {\n id\n path\n }\n }\n }\n }\n`;\n","/**\n * The function replaces collection and exhibition links to display cover images\n * @param {String} html - html string to post process\n * @returns {String} the post processed html\n */\nconst substituteSpecialLinks = (html, pageContext, allMDRemark) => {\n return html.replace(\n /(

)([^<]+)<\\/a><\\/p>/g,\n (match, p1, p2, p3, p4, p5) => {\n const hasThumbnail =\n p3 &&\n pageContext &&\n pageContext.thumbnails &&\n pageContext.thumbnails.hasOwnProperty(p3.substr(1));\n if (hasThumbnail) {\n return `\n

\n \n
\n
\n
${p4}
\n
${p5}
\n
\n
\n
`;\n }\n if (p4 === 'publication') {\n return `\n
ARTICLE\n
\n
${p5}
\n
${getAuthor(`/${p2}${p3}`, allMDRemark)}
\n
`;\n }\n }\n );\n};\n\nconst getAuthor = (path, allMDRemark) => {\n let author;\n allMDRemark.edges.forEach((markdown) => {\n if (markdown.node.frontmatter.path === path) {\n author = markdown.node.frontmatter.author;\n }\n });\n return `${author}`;\n};\n\nexport const getTranslation = (obj, lang, glue = ' ') => {\n if (obj) {\n if (\n (obj ? obj[lang] || obj['@none'] || obj.none || [] : []).join(glue) ===\n '' &&\n lang === 'en' &&\n obj.nl\n ) {\n return obj.nl.join(glue);\n } else if (\n (obj ? obj[lang] || obj['@none'] || obj.none || [] : []).join(glue) ===\n '' &&\n lang === 'nl' &&\n obj.en\n ) {\n return obj.en.join(glue);\n }\n }\n return (obj ? obj[lang] || obj['@none'] || obj.none || [] : []).join(glue);\n};\n\nexport const getPageLanguage = (pathname) => {\n // ...\n if (!pathname) return 'nl';\n const languageCandidate = pathname.split('/')[1];\n return languageCandidate === 'nl' ? languageCandidate : 'en';\n};\n\nexport const thumbnailGetSize = (thumbnail, pWidth, pHeight) => {\n const thumb = thumbnail.__jsonld;\n if (!thumb.hasOwnProperty('service') || !(pWidth || pHeight)) {\n return thumb.id || thumb['@id'];\n }\n const service = Array.isArray(thumb.service)\n ? thumb.service[0]\n : thumb.service;\n if (!service) {\n return thumb.id || thumb['@id'];\n }\n if (\n service.hasOwnProperty('sizes') &&\n Array.isArray(service.sizes) &&\n service.sizes.length > 0\n ) {\n let closestSizeIndex = -1;\n let minDistanceX;\n let minDistanceY;\n service.sizes.forEach((size, index) => {\n if (pWidth) {\n const xDistance = Math.abs(size.width - pWidth);\n if (minDistanceX >= xDistance) {\n closestSizeIndex = index;\n minDistanceX = xDistance;\n }\n }\n if (pHeight) {\n const yDistance = Math.abs(size.height - pHeight);\n if (minDistanceY >= yDistance) {\n closestSizeIndex = index;\n minDistanceY = yDistance;\n }\n }\n });\n const thumbUrlParts = (thumb.id || thumb['@id']).split('/');\n if (closestSizeIndex !== -1) {\n const size = service.sizes[closestSizeIndex];\n thumbUrlParts[thumbUrlParts.length - 3] = [size.width, size.height].join(\n ','\n );\n }\n return thumbUrlParts.join('/') + '/';\n }\n return thumb.id || thumb['@id'];\n};\n\nexport default substituteSpecialLinks;\n\nexport const GITHUB_RAW_JSON_BASE =\n 'https://raw.githubusercontent.com/digirati-co-uk/delft-static-site-generator/master/src';\nexport const GITHUB_BASE =\n 'https://github.com/digirati-co-uk/delft-static-site-generator/blob/master/';\n"],"names":["data","pagePath","path","pageLanguage","annos","getPageLanguage","language","meta","desciption","className","allMarkdownRemark","edges","map","article","node","frontmatter","title","date","author","Link","to","getAuthor","allMDRemark","forEach","markdown","getTranslation","obj","lang","glue","none","join","nl","en","pathname","languageCandidate","split","html","pageContext","replace","match","p1","p2","p3","p4","p5","thumbnails","hasOwnProperty","substr","GITHUB_RAW_JSON_BASE","GITHUB_BASE"],"sourceRoot":""}