Method: MarkdownIt::Ruler#before

Defined in:
lib/motion-markdown-it/ruler.rb

#before(beforeName, ruleName, fn, opt = {}) ⇒ Object

  • Ruler.before(beforeName, ruleName, fn [, options])

    • beforeName (String): new rule will be added before this one.

    • ruleName (String): name of added rule.

    • fn (Function): rule function.

    • options (Object): rule options (not mandatory).

*

  • Add new rule to chain before one with given name. See also

  • [[Ruler.after]], [[Ruler.push]].

*

  • ##### Options:

*

    • __alt__ - array with names of “alternate” chains.

*

  • ##### Example

*

  • “‘javascript

  • var md = require(‘markdown-it’)();

*

  • md.block.ruler.before(‘paragraph’, ‘my_rule’, function replace(state)

  • //…

  • );

  • “‘


Raises:

  • (StandardError)


141
142
143
144
145
146
147
148
149
150
151
152
153
154
# File 'lib/motion-markdown-it/ruler.rb', line 141

def before(beforeName, ruleName, fn, opt = {})
  index = __find__(beforeName)

  raise(StandardError, "Parser rule not found: #{beforeName}") if index == -1

  @__rules__.insert(index, {
    name: ruleName,
    enabled: true,
    fn: fn,
    alt: (opt[:alt] || [''])
  })

  @__cache__ = nil
end