micromark-factory-title

micromark factory to parse markdown titles (found in resources, definitions)

Usage no npm install needed!

<script type="module">
  import micromarkFactoryTitle from 'https://cdn.skypack.dev/micromark-factory-title';
</script>

README

micromark-factory-title

Build Coverage Downloads Size Sponsors Backers Chat

micromark factory to parse markdown titles (found in resources, definitions).

Contents

Install

npm:

npm install micromark-factory-title

Use

import {factoryTitle} from 'micromark-factory-title'
import {codes} from 'micromark-util-symbol/codes'
import {types} from 'micromark-util-symbol/types'

// A micromark tokenizer that uses the factory:
/** @type {Tokenizer} */
function tokenizeDefinition(effects, ok, nok) {
  return start

  // …

  /** @type {State} */
  function before(code) {
    if (
      code === codes.quotationMark ||
      code === codes.apostrophe ||
      code === codes.leftParenthesis
    ) {
      return factoryTitle(
        effects,
        factorySpace(effects, after, types.whitespace),
        nok,
        types.definitionTitle,
        types.definitionTitleMarker,
        types.definitionTitleString
      )(code)
    }

    return nok(code)
  }

  // …
}

API

This module exports the following identifiers: factoryTitle. There is no default export.

factoryTitle(…)

Parameters
  • effects (Effects) — Context
  • ok (State) — State switched to when successful
  • nok (State) — State switched to when not successful
  • type (string) — Token type for whole ("a", 'b', (c))
  • markerType (string) — Token type for the markers (", ', (, and ))
  • stringType (string) — Token type for the value (a)
Returns

State.

Examples
"a"
'b'
(c)
"a
b"
'a
    b'
(a\)b)

Security

See security.md in micromark/.github for how to submit a security report.

Contribute

See contributing.md in micromark/.github for ways to get started. See support.md for ways to get help.

This project has a code of conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.

License

MIT © Titus Wormer