Help me help @John help Craft

I’ve been trying to understand how to give @John the help he’s asked for in improving Craft documentation.

Here’s a simple example: it appears that the voxel system has two built-in block types named “Empty” and “Solid”.

How would I go about using the tools John provided ( to add a mention of this to the Craft documentation?

@UberGoober It turns out @Simeon made a documentation repository a while ago, which we should use instead of the one I made:

I’ll update the readme to be a little more informative. The best way to help is to raise issues or make pull requests. You can write a new section, or article in Markdown inside the issue and this can be integrated into documentation.

Direct changes will require you to write some YAML (i.e. Craft.yaml) which would be inserted into the existing documentation source files, there is an overview type which can be used for generic sections:

# Noise Overview
- id: noiseOverview
  category: overview
  description: >
    The noise library contains a series of noise modules that can be used to generate a large variety of procedural content.
    Use `getValue(x,y,z)` to generate a scalar noise value. Some modules take a number of inputs (set with `setSource(input)`).
    Noise modules fall into the following catagories:
    `Generators` - These modules generate values directly and require no inputs
    `Transformers` - These modules transform their inputs in some way to create a new effect
    Refer to each individual module's documentation to see how they work.
  group: Noise
  name: Noise

I’ve merged some changes in from this and will publish them as a Codea update. Happy to review and add more documentation if anyone raises issues on the repo and points me to what needs documenting

@John @Simeon - tried to convert these Yaml files to HTML using the script file you provided and python3. I’m not too handy with terminal on the mac so each time I have run the script it’s gone through all the files but come back with a directory/file error. Could someone describe, blow for blow, what I need to to get this conversion please.


  1. Create a folder in the root of the Codea-Documentation folder called “Web”
  2. Then you will need to ensure you have python 3 installed (python3) this ships with macOS now so if you are using macOS then you have it
  3. Install markdown by typing python3 -m pip install markdown
  4. Install pyyaml by typing python3 -m pip install pyyaml
  5. Run ./

@Bri_G I’ve uploaded the updated reference here if you need it

@Simeon - thanks for the link and the breakdown. Ran into problems as the installation required presence of Xcode. Now have Monterey on new drive so I told it to install Xcode libraries and it started - quoting 48 hr installation. Needless to say I stopped it. Working on another solution now.