Fix some errors with webpages nested in directories
This commit is contained in:
		
							parent
							
								
									71f38b13e9
								
							
						
					
					
						commit
						167cad1ce3
					
				| @ -1,6 +1,6 @@ | ||||
| import './parse_sitemap.dart' show createSitemap; | ||||
| import './reorganize_html.dart' show reorganizeHtml; | ||||
| import './theme.dart' show enableThemeChanger, setTheme; | ||||
| import './parse_sitemap.dart' show createSitemap; | ||||
| 
 | ||||
| Future<void> main() async { | ||||
|   await setTheme(); | ||||
|  | ||||
| @ -18,9 +18,12 @@ 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 links = <String, String>{}; | ||||
|     [String t_prefix, Map<String, String> t_links]) { | ||||
|   t_links ??= <String, String>{}; | ||||
| 
 | ||||
|   // parse each element in sitemap | ||||
|   for (var elem in t_sitemap) { | ||||
|     // if it’s a link | ||||
|     if (elem.innerHtml.startsWith('<a')) { | ||||
|       elem = elem.firstChild; | ||||
|       final url = elem.attributes['href']; | ||||
| @ -29,16 +32,15 @@ Map<String, String> detectPages(List<dom.Element> t_sitemap, | ||||
|           excluded_keywords.contains(url.substring(0, url.length - 5))) { | ||||
|         continue; | ||||
|       } | ||||
|       links['/$url'] = (t_prefix == null) ? text : '$text ($t_prefix)'; | ||||
|       t_links['/$url'] = (t_prefix == null) ? text : '$text ($t_prefix)'; | ||||
|     } else { | ||||
|       t_prefix = (t_prefix == null) | ||||
|       final prefix = (t_prefix == null) | ||||
|           ? elem.firstChild.text.replaceAll('\n', '') | ||||
|           : '$t_prefix / ${elem.firstChild.text}'; | ||||
|       final ul = elem.children[0].children; | ||||
|       links.addAll(detectPages(ul, t_prefix)); | ||||
|           : '$t_prefix / ${elem.firstChild.text}'.replaceAll('\n', ''); | ||||
|       t_links = detectPages(elem.children[0].children, prefix, t_links); | ||||
|     } | ||||
|   } | ||||
|   return links; | ||||
|   return t_links; | ||||
| } | ||||
| 
 | ||||
| // This function returns a Map which contains all links to languages detected | ||||
|  | ||||
		Reference in New Issue
	
	Block a user