summaryrefslogtreecommitdiff
path: root/plugins/rst
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/rst')
-rwxr-xr-xplugins/rst16
1 files changed, 10 insertions, 6 deletions
diff --git a/plugins/rst b/plugins/rst
index a2d07ebcf..838667507 100755
--- a/plugins/rst
+++ b/plugins/rst
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# rst — xml-rpc-based ikiwiki plugin to process RST files
@@ -18,18 +18,22 @@ __licence__ = 'GPLv2'
from docutils.core import publish_parts;
from proxy import IkiWikiProcedureProxy
-def rst2html(proxy, *kwargs):
- # FIXME arguments should be treated as a hash, the order could change
- # at any time and break this.
- parts = publish_parts(kwargs[3], writer_name='html',
+def rst2html(proxy, *args):
+ kwargs = _to_dict(args)
+ parts = publish_parts(kwargs["content"],
+ writer_name="html",
settings_overrides = { 'halt_level': 6
, 'file_insertion_enabled': 0
, 'raw_enabled': 1
})
return '\n'.join(parts['html_body'].splitlines()[1:-1])
+def _to_dict(args):
+ # args is a list paired by key, value, so we turn it into a dict
+ return dict((k, v) for k, v in zip(*[iter(args)]*2))
+
def getsetup(proxy, *kwargs):
- return 'plugin', { 'safe' : 1, 'rebuild' : 1 }
+ return 'plugin', { 'safe' : 1, 'rebuild' : 1, 'section' : 'format' }
import sys
def debug(s):