This is the official documentation for Emojicode.
The documentation is built from Markdown and JSON source files by a compiler written in JavaScript. A Node.js installation is required to run it.
You can install its dependencies with npm:
npm install
To compile the documentation run:
node lib/index.js
If you want to work on the documentation you can use
node lib/index.js --serve
which starts a web server on port 8080 and automatically rebuilds the
documentation when changes are made. You can also use --watch
to rebuild
automatically without running a web server.
The important source files that live in the src
directory are:
-
The files in
references
andguides
which are compiled to books. Each file represents one chapter and each book has achapters.json
listing these chapters. -
packages
contains resource to compile the package pages and APIs.Each package has its own directory containing a
meta.json
and apackage.json
file. Thepackage.json
file represents the package API can be generated by the Emojicode compiler using the-r
option.All packages that shall be included in the documentation are listed in
packages/packages.json
.
In addition to GFM, Emojicode Documentation supports syntax for callouts and grammar.
To create a Hint callout begin all lines with >!H
. Likewise, Caution
notices are indicated by >!N
.
Example:
>!H This chapter only introduces the three most important classes although there are many more.
>!H
>!H You can browse the whole API of the s package here.
A grammar rule is define like this:
$defined-rule$-> $rule$
All rule names must always be enclosed in $
signs, while the rule being
defined is closed with $->
instead of just a $
.
The documentation compiler parses all rules, adds hyperlinks and warns of undefined or unreachable rules.