diff --git a/DjangoPlugin/tracdjangoplugin/plugins.py b/DjangoPlugin/tracdjangoplugin/plugins.py index cb00f3d..9e51e8d 100644 --- a/DjangoPlugin/tracdjangoplugin/plugins.py +++ b/DjangoPlugin/tracdjangoplugin/plugins.py @@ -5,8 +5,9 @@ from trac.web.chrome import INavigationContributor from trac.web.api import IRequestFilter, IRequestHandler, RequestDone from trac.web.auth import LoginModule +from trac.wiki.macros import WikiMacroBase from trac.wiki.web_ui import WikiModule -from trac.util.html import tag +from trac.util.html import Markup, tag from tracext.github import GitHubLoginModule, GitHubBrowser from django.conf import settings @@ -15,6 +16,33 @@ from django.utils.http import url_has_allowed_host_and_scheme +class MarkupMacro(WikiMacroBase): + """ + For trusted users (TODO: new/more appropriate permission bit?), + allow composing interactive HTML inside a Trac Wiki page, to + facilitate faster iteration on user experiences. + + Example usage in a Trac wiki page: + {{{#!Markup +
Not authorized
") # or raise? + + class CustomTheme(Component): implements(IRequestFilter)