dosage/doc/web/hooks/__hooks__.py
2013-04-25 19:00:57 +02:00

40 lines
1 KiB
Python

# -*- coding: iso-8859-1 -*-
# Hook routines for the wok static site generator.
# Note that mediacompress is a local module.
import os
def compress_javascript(config, output_path):
"""Minify JS files."""
try:
from mediacompress import compress_js_files
except ImportError:
pass
else:
compress_js_files(output_path, excludes=("*.min.js",))
def compress_css(config, output_path):
"""Minify CSS files."""
try:
from mediacompress import compress_css_files
except ImportError:
pass
else:
compress_css_files(output_path)
def chmod(config):
"""Set correct file permissions."""
output_dir = config["output_dir"]
for dirpath, dirnames, filenames in os.walk(output_dir):
for dirname in dirnames:
os.chmod(os.path.join(dirpath, dirname), 0755)
for filename in filenames:
os.chmod(os.path.join(dirpath, filename), 0644)
hooks = {
'site.output.post': [compress_javascript, compress_css],
'site.done': [chmod],
}