/** * CommonMark's block structure, line by line — just enough of it to say which * lines Markdown shows as code, or hides in a raw HTML block or a multi-line * comment. faf uses it to tell its own marker lines from marker examples. * * The algorithm is the reference implementation's (commonmark.js, spec 0.31): * each line first continues the open containers (block quotes, list items — * a list item's lines sit at its content column, a tab after the marker * advancing to the next multiple of 4), then may open new blocks, then is * added to the innermost open block or continues a paragraph lazily. Only * what decides block structure is kept: no inline parsing, no link reference * definitions, no tables. * * A reader made with `containers: false` reads every line at column 0 with no * block quotes and no list items — the plain reading a text editor, an older * faf or another tool may apply. faf takes a block as its own only when both * readings agree (see inject.ts). * * What a line counts as hidden in: * - fenced code (its opening and closing lines included) and indented code; * - an HTML block of types 1-5 —
/