1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
from trac.core import Component, implements
from trac.web.api import IRequestFilter
from trac.web.chrome import ITemplateProvider, add_stylesheet, add_script
from trac.web.href import Href
from trac.util.html import Markup
class TemplateProvider(Component):
implements(ITemplateProvider)
# ITemplateProvider#get_htdocs_dirs
def get_htdocs_dirs(self):
from pkg_resources import resource_filename
return [('tracwysiwyg', resource_filename(__name__, 'htdocs'))]
# ITemplateProvider#get_templates_dirs
def get_templates_dirs(self):
return []
class WysiwygWikiFilter(Component):
implements(IRequestFilter)
# IRequestFilter#pre_process_request
def pre_process_request(self, req, handler):
return handler
# IRequestFilter#post_process_request
def post_process_request(self, req, template, data, content_type):
add_stylesheet(req, 'tracwysiwyg/wysiwyg.css')
add_script(req, 'tracwysiwyg/wysiwyg.js')
add_script(req, 'tracwysiwyg/wysiwyg-load.js')
return (template, data, content_type)
|