import 'dart:html' as html show HttpRequest, Element, querySelector;
import 'package:html/parser.dart' show parse;
import 'package:html/dom.dart' as dom show Element;
final excluded_keywords = {'index', 'CONTRIBUTING', 'LICENSE', 'README'};
// Get the sitemap content
Future fetchRemoteSitemap() async {
  const path = 'sitemap.html';
  try {
    return await html.HttpRequest.getString(path);
  } catch (e) {
    print('Couldn’t open $path');
  }
  return 'Error';
}
// Parse the list of elements and detect pages from this list
Map detectPages(List sitemap, [String prefix]) {
  final links = {};
  for (var elem in sitemap) {
    for (var keyword in excluded_keywords) {
      if (elem.outerHtml.contains(keyword)) {
        continue;
      }
    }
    if (elem.innerHtml.startsWith('> parseSitemap() async {
  final content = await fetchRemoteSitemap();
  final sitemap = parse(content).getElementsByClassName('org-ul')[0].children;
  return detectPages(sitemap);
}
Future sleep(Duration time) async {
  return Future.delayed(time);
}
Future createSitemap() async {
  final sitemap = await parseSitemap();
  final pages = html.querySelector('#drop-page');
  sitemap.forEach((url, name) {
    final link = html.Element.li()
      ..classes.add('dropdown-item')
      ..append(html.Element.a()
        ..attributes['href'] = url
        ..innerText = name);
    pages.append(link);
  });
}