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 t_sitemap,
[String t_prefix]) {
final links = {};
for (var elem in t_sitemap) {
if (elem.innerHtml.startsWith('> parseSitemap() async {
final content = await fetchRemoteSitemap();
final sitemap = parse(content).getElementsByClassName('org-ul')[0].children;
return detectPages(sitemap);
}
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);
});
}