https://github.com/hamidfzm/Flask-HTMLmin
Flask HTML response minifier
https://github.com/hamidfzm/Flask-HTMLmin
flask flask-extensions flask-htmlmin htmlmin minify minify-html python
Last synced: 9 months ago
JSON representation
Flask HTML response minifier
- Host: GitHub
- URL: https://github.com/hamidfzm/Flask-HTMLmin
- Owner: hamidfzm
- License: bsd-3-clause
- Created: 2015-02-12T09:25:14.000Z (almost 11 years ago)
- Default Branch: main
- Last Pushed: 2025-01-05T18:29:25.000Z (11 months ago)
- Last Synced: 2025-03-08T13:32:57.518Z (9 months ago)
- Topics: flask, flask-extensions, flask-htmlmin, htmlmin, minify, minify-html, python
- Language: Python
- Homepage:
- Size: 149 KB
- Stars: 99
- Watchers: 6
- Forks: 25
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-flask - Flask-HTMLmin - Flask html minifier (Frontend)
- awesome-flask - Flask-HTMLmin - Flask html minifier (Frontend)
- awesome-flask - Flask-HTMLmin - Flask html minifier (Frontend)
- jimsghstars - hamidfzm/Flask-HTMLmin - Flask HTML response minifier (Python)
- awesome-flask-cn - Flask-HTMLmin - Flask html minifier (介绍)
README
Flask-HTMLmin
=============
[](https://badge.fury.io/py/Flask-HTMLmin)

[](LICENSE)

[](https://codecov.io/gh/hamidfzm/Flask-HTMLmin)
Minify flask `text/html` mime type responses.
Just add `MINIFY_HTML = True` to your deployment config to minify HTML and text responses of your flask application.
Installation
------------
To install Flask-HTMLmin, simply use pip:
pip install Flask-HTMLmin
Or use pipenv:
pipenv install Flask-HTMLmin
Or use poetry:
poetry add Flask-HTMLmin
Or alternatively, you can download the repository and install it manually by doing:
git clone git@github.com:hamidfzm/Flask-HTMLmin.git
cd Flask-HTMLmin
python setup.py install
Example
-------
```python
from flask import Flask, render_template
from flask_htmlmin import HTMLMIN
app = Flask(__name__)
app.config['MINIFY_HTML'] = True
htmlmin = HTMLMIN(app)
# or you can use HTMLMIN().init_app(app)
# pass additional parameters to htmlmin
# HTMLMIN(app, **kwargs)
# example:
# htmlmin = HTMLMIN(app, remove_comments=False, remove_empty_space=True, disable_css_min=True)
@app.route('/')
def main():
# index.html will be minimized !!!
return render_template('index.html')
@app.route('/exempt')
@htmlmin.exempt
def exempted_route():
# index.html will be exempted and not blessed by holy htmlmin !!!
return render_template('index.html')
if __name__ == '__main__':
app.run()
```
TODO
----
- [x] Test cases
- [x] Route (or URL rule) exemption
- [x] Caching (in progress)
- [x] Minify inline CSS
- [ ] Minify inline Javascript
- [ ] Type hints