mdFactory property

  1. @override
TMdFactory<TWriteable> get mdFactory
override

Returns a function that builds a Markdown string from a JSON map.

Subclasses should override this getter to supply their Markdown builder, or set it externally, if applicable.

Implementation

@override
TMdFactory<TWriteable> get mdFactory => TMdFactory<TPromptable>(
  writeable: this,
  mdFrontmatterBuilder: (writeable) => writeable.mdFrontMatter(),
  mdBodyBuilder: (writeable, _) {
    final json = Map<String, dynamic>.from(writeable.toJson())
      ..remove(TSDefaults.metaDataKey);
    return json.toMd(
      metaDataToFrontMatter: false,
      headingLevel: 2,
      listItemBuilder: (key, item) =>
          key == TSDefaults.itemsKey ? '- [ ] $item' : null,
    );
  },
  mdBuilder: (writeable, frontmatter, body) =>
      '$frontmatter\n\n'
      '$body',
);