From dd212ce1c382f51da438e45c500a55629f900593 Mon Sep 17 00:00:00 2001 From: codl Date: Fri, 11 Aug 2017 16:41:31 +0200 Subject: [PATCH] process all assets thru doit --- .gitignore | 3 ++- assets/icon.png | Bin 0 -> 6881 bytes static/style.css => assets/styles.css | 0 dodo.py | 24 ++++++++++++++++++++++++ requirements.txt | 1 + templates/lib/layout.html | 2 +- 6 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 assets/icon.png rename static/style.css => assets/styles.css (100%) diff --git a/.gitignore b/.gitignore index 9dec299..3da5fbc 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ __pycache__ celerybeat-schedule .doit.db -static/logotype*.png +static/ + diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b1cc54a5ac54f43de73e3f4f021edf60f748269c GIT binary patch literal 6881 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 LK%?r8?X&*_R(dtg literal 0 HcmV?d00001 diff --git a/static/style.css b/assets/styles.css similarity index 100% rename from static/style.css rename to assets/styles.css diff --git a/dodo.py b/dodo.py index 3c88c91..71ec097 100644 --- a/dodo.py +++ b/dodo.py @@ -21,6 +21,30 @@ def task_gen_logo(): 'file_dep': ['assets/logotype.png'], } +def task_copy_icon(): + import shutil + return { + 'actions': [lambda: shutil.copy('assets/icon.png', 'static/icon.png')], + 'targets': ['static/icon.png'], + 'file_dep': ['assets/icon.png'], + } + +def task_minify_css(): + """minify css""" + + from csscompressor import compress + + def minify(): + with open('assets/styles.css') as in_: + with open('static/styles.css', 'w') as out: + out.write(compress(in_.read())) + + return { + 'actions': [minify], + 'targets': ['static/styles.css'], + 'file_dep': ['assets/styles.css'], + } + if __name__ == '__main__': import doit doit.run(globals()) diff --git a/requirements.txt b/requirements.txt index cce45ae..f4556a9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,6 +6,7 @@ celery==4.1.0 click==6.7 cloudpickle==0.4.0 contextlib2==0.5.5 +csscompressor==0.9.4 doit==0.30.3 Flask==0.12.2 Flask-Limiter==0.9.5 diff --git a/templates/lib/layout.html b/templates/lib/layout.html index 53f9e23..3cf2a5d 100644 --- a/templates/lib/layout.html +++ b/templates/lib/layout.html @@ -2,7 +2,7 @@ Forget - +