MakieGallery.jl is the repo which hosts these docs, as well as the source code for the examples in the Example Gallery.
Docs are built using Documenter.jl, and are located in the
docs folder. The raw markdown files from which documentation is generated are located in
docs/src, but not all the pages are there; some, like
Plotting functions overview, are generated during the documentation build. Those markdown pages have a
MakieGallery contains the test suite for the Makie ecosystem; this can be accessed by running
The test suite can be configured by setting some environment variables:
MAKIEGALLERY_MINIMALto control whether only short tests or all examples are run. Defaults to
MAKIEGALLERY_RESUMEto resume recording from the last example. Defaults to
MAKIEGALLERY_FASTto control whether the time-consuming examples run or not. Defaults to
MAKIEGALLERY_REFIMG_DIRto control where reference images are taken from. Defaults to using the default version downloaded by MakieGallery, or downloading that if not present.
Examples live in the
examples directory, and are organized into several Julia files. Each file is structured into several
@blocks which contain
@cells. Each cell contains one example; the syntax is generally:
@cell "$title" [labels...] begin # example code here end
@block is a way to organize many cells which have a common theme or purpose. The syntax is generally:
@block FirstnameLastname [labels...] begin # cells here end
Blocks are a nice way to preserve authorship and group similar examples.
If you want to add a single example, it's probably best to find a file it fits well in and add a cell.
If you want to add multiple examples, you may want to create a block in the appropriate file.
Adding interactive examples will mean you need to create a serialized file which stores the input events. This can be done using MakieGallery. First, load the database of examples using
MakieGallery.load_database(). Next, call
MakieGallery.record_example(title::String) (where title is the string following
@cell in the example), wait for the scene to appear and interact with it. All interactions will be recorded while the scene is open and, after closing, saved to an appropriate file.