1 | 'use strict';
|
2 | const pkg = require('./package.json');
|
3 | const path = require('path');
|
4 | const fractal = require('@frctl/fractal').create();
|
5 |
|
6 | const context = {
|
7 | 'package': {
|
8 | name: pkg.name,
|
9 | version: pkg.version,
|
10 | },
|
11 | uswds: {
|
12 | path: '../../dist',
|
13 | },
|
14 | };
|
15 |
|
16 | fractal.set('project.title', `U.S. Web Design System (v${pkg.version})`);
|
17 |
|
18 | const components = fractal.components;
|
19 | components.set('ext', '.njk');
|
20 | components.set('path', 'src/components');
|
21 | components.set('default.preview', '@uswds');
|
22 | components.set('default.context', context);
|
23 |
|
24 |
|
25 | components.engine(require('@frctl/nunjucks')({
|
26 | filters: {
|
27 | jsonify: d => JSON.stringify(d, null, ' '),
|
28 | dataurl: (d, type) => `data:${type},${encodeURIComponent(d)}`,
|
29 | },
|
30 | paths: [
|
31 | 'src/components',
|
32 | ]
|
33 | }));
|
34 |
|
35 | const docs = fractal.docs;
|
36 | docs.set('path', 'docs');
|
37 |
|
38 | const web = fractal.web;
|
39 |
|
40 | web.theme(require('@frctl/mandelbrot')({
|
41 | lang: 'en-US',
|
42 | skin: 'white',
|
43 |
|
44 | format: 'yaml',
|
45 |
|
46 | panels: [
|
47 | 'html',
|
48 | 'notes',
|
49 | 'view',
|
50 | 'context',
|
51 | 'resources',
|
52 | 'info',
|
53 | ],
|
54 | }));
|
55 |
|
56 | web.set('static.path', 'dist');
|
57 | web.set('static.mount', 'dist');
|
58 |
|
59 | web.set('builder.dest', 'build');
|
60 |
|
61 | module.exports = fractal;
|