Blame view

node_modules/markdown-it/lib/parser_core.js 1.16 KB
290144e9   易尊强   第一次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  /** internal
   * class Core
   *
   * Top-level rules executor. Glues block/inline parsers and does intermediate
   * transformations.
   **/
  'use strict';
  
  
  var Ruler  = require('./ruler');
  
  
  var _rules = [
    [ 'normalize',      require('./rules_core/normalize')      ],
    [ 'block',          require('./rules_core/block')          ],
    [ 'inline',         require('./rules_core/inline')         ],
    [ 'linkify',        require('./rules_core/linkify')        ],
    [ 'replacements',   require('./rules_core/replacements')   ],
    [ 'smartquotes',    require('./rules_core/smartquotes')    ]
  ];
  
  
  /**
   * new Core()
   **/
  function Core() {
    /**
     * Core#ruler -> Ruler
     *
     * [[Ruler]] instance. Keep configuration of core rules.
     **/
    this.ruler = new Ruler();
  
    for (var 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) {
    var i, l, rules;
  
    rules = this.ruler.getRules('');
  
    for (i = 0, l = rules.length; i < l; i++) {
      rules[i](state);
    }
  };
  
  Core.prototype.State = require('./rules_core/state_core');
  
  
  module.exports = Core;