Fixed broken sitemap parsing
This commit is contained in:
		
							parent
							
								
									2334518ecc
								
							
						
					
					
						commit
						4ed2d6bdc4
					
				| @ -7,7 +7,7 @@ final excluded_keywords = {'index', 'CONTRIBUTING', 'LICENSE', 'README'}; | ||||
| 
 | ||||
| // Get the sitemap content | ||||
| Future<String> fetchRemoteSitemap() async { | ||||
|   const path = 'sitemap.html'; | ||||
|   const path = '/sitemap.html'; | ||||
|   try { | ||||
|     return await html.HttpRequest.getString(path); | ||||
|   } catch (e) { | ||||
| @ -19,14 +19,17 @@ Future<String> fetchRemoteSitemap() async { | ||||
| // Parse the list of elements and detect pages from this list | ||||
| Map<String, String> detectPages(List<dom.Element> t_sitemap, | ||||
|     [String t_prefix]) { | ||||
|   final sitemap = t_sitemap.where((e) => !excluded_keywords.contains(e)); | ||||
|   final links = <String, String>{}; | ||||
|   for (var elem in sitemap) { | ||||
|   for (var elem in t_sitemap) { | ||||
|     if (elem.innerHtml.startsWith('<a')) { | ||||
|       elem = elem.firstChild; | ||||
|       final url = elem.attributes['href']; | ||||
|       final text = elem.firstChild.text; | ||||
|       links[url] = (t_prefix == null) ? text : '$text ($t_prefix)'; | ||||
|       if (excluded_keywords.contains(text) || | ||||
|           excluded_keywords.contains(url.substring(0, url.length - 5))) { | ||||
|         continue; | ||||
|       } | ||||
|       links['/$url'] = (t_prefix == null) ? text : '$text ($t_prefix)'; | ||||
|     } else { | ||||
|       t_prefix = (t_prefix == null) | ||||
|           ? elem.firstChild.text.replaceAll('\n', '') | ||||
|  | ||||
		Reference in New Issue
	
	Block a user