diff --git a/.gitignore b/.gitignore index 788259e..844e260 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.pyc *.pyo +dist/ *.project *.pydevproject *.sublime-project diff --git a/browser/node.py b/browser/node.py index 8d2ddd5..c59b219 100755 --- a/browser/node.py +++ b/browser/node.py @@ -85,6 +85,11 @@ class NodeView(BaseView): self.setSkin(self.viewConfig.get('skinName')) def __call__(self, *args, **kw): + if self.nodeType == 'raw': + vn = self.context.viewName + if vn: + self.request.response.setHeader('content-type', vn) + return self.context.body tv = self.viewAnnotations.get('targetView') if tv is not None: if tv.isToplevel: diff --git a/view.py b/view.py index 5430413..d1c1cee 100644 --- a/view.py +++ b/view.py @@ -219,6 +219,7 @@ nodeTypes = [ ('page', _(u'Page')), # standalone page with a menu item ('menu', _(u'Menu')), # top-level menu (also a page) ('info', _(u'Info')), # not shown automatically, but may be a link target + ('raw', _(u'Raw')), # render body as is, viewName may contain content type ] class NodeTypeSourceList(object):