UNPKG

1.29 kBJavaScriptView Raw
1'use strict';
2const pkg = require('./package.json');
3const path = require('path');
4const fractal = require('@frctl/fractal').create();
5
6const context = {
7 'package': {
8 name: pkg.name,
9 version: pkg.version,
10 },
11 uswds: {
12 path: '../../dist',
13 },
14};
15
16fractal.set('project.title', `U.S. Web Design System (v${pkg.version})`);
17
18const components = fractal.components;
19components.set('ext', '.njk');
20components.set('path', 'src/components');
21components.set('default.preview', '@uswds');
22components.set('default.context', context);
23
24// use Nunjucks as the templating engine
25components.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
35const docs = fractal.docs;
36docs.set('path', 'docs');
37
38const web = fractal.web;
39
40web.theme(require('@frctl/mandelbrot')({
41 lang: 'en-US',
42 skin: 'white',
43 // display context data in YAML
44 format: 'yaml',
45 // which panels to show
46 panels: [
47 'html',
48 'notes',
49 'view',
50 'context',
51 'resources',
52 'info',
53 ],
54}));
55
56web.set('static.path', 'dist');
57web.set('static.mount', 'dist');
58// output files to /build
59web.set('builder.dest', 'build');
60
61module.exports = fractal;