createSearchIndex function

List<Map<String, dynamic>> createSearchIndex(
  1. Content content,
  2. Config config,
  3. BuildData data
)

Implementation

List<Map<String, dynamic>> createSearchIndex(
  Content content,
  Config config,
  BuildData data,
) {
  final list = <Map<String, dynamic>>[];

  content.when(
    config,
    data,
    page: (config, buildData, page) {
      final metadata = page.toMap();
      list.add(
        <String, dynamic>{
          'title': metadata['name'],
          'url': '${config.baseUrl}${metadata['path']}',
        },
      );
    },
    section: (config, buildData, section) {
      for (final element in section.children) {
        list.addAll(createSearchIndex(element, config, data));
      }
    },
  );

  return list;
}