1 I use inline to create a blog like the below:
3 \[[!inline pages="./bugs/* and !./bugs/done and !./bugs/discussion and
4 !link(patch) and !link(./bugs/done) and !./bugs/*/*"
5 actions=yes rootpage="./bugs" postform="yes" postformtext="请用一句话简述问题,然后点击 Edit 按钮添加具体细节" show=0]]
8 When I use posform to add a new page, it show:
10 > Error: bad page name
12 Its url include a %2F, like below:
14 > http://172.16.0.109/ikiwiki.cgi?do=blog&from=.%2Fbugs&subpage=1&title=aaa
16 I use ikiwiki 3.20180311
20 I have found that it is not "%2F"'s problem, it just that inline directive can
21 not deal with Chinese char, the below link can work
23 http://172.16.0.109/ikiwiki.cgi?do=blog&from=aaa%2Fbugs&subpage=1&title=aaa
27 > I don't think this is actually caused by the Chinese text. The problem is that
28 > you used `rootpage="./bugs"`, which leads to the `blog` request handler
29 > generating an invalid page name. If you change it to `rootpage="bugs"` does
32 > Ideally either the `inline` directive or the `blog` request handler would
33 > understand and remove `./`, if it's something that makes sense in this context.
38 > I have found the problem, it is inline plugin can not decode_utf8 "from", the below is patch:
40 From f79dde20b275707f70df2d481919a079abec6c19 Mon Sep 17 00:00:00 2001
41 From: Feng Shu <tumashu@163.com>
42 Date: Sun, 2 Dec 2018 08:38:34 +0800
43 Subject: [PATCH 1/2] Fix inline plugin can no set rootpage to a UTF-8 page
46 IkiWiki/Plugin/inline.pm | 2 +-
47 1 file changed, 1 insertion(+), 1 deletion(-)
49 diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
50 index a85cd5d2f..f40956821 100644
51 --- a/IkiWiki/Plugin/inline.pm
52 +++ b/IkiWiki/Plugin/inline.pm
53 @@ -125,7 +125,7 @@ sub sessioncgi ($$) {
54 error(gettext("please enter a page title"));
56 # if the page already exists, munge it to be unique
57 - my $from=$q->param('from');
58 + my $from=decode_utf8($q->param('from'));
60 while (exists $IkiWiki::pagecase{lc($from."/".$page.$add)}) {
61 $add=1 unless length $add;