From d69682ec0605279056e15ea00f2ba10ffe34f491 Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Thu, 21 May 2020 07:33:22 +0200 Subject: [PATCH] =?UTF-8?q?Fixed=20issue=20where=20sitemap=20wouldn?= =?UTF-8?q?=E2=80=99t=20load?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/dart/main.dart | 7 ++++--- web/dart/parse_sitemap.dart | 19 ++++++------------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/web/dart/main.dart b/web/dart/main.dart index ca703c1..2d2eedc 100644 --- a/web/dart/main.dart +++ b/web/dart/main.dart @@ -1,9 +1,10 @@ import './reorganize_html.dart' show reorganizeHtml; import './theme.dart' show enableThemeChanger, setTheme; -import './parse_sitemap.dart' show getSitemap; +import './parse_sitemap.dart' show createSitemap; Future main() async { await setTheme(); - await reorganizeHtml().then((_) => enableThemeChanger()); - await getSitemap(); + await reorganizeHtml() + .then((_) => enableThemeChanger()) + .then((_) => createSitemap()); } diff --git a/web/dart/parse_sitemap.dart b/web/dart/parse_sitemap.dart index 4d36d91..fc5f136 100644 --- a/web/dart/parse_sitemap.dart +++ b/web/dart/parse_sitemap.dart @@ -20,8 +20,8 @@ Future fetchRemoteSitemap() async { Map detectPages(List sitemap, [String prefix]) { final links = {}; for (var elem in sitemap) { - for (var kw in excluded_keywords) { - if (elem.outerHtml.contains(kw)) { + for (var keyword in excluded_keywords) { + if (elem.outerHtml.contains(keyword)) { continue; } } @@ -32,7 +32,7 @@ Map detectPages(List sitemap, [String prefix]) { links[url] = (prefix == null) ? text : '$text ($prefix)'; } else { prefix = (prefix == null) - ? elem.firstChild.text + ? elem.firstChild.text.replaceAll('\n', '') : '$prefix / ${elem.firstChild.text}'; final ul = elem.children[0].children; links.addAll(detectPages(ul, prefix)); @@ -53,22 +53,15 @@ Future sleep(Duration time) async { return Future.delayed(time); } -Future getSitemap() async { +Future createSitemap() async { final sitemap = await parseSitemap(); - final pages = []; + 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.add(link); + pages.append(link); }); - var drop_container; - do { - await sleep(Duration(seconds: 1)); - drop_container = html.querySelector('#drop-page'); - } while (drop_container != null); - pages.forEach((link) => drop_container.append(link)); - return drop_container; }