""" ================================== | | This file is part of | | staticoso | | Just a simple Static Site Generator | | | | Licensed under the AGPLv3 license | | Copyright (C) 2022-2023, OctoSpacc | | ================================== """ import shutil from Modules.HTML import DoMinifyHTML from Modules.Utils import * from Libs import rcssmin cssmin = rcssmin._make_cssmin(python_only=True) def PrepareAssets(Flags:dict): f = NameSpace(Flags) if f.MinifyAssets: shutil.copytree('Assets', f.OutDir, ignore=IgnoreFiles, dirs_exist_ok=True) for File in Path('Assets').rglob('*'): if os.path.isfile(File): Dest = f"{f.OutDir}/{str(File)[len('Assets')+1:]}" if str(File).lower().endswith(FileExtensions['HTML']): WriteFile(Dest, DoMinifyHTML(ReadFile(File), f.MinifyKeepComments)) elif str(File).lower().endswith('.css'): WriteFile(Dest, cssmin(ReadFile(File), f.MinifyKeepComments)) else: shutil.copy2(File, Dest) else: shutil.copytree('Assets', f.OutDir, dirs_exist_ok=True)