aboutsummaryrefslogtreecommitdiff
path: root/doc/bugs/rst_tweak.mdwn
blob: 9d433e24e1a41b82a60c4b3bdae709dca66f5b25 (plain)
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
36
37
38
39
40
41
42
43
rst.pm disallows raw HTML input. (It's meant as a security feature.)
IkiWiki generates HTML in rst files pretty much all the time. As
such, we should enable raw HTML support. --Ethan

> [[done]], although I did add a news item about it, since it could break
> the security of certian setups that don't use the htmlscrubber. --[[Joey]]

<pre>
Index: IkiWiki/Plugin/rst.pm
===================================================================
--- IkiWiki/Plugin/rst.pm	(revision 3926)
+++ IkiWiki/Plugin/rst.pm	(working copy)
@@ -30,7 +30,7 @@
 html = publish_string(stdin.read(), writer_name='html', 
        settings_overrides = { 'halt_level': 6, 
                               'file_insertion_enabled': 0,
-                              'raw_enabled': 0 }
+                              'raw_enabled': 1 }
 );
 print html[html.find('<body>')+6:html.find('</body>')].strip();
 ";
</pre>

----

Does the Perl version of this plugin still exist?  There appears to be no "rst.pm" in the current distribution; all there is is the python version. --Peter

> No, only the python version exists. It does have `raw_enabled` set.
> --[[Joey]]

I am sorry, but I am confused. Does this mean that I can use Ikiwiki
features that translate to HTML in rst files? For example, when I use a
\[[pagename]]-style link in a rst file, the page generated by Ikiwiki's rst
plugin says &lt;a href="./../pagename/">pagename&lt;/a> as text. The link
is expanded correctly, but the result isn't interpreted as HTML. Is that
what is supposed to happen? --Peter

> `raw_enabled` allows you to use the
> [raw directive](http://docutils.sourceforge.net/docs/ref/rst/directives.html),
> but this is not used by ikiwiki for wikilinks or anything else. 
> That's why the [[plugin_page|plugins/rst]] has its note about 
> issues with wikilinks and directives. You'd have to put those inside
> raw directives yourself to avoid rst escaping their result. --[[Joey]]