« get me outta code hell

generateWikiHomepageSection.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/generateWikiHomepageSection.js
blob: 15299dd4455b2e01098b3f1915b7526ffad17ff4 (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
29
30
31
32
33
export default {
  contentDependencies: [
    'generateColorStyleAttribute',
    'generateWikiHomepageAlbumsRow',
  ],

  extraDependencies: ['html'],

  relations: (relation, homepageSection) => ({
    colorStyle:
      relation('generateColorStyleAttribute', homepageSection.color),

    rows:
      homepageSection.rows.map(row =>
        (row.type === 'albums'
          ? relation('generateWikiHomepageAlbumsRow', row)
          : null)),
  }),

  data: (homepageSection) => ({
    name:
      homepageSection.name,
  }),

  generate: (data, relations, {html}) =>
    html.tag('section',
      relations.colorStyle,

      [
        html.tag('h2', data.name),
        relations.rows,
      ]),
};