45 lines
2.5 KiB
JavaScript
45 lines
2.5 KiB
JavaScript
|
/**
|
|||
|
* This module is compiled away!
|
|||
|
*
|
|||
|
* Parsing markdown comes with a couple of constants, such as minimum or maximum
|
|||
|
* sizes of certain sequences.
|
|||
|
* Additionally, there are a couple symbols used inside micromark.
|
|||
|
* These are all defined here, but compiled away by scripts.
|
|||
|
*/
|
|||
|
export const constants = /** @type {const} */ ({
|
|||
|
attentionSideBefore: 1, // Symbol to mark an attention sequence as before content: `*a`
|
|||
|
attentionSideAfter: 2, // Symbol to mark an attention sequence as after content: `a*`
|
|||
|
atxHeadingOpeningFenceSizeMax: 6, // 6 number signs is fine, 7 isn’t.
|
|||
|
autolinkDomainSizeMax: 63, // 63 characters is fine, 64 is too many.
|
|||
|
autolinkSchemeSizeMax: 32, // 32 characters is fine, 33 is too many.
|
|||
|
cdataOpeningString: 'CDATA[', // And preceded by `<![`.
|
|||
|
characterGroupWhitespace: 1, // Symbol used to indicate a character is whitespace
|
|||
|
characterGroupPunctuation: 2, // Symbol used to indicate a character is punctuation
|
|||
|
characterReferenceDecimalSizeMax: 7, // `�`.
|
|||
|
characterReferenceHexadecimalSizeMax: 6, // `�`.
|
|||
|
characterReferenceNamedSizeMax: 31, // `∳`.
|
|||
|
codeFencedSequenceSizeMin: 3, // At least 3 ticks or tildes are needed.
|
|||
|
contentTypeDocument: 'document',
|
|||
|
contentTypeFlow: 'flow',
|
|||
|
contentTypeContent: 'content',
|
|||
|
contentTypeString: 'string',
|
|||
|
contentTypeText: 'text',
|
|||
|
hardBreakPrefixSizeMin: 2, // At least 2 trailing spaces are needed.
|
|||
|
htmlRaw: 1, // Symbol for `<script>`
|
|||
|
htmlComment: 2, // Symbol for `<!---->`
|
|||
|
htmlInstruction: 3, // Symbol for `<?php?>`
|
|||
|
htmlDeclaration: 4, // Symbol for `<!doctype>`
|
|||
|
htmlCdata: 5, // Symbol for `<![CDATA[]]>`
|
|||
|
htmlBasic: 6, // Symbol for `<div`
|
|||
|
htmlComplete: 7, // Symbol for `<x>`
|
|||
|
htmlRawSizeMax: 8, // Length of `textarea`.
|
|||
|
linkResourceDestinationBalanceMax: 32, // See: <https://spec.commonmark.org/0.30/#link-destination>, <https://github.com/remarkjs/react-markdown/issues/658#issuecomment-984345577>
|
|||
|
linkReferenceSizeMax: 999, // See: <https://spec.commonmark.org/0.30/#link-label>
|
|||
|
listItemValueSizeMax: 10, // See: <https://spec.commonmark.org/0.30/#ordered-list-marker>
|
|||
|
numericBaseDecimal: 10,
|
|||
|
numericBaseHexadecimal: 0x10,
|
|||
|
tabSize: 4, // Tabs have a hard-coded size of 4, per CommonMark.
|
|||
|
thematicBreakMarkerCountMin: 3, // At least 3 asterisks, dashes, or underscores are needed.
|
|||
|
v8MaxSafeChunkSize: 10000 // V8 (and potentially others) have problems injecting giant arrays into other arrays, hence we operate in chunks.
|
|||
|
})
|