import Head from 'next/head' import { App } from 'src/components/App' import { tail } from 'lodash' import { Page } from 'src/components/Page' import { Markdown } from 'src/components/Markdown' import { Meta } from 'src/components/Meta' import { MetaBuilder } from 'src/lib/meta' import { createApiUrl, requestGet, IResponseItems } from 'src/next-lib' import { NextPage } from 'next' import { IBreadcumbsPart, IMeta, IPage, ITag, FileTokenData, Token } from 'src/types' import { joinTokens } from 'src/lib/tokens' import { size, ext } from 'src/lib/file' import { Html } from 'src/components/Html' function array(value: T | T[]) { return Array.isArray(value) ? value : [value] } const Youtube: React.SFC<{ url: string }> = props => { const url = new URL(props.url) const videoId = url.searchParams.get('v') if (!videoId) { return null } const src = `//www.youtube.com/embed/${videoId}` return (