https://github.com/emojicode/emojicode.github.io
The Emojicode Documentation
https://github.com/emojicode/emojicode.github.io
Last synced: 4 months ago
JSON representation
The Emojicode Documentation
- Host: GitHub
- URL: https://github.com/emojicode/emojicode.github.io
- Owner: emojicode
- Created: 2015-12-29T16:17:32.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-10-16T02:43:50.000Z (over 2 years ago)
- Last Synced: 2024-04-14T07:11:47.811Z (about 2 years ago)
- Language: Mustache
- Homepage: http://www.emojicode.org
- Size: 7.08 MB
- Stars: 79
- Watchers: 5
- Forks: 42
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Emojicode Documentation
This is the official documentation for [Emojicode](http://emojicode.org).
## Building the documentation
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:
```sh
yarn
```
If you want to work on the documentation you can use
```sh
./serve
```
which starts a web server on port 8080 and automatically rebuilds the
documentation when changes are made.
## Source Structure
The important source files that live in the `src` directory are:
- The files in `references` and `guides` 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 a
`package.json` file. The `package.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`.
## Emojicode Documentation Syntax
In addition to GFM, Emojicode Documentation supports syntax for callouts and
grammar.
### Callouts
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.
```
### Grammar
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.