diff --git a/minify.py b/minify.py index 6004ddf..5adc29c 100755 --- a/minify.py +++ b/minify.py @@ -4,42 +4,23 @@ import sys from pathlib import Path -import htmlmin -import rcssmin -import rjsmin +import minify_html DEPLOY_DIR = Path("./deploy") -def minify_css(): - for css_file in DEPLOY_DIR.rglob("*.css"): - content = css_file.read_text(encoding="utf-8") - minified = rcssmin.cssmin(content) - css_file.write_text(minified, encoding="utf-8") - print(f" CSS: {css_file}") - - -def minify_js(): - for js_file in DEPLOY_DIR.rglob("*.js"): - if js_file.name.endswith(".min.js"): +def minify_files(): + for file in DEPLOY_DIR.rglob("*"): + if file.suffix not in {".html", ".css", ".js"}: continue - content = js_file.read_text(encoding="utf-8") - minified = rjsmin.jsmin(content) - js_file.write_text(minified, encoding="utf-8") - print(f" JS: {js_file}") - - -def minify_html(): - for html_file in DEPLOY_DIR.rglob("*.html"): - content = html_file.read_text(encoding="utf-8") - minified = htmlmin.minify( + content = file.read_text(encoding="utf-8") + minified = minify_html.minify( content, - remove_comments=True, - remove_empty_space=True, - reduce_boolean_attributes=True, + minify_js=True, + minify_css=True, ) - html_file.write_text(minified, encoding="utf-8") - print(f" HTML: {html_file}") + file.write_text(minified, encoding="utf-8") + print(f"{file.suffix.upper().rjust(5)}: {file}") if __name__ == "__main__": @@ -48,7 +29,5 @@ if __name__ == "__main__": sys.exit(1) print("Minifying assets...") - minify_css() - minify_js() - minify_html() + minify_files() print("Done.") diff --git a/requirements.txt b/requirements.txt index d6871cf..f1b9efc 100755 --- a/requirements.txt +++ b/requirements.txt @@ -5,11 +5,11 @@ ghp-import==2.1.0 griffe==1.15.0 griffecli==2.0.0 griffelib==2.0.0 -htmlmin==0.1.12 Jinja2==3.1.6 Markdown==3.10.2 MarkupSafe==3.0.3 mergedeep==1.3.4 +minify-html==0.15.0 mkdocs==1.6.1 mkdocs-autorefs==1.4.4 mkdocs-get-deps==0.2.2 @@ -23,8 +23,6 @@ pymdown-extensions==10.21 python-dateutil==2.9.0.post0 PyYAML==6.0.3 pyyaml_env_tag==1.1 -rcssmin==1.2.2 -rjsmin==1.2.4 six==1.17.0 watchdog==6.0.0 zensical==0.0.27