if filename.startswith(('.', '_')): return False if not filename.endswith('.html'): return False return True def dont_render(*args, **kwargs): print "Rendering..." pass if options.customwatch: options.dont_stop = True renderer = Renderer(outpath='./output', rules=[('.*.tmp', dont_render), ('.*.swx', dont_render), ('.*.swp', dont_render)]) renderer._env.filters["markdown"] = markdown_filter renderer._env.filters['datetimeformat'] = datetimeformat renderer.filter_func = filter_func renderer.run(debug=True, use_reloader=not options.dont_stop) if options.customwatch: import easywatch def handler(file, handler): print "Detected changes: rendering again." renderer.run(debug=True, use_reloader=False) print "Render finished. Watching for changes..." print "Watching out for changes..." easywatch.watch("./templates", handler)