« get me outta code hell

generateBanner.js « dependencies « content « src - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateBanner.js
blob: 835140a8cc1096d21e6346f7420a6ab241a271ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
export default {
  extraDependencies: ['html', 'to'],

  slots: {
    path: {
      validate: v => v.validateArrayItems(v.isString),
    },

    dimensions: {
      validate: v => v.isDimensions,
    },

    alt: {
      type: 'string',
    },
  },

  generate(slots, {html, to}) {
    return (
      html.tag('div', {id: 'banner'},
        html.tag('img', {
          src: to(...slots.path),
          alt: slots.alt,
          width: slots.dimensions?.[0] ?? 1100,
          height: slots.dimensions?.[1] ?? 200,
        })));
  },
};