Skip to content

janet-lang/janet-lang.org

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3c81fce · Mar 19, 2025
Sep 5, 2020
Mar 6, 2025
Feb 6, 2025
Mar 19, 2025
Mar 19, 2025
Jun 16, 2024
Dec 3, 2024
Apr 29, 2019
Oct 14, 2022
Jan 19, 2025
Sep 7, 2020
Dec 13, 2020

Repository files navigation

janet-lang.org

Zulip

This is the source code for the website of the Janet programming language. It is a static website built with mendoza, a static site generator.

Prereqs

Build this website using the bundled janet amalgamated source.

git clone https://github.com/janet-lang/janet-lang.org
cd janet-lang.org
make
make run

Building

To build, simply use make or make build.

Watch for changes

This requires first installing inotify-tools, which can be installed easily on most Linux distros. To watch for changes, use make watch.

Serve on localhost:8000

make run

Authoring Content

All pages in the content directory with .mdz extension will be parsed by mendoza and converted to an html file of the same name but with the .html extension. The markup language is similar to Scribble, the Racket documentation tool, but of course is written in and is a dialect of Janet. See mendoza for more information.

Adding Examples

Simply add a file with the name of the binding you are giving examples for to the examples directory, with the .janet suffix.

To cope with some of Janet's symbols having names with characters that are not-so-friendly to certain filesystem and/or operating system combinations, an escaping scheme is used.

For a given symbol, use the content/api/examples.janet script to generate an appropriate filename. For example, for array/new, invoking:

$ janet content/api/examples.janet array/new

should give the output:

array_47new.janet

If such a file already exists, you can simply append your example code to the existing file.

When building the site, the new examples will be included in the generated documentation. Make sure that your example has correct janet syntax, as syntax errors will cause the entire site to not build. If the example has valid syntax (has a 0 exit code when loaded with janet -k example/my-fn.janet), there may be a bug in the mendoza janet syntax highlighter in which case please open a bug in mendoza.