summaryrefslogtreecommitdiff
path: root/node_modules/markdown-it/lib/parser_core.mjs
diff options
context:
space:
mode:
authorShipwreckt <me@shipwreckt.co.uk>2025-10-31 20:02:14 +0000
committerShipwreckt <me@shipwreckt.co.uk>2025-10-31 20:02:14 +0000
commit7a52ddeba2a68388b544f529d2d92104420f77b0 (patch)
tree15ddd47457a2cb4a96060747437d36474e4f6b4e /node_modules/markdown-it/lib/parser_core.mjs
parent53d6ae2b5568437afa5e4995580a3fb679b7b91b (diff)
Changed from static to 11ty!
Diffstat (limited to 'node_modules/markdown-it/lib/parser_core.mjs')
-rw-r--r--node_modules/markdown-it/lib/parser_core.mjs62
1 files changed, 62 insertions, 0 deletions
diff --git a/node_modules/markdown-it/lib/parser_core.mjs b/node_modules/markdown-it/lib/parser_core.mjs
new file mode 100644
index 0000000..df61d67
--- /dev/null
+++ b/node_modules/markdown-it/lib/parser_core.mjs
@@ -0,0 +1,62 @@
+/** internal
+ * class Core
+ *
+ * Top-level rules executor. Glues block/inline parsers and does intermediate
+ * transformations.
+ **/
+
+import Ruler from './ruler.mjs'
+import StateCore from './rules_core/state_core.mjs'
+
+import r_normalize from './rules_core/normalize.mjs'
+import r_block from './rules_core/block.mjs'
+import r_inline from './rules_core/inline.mjs'
+import r_linkify from './rules_core/linkify.mjs'
+import r_replacements from './rules_core/replacements.mjs'
+import r_smartquotes from './rules_core/smartquotes.mjs'
+import r_text_join from './rules_core/text_join.mjs'
+
+const _rules = [
+ ['normalize', r_normalize],
+ ['block', r_block],
+ ['inline', r_inline],
+ ['linkify', r_linkify],
+ ['replacements', r_replacements],
+ ['smartquotes', r_smartquotes],
+ // `text_join` finds `text_special` tokens (for escape sequences)
+ // and joins them with the rest of the text
+ ['text_join', r_text_join]
+]
+
+/**
+ * new Core()
+ **/
+function Core () {
+ /**
+ * Core#ruler -> Ruler
+ *
+ * [[Ruler]] instance. Keep configuration of core rules.
+ **/
+ this.ruler = new Ruler()
+
+ for (let i = 0; i < _rules.length; i++) {
+ this.ruler.push(_rules[i][0], _rules[i][1])
+ }
+}
+
+/**
+ * Core.process(state)
+ *
+ * Executes core chain rules.
+ **/
+Core.prototype.process = function (state) {
+ const rules = this.ruler.getRules('')
+
+ for (let i = 0, l = rules.length; i < l; i++) {
+ rules[i](state)
+ }
+}
+
+Core.prototype.State = StateCore
+
+export default Core