import { Template } from '../mixins/template'; import { page } from '../helpers/layout'; const T = Template('d-byline', `
`, true); export function bylineTemplate(frontMatter) { return `
${frontMatter.authors.map( author => `
${author.personalURL ? `${author.name}` : `
${author.name}
` } ${author.affiliationURL ? `${author.affiliation}` : `
${author.affiliation}
` }
`).join('\n')}
${frontMatter.publishedMonth}. ${frontMatter.publishedDay}
${frontMatter.publishedYear}
${frontMatter.concatenatedAuthors}, ${frontMatter.publishedYear}
`; } export class Byline extends T(HTMLElement) { set frontMatter(frontMatter) { const container = this.root.querySelector('.byline'); container.innerHTML = bylineTemplate(frontMatter); } }