Generate HTML search with template; More Refactoring of the main workflows

This commit is contained in:
2023-02-24 15:29:36 +01:00
parent f43026b13b
commit a342f88e3c
9 changed files with 206 additions and 220 deletions

View File

@ -8,30 +8,11 @@
| ================================== """
from urllib.parse import quote as URLEncode
from Modules.HTML import *
from Modules.Utils import *
def MakeSitemap(Flags:dict, Pages:list):
Map = ''
Domain = Flags['SiteDomain'] + '/' if Flags['SiteDomain'] else ''
for File, Content, Titles, Meta, ContentHtml, SlimHtml, Description, Image in Pages:
File = f"{StripExt(File)}.html"
Map += Domain + URLEncode(File) + '\n'
for Page in Pages:
Map += Domain + URLEncode(f'{StripExt(Page["File"])}.html') + '\n'
WriteFile(f"{Flags['OutDir']}/sitemap.txt", Map)
def BuildPagesSearch(Flags:dict, Pages:list):
SearchContent = ''
with open(f'{staticosoBaseDir()}Assets/PagesSearch.html', 'r') as File:
Base = File.read().split('{{PagesInject}}')
for File, Content, Titles, Meta, ContentHtml, SlimHtml, Description, Image in Pages:
#for File, Content, Titles, Meta in Pages:
SearchContent += f'''
<div
class="staticoso-HtmlSearch-Page"
data-staticoso-htmlsearch-name="{html.escape(html.unescape(Titles[0]), quote=True)}"
data-staticoso-htmlsearch-href="{StripExt(File)}.html"
>
{ContentHtml}
</div>
'''
return Base[0] + SearchContent + Base[1]