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
It can then be executed:
node lib/index.js
The compiler supports the --watch
option to watch keep running and to
automatically rebuild when it detects changes to the source files.
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 a
chapters.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
or-R packageName
option.All packages that shall be included in the documentation are listed in
packages/packages.json
.
All files and directories execept lib
, src
, CNAME
, package.json
,
package-lock.json
, README.md
and those beginning with a full stop are not to
be edited as they are output from the compiler.
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.