The core rules are the one managing global parsing or Markdown syntaxes requiring a global access to the document. For example, management of reference links or abbreviations. They are also the one triggering the execution of block and inline rules.
A core rule is a function expecting a single StateCore
argument. The code for
the StateCore prototype is in index.js
and its data consists
of:
src
: the complete string the parser is currently working ontokens
: the tokens generated by the previous core rules, up to nowenv
: a namespaced data key-value store to allow core rules to exchange datainlineMode
: a flag mentionning whether the parser is currently working as inline-mode only or standard mode
The rest are mostly components of the underlying remarkable instance.
Some core rules process directly the src
to produce a new set of tokens,
others process the existing list of tokens in order to produce a new one.
The most important predefined core rules are block
and inline
which are
reponsible for calling the subparsers for the block and
inline rules.
To better understand how the core rules work, please read the code in
parser_core.js
and the predefined rules in
rules_core/
.