import Head from 'next/head' import ReactPlayer from 'react-player/lazy' import { Paragraph } from './Link' import { NextSeo } from 'next-seo' import siteConfig from "../config/siteConfig" const components = { Head, p: Paragraph } export default function MdxPage({ children, editUrl }) { const { Component, frontmatter: { title, description, date, authors, youtube, podcast, image, _raw }} = children let youtubeThumnbnail let podcastEmbed if (youtube && !image) { // get the youtube thumbnail image from https://img.youtube.com/vi//maxresdefault.jpg const regex = /\www.youtube.com\/\embed\/|youtube.com\/\embed\/|youtu.be\/|\www.youtube.com\/\watch\?v=|\youtube.com\/\watch\?v=/; youtubeThumnbnail = youtube.replace(regex, "img.youtube.com/vi/") + "/maxresdefault.jpg"; } if (podcast && podcast.includes("life-itself")) { const podcastUrl = podcast podcastEmbed = ([ podcastUrl.slice(0, "https://anchor.fm/life-itself".length), "/embed", podcastUrl.slice("https://anchor.fm/life-itself".length) ].join("")) } const titleFromUrl = _raw.flattenedPath .split("/") .pop() .replace(/-/g, " ") // capitalize first char of each word .replace(/(^\w{1})|(\s{1}\w{1})/g, (str) => str.toUpperCase()); const SeoTitle = title ?? titleFromUrl; const imageUrl = image ? siteConfig.url + image : youtubeThumnbnail ? youtubeThumnbnail : null return ( <>
{title &&

{title}

} {authors && (

{authors}

)} {date && (

on {date}

)} {description && (

{description}

)} {youtube && (
)} {podcast && (
{podcastEmbed && (