1MOTH Pupate
2===========
3
4This converts MOTH categories into MOTH puzzle directories,
5or SCTR trainings.
6
7
8Full documentation is in the [docs directory](docs/index.md).
9This is also served under the URL `/docs/` by pupate.
10
11
12Getting Started
13============
14
151. Run the `cocoon` command
162. Open http://localhost:8080 and navigate to the 1-point puzzle in
17 the `counting` category.
183. In your `Documents` folder is a new `categories` folder. Open
19 `categories/counting/1/puzzle.md` in a text editor like Visual
20 Studio Code, vim, or emacs.
214. Add some text to the bottom of the file and save it.
225. Check back in your web browser to see what it did.
23
24
25Commands
26=========
27
28cocoon
29------
30
31`cocoon` is a web-based debugging tool to monitor and render collections of categories.
32Run it with no options to get started.
33
34By default, it will watch your filesystem for changes to your files.
35If your filesystem does not support a notification mechanism (NFS, SMB),
36you will need to provide a `-poll` option.
37
38
39pupate
40-----
41
42`pupate` is an interactive tool to convert puzzle directories.
43
44
45moth2md
46-------
47
48`moth2md` converts legacy `.moth` files to modern `.md` files.
49
50Why?
51=====
52
53We (the Cyber Fire team)
54like writing puzzles in Markdown,
55and storing everything in version control.
56We also think it's handy to keep one puzzle's metadata tightly bundled with that puzzle.
57
58For architectural reasons, both MOTH and SCTR pull various fields,
59such as what are the "answers", out of the puzzle itself.
60Pupate allows creators to focus on logically bundling things together,
61and letting the compile step worry about how to bring that into production.
62
63
64About the name
65========
66
67Moths and butterflies go through four life stages: egg, larva (caterpillar), pupa (chrysalis or cocoon), and adult.
68Keeping with the moth theme,
69this program is used to transform puzzle source into a production puzzle.
70
71The icon for this project is "silk-cocoon_2849891", created by "Eucalyp" on flaticon.com.
72It was provided for free personal and commercial use with attribution.
73It's not included in the source code, though,
74so if you want it, you'll have to go download your own copy.
75
76
77------
78
79Information Release Number PNNL-SA-221926
80