-
-
Notifications
You must be signed in to change notification settings - Fork 191
/
Copy pathindex.js
127 lines (114 loc) · 2.8 KB
/
index.js
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/* eslint-disable node/no-extraneous-require, node/no-missing-require */
'use strict';
const BroccoliMergeTrees = require('broccoli-merge-trees');
const StaticSiteJson = require('broccoli-static-site-json');
const showcaseTree = new StaticSiteJson(`data/showcase`, {
type: 'showcase',
contentFolder: `data/showcases`,
attributes: ['name', 'image', 'repository', 'demo', 'features'],
contentTypes: ['html'],
collate: true,
});
const usersTree = new StaticSiteJson(`data/user`, {
type: 'user',
contentFolder: `data/users`,
attributes: ['name', 'image', 'url', 'inactive', 'added', 'featured'],
contentTypes: ['content'],
collate: true,
});
const teamTree = new StaticSiteJson(`data/team-member`, {
type: 'team-member',
contentFolder: `data/team-members`,
attributes: [
'name',
'first',
'last',
'github',
'twitter',
'image',
'teams',
'added',
],
contentTypes: ['content'],
collate: true,
});
const meetupTree = new StaticSiteJson(`data/meetup`, {
type: 'meetup',
contentFolder: `data/meetups`,
attributes: ['location', 'url', 'lat', 'lng', 'organizers', 'area'],
contentTypes: ['content'],
collate: true,
});
const tomsterTree = new StaticSiteJson('data/tomster', {
type: 'tomster',
contentFolder: `data/tomsters`,
attributes: ['title', 'url', 'date', 'image', 'tags'],
contentTypes: ['content'],
collate: true,
});
const sponsorTree = new StaticSiteJson(`data/sponsor`, {
type: 'sponsor',
contentFolder: `data/sponsors`,
attributes: ['name', 'url', 'image', 'start', 'end', 'order'],
contentTypes: ['content'],
collate: true,
});
const initiativeTree = new StaticSiteJson(`data/initiative-sponsor`, {
type: 'initiativeSponsor',
contentFolder: `data/initiative-sponsors`,
attributes: ['name', 'url', 'image', 'tier', 'order'],
contentTypes: ['content'],
collate: true,
});
const featureTree = new StaticSiteJson(`data/feature`, {
type: 'feature',
contentFolder: `data/features`,
attributes: [
'name',
'summary',
'status',
'statusText',
'availability',
'resources',
'champions',
],
contentTypes: ['content'],
collate: true,
});
const projectTree = new StaticSiteJson(`data/project`, {
type: 'project',
contentFolder: `data/projects`,
attributes: [
'name',
'baseFileName',
'filter',
'repo',
'lastRelease',
'channel',
'date',
'changelogPath',
'debugFileName',
'ignoreFiles',
],
contentTypes: ['content'],
collate: true,
});
module.exports = {
name: 'content-docs-generator',
isDevelopingAddon() {
return true;
},
treeForPublic() {
return new BroccoliMergeTrees([
showcaseTree,
usersTree,
teamTree,
meetupTree,
tomsterTree,
sponsorTree,
featureTree,
projectTree,
initiativeTree,
]);
},
};