parse method

ParsedContent parse(
  1. String raw
)

Implementation

ParsedContent parse(String raw) {
  final text = raw.replaceAll('\r\n', '\n');
  if (!text.startsWith('---\n')) {
    return (data: const {}, body: text.trim());
  }
  final end = text.indexOf('\n---', 4);
  if (end == -1) {
    return (data: const {}, body: text.trim());
  }
  final fm = text.substring(4, end);
  final body = text.substring(end + 4).trimLeft();
  final yaml = loadYaml(fm);
  return (data: _toMap(yaml), body: body);
}