]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
New upstream version 3.20180228
authorSimon McVittie <smcv@debian.org>
Wed, 28 Feb 2018 10:44:46 +0000 (10:44 +0000)
committerSimon McVittie <smcv@debian.org>
Wed, 28 Feb 2018 10:44:46 +0000 (10:44 +0000)
52 files changed:
.gitignore
CHANGELOG
IkiWiki.pm
IkiWiki/CGI.pm
IkiWiki/Plugin/img.pm
IkiWiki/Plugin/mdwn.pm
Makefile.PL
debian/control
debian/copyright
debian/ikiwiki.lintian-overrides
doc/bugs/Login_should_redirect_to_secure_version_of_site.mdwn
doc/bugs/cgi_redirecting_to_non-https_URL.mdwn
doc/bugs/imagemagick_6.9.8_test_suite_failure.mdwn
doc/bugs/login_problem_redux.mdwn [new file with mode: 0644]
doc/forum/Most_TMPL__95__VAR_variables_are_empty_in_a_template/comment_2_7dba0f1345260aa27d89bcd3526d5c10._comment [new file with mode: 0644]
doc/forum/Some_thoughts_about_Ikiwiki.mdwn [new file with mode: 0644]
doc/forum/Some_thoughts_about_Ikiwiki/comment_1_db32786dd1c1022cec983a12a30b2b17._comment [new file with mode: 0644]
doc/ikiwiki/directive/img/discussion.mdwn
doc/index.mdwn
doc/news/version_3.20161229.1.mdwn [deleted file]
doc/news/version_3.20180105.mdwn [new file with mode: 0644]
doc/plugins/rename/discussion.mdwn [new file with mode: 0644]
doc/plugins/tag/discussion.mdwn
doc/plugins/wmd/discussion.mdwn
doc/tips/convert_moinmoin_to_ikiwiki.mdwn
doc/tips/optimising_ikiwiki.mdwn
doc/tips/optimising_ikiwiki/discussion.mdwn [new file with mode: 0644]
doc/todo/Restrict_page_viewing.mdwn
doc/todo/consider_using_python3_for_rst_plugin.mdwn [new file with mode: 0644]
doc/todo/css_and_javascript_aggregation.mdwn
doc/users/svetlana.mdwn
ikiwiki.spec
plugins/proxy.py
plugins/pythondemo
plugins/rst
po/bg.po
po/cs.po
po/da.po
po/de.po
po/es.po
po/fr.po
po/gu.po
po/ikiwiki.pot
po/it.po
po/pl.po
po/sv.po
po/tr.po
po/vi.po
t/img.t
t/img/redsquare.bmp [new file with mode: 0644]
t/relativity.t
t/wellformed.t

index d27140896a6c3dc4ad0702dccd20dec78cd38a4a..a8d5ae77f63cafe05aec5b97266b561ae5242490 100644 (file)
@@ -13,6 +13,7 @@ pm_to_blib
 /MYMETA.json
 /MYMETA.yml
 *.man
+/plugins/__pycache__/
 /po/cover_db
 /po/html/
 po/po2wiki_stamp
index 1456810e0f95543c01af82dc431b307b8f5aeaa8..b43c033dc2c4287732bb57a2429e7cf9adc5d41d 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,26 @@
+ikiwiki (3.20180228) upstream; urgency=medium
+
+  * core: Don't send relative redirect URLs when behind a reverse proxy
+  * core: Escape backticks etc. in directive error messages as HTML
+    entities so that the error message is not subsequently parsed as
+    Markdown
+  * mdwn: Enable fenced code blocks, PHP Markdown Extra-style definition
+    lists and GitHub-style extensions to HTML tag syntax when used with
+    Discount >= 2.2.0 (Closes: #888055)
+  * img: Fix auto-detection of image format (if enabled, which is
+    strongly discouraged) with ImageMagick >= 6.9.8-3
+  * rst: Use Python 3 instead of Python 2
+  * build: `set -e` before each `for` loop, so that errors are reliably
+    trapped
+  * build: Use if/then instead of `||` so that the `-e` flag works
+  * build: Ensure that pm_to_blib finishes before rewriting shebang lines
+  * t: Make the img test pass with ImageMagick >= 6.9.8-3
+    (Closes: #891647)
+  * debian: Remove unused Lintian overrides for duplicate word false positives
+  * debian: Declare compliance with Debian Policy 4.1.3
+
+ -- Simon McVittie <smcv@debian.org>  Wed, 28 Feb 2018 10:38:19 +0000
+
 ikiwiki (3.20180105) upstream; urgency=medium
 
   * emailauth: Fix cookie problem when user is on https and the cgiurl
index 0d87242ebd53c07f62b0446a0b102550afee83de..7a38c8f89a44fd42d7e61a2871dd2014e4ac3b09 100644 (file)
@@ -1668,6 +1668,10 @@ sub preprocess ($$$;$$) {
                                        chomp $error;
                                        eval q{use HTML::Entities};
                                        $error = encode_entities($error);
+                                       # Also encode most ASCII punctuation
+                                       # as entities so that error messages
+                                       # are not interpreted as Markdown etc.
+                                       $error = encode_entities($error, '[](){}!#$%*?@^`|~'."\\");
                                        $ret="[[!$command <span class=\"error\">".
                                                gettext("Error").": $error"."</span>]]";
                                }
index 64f5c6b8c3b50b4cb9e9c86ffed958c1c90bea3e..2c5b4a84d13ea5e36673f242ed30e51b7f441eab 100644 (file)
@@ -91,7 +91,7 @@ sub redirect ($$) {
        my $q=shift;
        eval q{use URI};
 
-       my $topurl;
+       my $topurl = $config{cgiurl};
        if (defined $q && ! $config{w3mmode} && ! $config{reverse_proxy}) {
                $topurl = $q->url;
        }
index 79cfba20fb48564849b41717907c7f860904fe02..b85824345ed6e1634cf6f43b08ac3887a56117d4 100644 (file)
@@ -125,7 +125,14 @@ sub preprocess (@) {
        }
        else {
                # allow ImageMagick to auto-detect (potentially dangerous)
-               $format = '';
+               my $im = Image::Magick->new();
+               my $r = $im->Ping(file => $in);
+               if ($r) {
+                       $format = lc $r;
+               }
+               else {
+                       error sprintf(gettext("failed to determine format of %s"), $file);
+               }
        }
 
        error sprintf(gettext("%s image processing disabled in img_allowed_formats configuration"), $format ? $format : "\"$extension\"") unless allowed($format ? $format : "everything");
index 9f06c03f2ec05678e0426a723a352eab7475313c..66116ae014f7a94cd8bda230514258bbb75acf42 100644 (file)
@@ -125,6 +125,31 @@ sub htmlize (@) {
                                                $flags |= 0x00400000;
                                        }
 
+                                       # Enable fenced code blocks in libmarkdown >= 2.2.0
+                                       # https://bugs.debian.org/888055
+                                       if (Text::Markdown::Discount->can("MKD_FENCEDCODE")) {
+                                               $flags |= Text::Markdown::Discount::MKD_FENCEDCODE();
+                                       }
+                                       else {
+                                               $flags |= 0x02000000;
+                                       }
+
+                                       # PHP Markdown Extra-style term\n: definition -> <dl>
+                                       if (Text::Markdown::Discount->can("MKD_DLEXTRA")) {
+                                               $flags |= Text::Markdown::Discount::MKD_DLEXTRA();
+                                       }
+                                       else {
+                                               $flags |= 0x01000000;
+                                       }
+
+                                       # Allow dashes and underscores in tag names
+                                       if (Text::Markdown::Discount->can("MKD_GITHUBTAGS")) {
+                                               $flags |= Text::Markdown::Discount::MKD_GITHUBTAGS();
+                                       }
+                                       else {
+                                               $flags |= 0x08000000;
+                                       }
+
                                        return Text::Markdown::Discount::markdown($t, $flags);
                                }
                        }
index bee9dfa11817d52aba1985fd7022d2a80d33f4b7..6f1724697a938537cd224dcd869bd17d8a7fb05b 100755 (executable)
@@ -61,8 +61,9 @@ extra_build: perl_shebangs $(outprogs) ikiwiki.setup docwiki sysconfdir
 docwiki:
        $(PERL) -Iblib/lib $(extramodules) $(tflag) ikiwiki.in --setup docwiki.setup --refresh
 
-perl_shebangs:
+perl_shebangs: pm_to_blib
 ifneq "$(PERL)" "/usr/bin/perl"
+       set -e; \
        for file in $(shebang_scripts); do \
                $(PERL) -pe "s|^#!/usr/bin/perl\b|#!$(PERL)| if 1" < $$file > "$$file.new"; \
                [ -x $$file ] && chmod +x "$$file.new"; \
@@ -72,6 +73,7 @@ endif
 
 perl_shebangs_clean:
 ifneq "$(PERL)" "/usr/bin/perl"
+       set -e; \
        for file in $(shebang_scripts); do \
                $(PERL) -pe "s|^#!$(PERL)\b|#!/usr/bin/perl| if 1" < $$file > "$$file.new"; \
                [ -x $$file ] && chmod +x "$$file.new"; \
@@ -93,49 +95,59 @@ myclean: clean
 
 underlay_install:
        install -d $(DESTDIR)$(PREFIX)/share/ikiwiki
+       set -e; \
        for dir in `cd underlays && $(FIND) . -follow -type d`; do \
                install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \
                for file in `$(FIND) underlays/$$dir -follow -maxdepth 1 -type f ! -name jquery.js ! -name jquery-ui.css ! -name jquery-ui.js ! -name jquery.tmpl.js`; do \
-                       cp -pRL $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir 2>/dev/null || \
-                       install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \
+                       if ! cp -pRL $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir 2>/dev/null; then \
+                               install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \
+                       fi; \
                done; \
        done
 
        # The directive docs become their own special underlay.
        install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/directives/ikiwiki/directive
+       set -e; \
        for file in doc/ikiwiki/directive/*; do \
                if [ -f "$$file" ]; then \
-                       cp -pRL $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/directives/ikiwiki/directive 2>/dev/null || \
-                       install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/directives/ikiwiki/directive; \
+                       if ! cp -pRL $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/directives/ikiwiki/directive 2>/dev/null; then \
+                               install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/directives/ikiwiki/directive; \
+                       fi; \
                fi \
        done
 
        # Themes have their base.css (if present) and then
        # style.css appended to the normal one.
+       set -e; \
        for theme in themes/*; do \
                install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/$$theme; \
                for file in $$theme/*; do \
                        if echo "$$file" | grep -q style.css; then \
-                               (cat doc/style.css; cat $$theme/base.css 2>/dev/null; cat $$file) > $(DESTDIR)$(PREFIX)/share/ikiwiki/$$theme/style.css; \
+                               (cat doc/style.css; cat $$theme/base.css 2>/dev/null || :; cat $$file) > $(DESTDIR)$(PREFIX)/share/ikiwiki/$$theme/style.css; \
                        elif echo "$$file" | grep -q base.css; then \
                                :; \
                        elif [ -f "$$file" ]; then \
-                               cp -pRL $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$file 2>/dev/null || \
-                               install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$file; \
+                               if ! cp -pRL $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$file 2>/dev/null; then \
+                                       install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$file; \
+                               fi; \
                        fi \
                done; \
        done
 
 extra_install: underlay_install
        # Install example sites.
+       set -e; \
        for dir in `cd doc/examples; $(FIND) . -type d ! -regex '.*discussion.*'`; do \
                install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$dir; \
        done
+       set -e; \
        for file in `cd doc/examples; $(FIND) . -type f ! -regex '.*discussion.*'`; do \
-               cp -pRL doc/examples/$$file $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$file 2>/dev/null || \
-               install -m 644 doc/examples/$$file $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$file; \
+               if ! cp -pRL doc/examples/$$file $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$file 2>/dev/null; then \
+                       install -m 644 doc/examples/$$file $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$file; \
+               fi; \
        done
 
+       set -e; \
        for dir in `$(FIND) templates -follow -type d`; do \
                install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \
                for file in `$(FIND) $$dir -follow -maxdepth 1 -type f`; do \
@@ -144,9 +156,11 @@ extra_install: underlay_install
        done
        
        install -d $(DESTDIR)$(PREFIX)/lib/ikiwiki/plugins
+       set -e; \
        for file in `$(FIND) plugins -maxdepth 1 -type f ! -path plugins/.\* ! -name \*demo\* -name \*.py`; do \
                install -m 644 $$file $(DESTDIR)$(PREFIX)/lib/ikiwiki/plugins; \
        done
+       set -e; \
        for file in `$(FIND) plugins -maxdepth 1 -type f ! -path plugins/.\* ! -name \*demo\* ! -name \*.py ! -name \*.pyc`; do \
                install -m 755 $$file $(DESTDIR)$(PREFIX)/lib/ikiwiki/plugins; \
        done
@@ -169,6 +183,7 @@ extra_install: underlay_install
        install ikiwiki-w3m.cgi $(DESTDIR)$(W3M_CGI_BIN)
 
        install -d $(DESTDIR)$(PREFIX)/bin
+       set -e; \
        for prog in $(outprogs) $(scripts); do \
                install $$prog $(DESTDIR)$(PREFIX)/bin/$$(echo $$prog | $(SED) 's/\.out//'); \
        done
index ad57a126fc7b31978c20d5930c59ecebe63972bb..6af39bd837b07f979ce9094c77892c86a46b7510 100644 (file)
@@ -33,7 +33,7 @@ Build-Depends-Indep:
 Maintainer: Simon McVittie <smcv@debian.org>
 Uploaders:
  Josh Triplett <josh@freedesktop.org>,
-Standards-Version: 4.1.1
+Standards-Version: 4.1.3
 Homepage: https://ikiwiki.info/
 Vcs-Git: git://git.ikiwiki.info/
 Vcs-Browser: http://source.ikiwiki.branchable.com/?p=source.git;a=summary
@@ -96,8 +96,8 @@ Suggests:
  libxml-writer-perl,
  po4a (>= 0.35-1),
  polygen,
- python,
- python-docutils,
+ python3,
+ python3-docutils,
  texlive,
  tidy,
  viewvc | gitweb | viewcvs,
index b140feaa11569ef1361dba872e897f7130568173..a25660adfa17e54b58cc98e115b98a87969c3800 100644 (file)
@@ -1,12 +1,12 @@
 Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Source: native package
+Source: https://ikiwiki.info/git/
 
 Files: *
 Copyright: © 2006-2011 Joey Hess <joey@ikiwiki.info>
 License: GPL-2+
 
 Files: templates/* underlays/basewiki/* doc/ikiwiki/directive/*
ikiwiki.setup po/underlays/* underlays/javascript/*
+ po/underlays/* underlays/javascript/*
 Copyright: © 2006-2010 Joey Hess <joey@ikiwiki.info>
 License: permissive
 
@@ -203,13 +203,6 @@ Comment:
  Based on https://code.google.com/archive/p/openid-selector/
 License: BSD-2-clause
 
-Files: underlays/login-selector/ikiwiki/login-selector/goa-*
-Copyright:
- © 2011 Red Hat, Inc.
-License: LGPL-2.1+
-Comment:
- taken from data/icons/16x16/ in gnome-online-accounts git
-
 Files: underlays/jquery/*
 Copyright: © 2005-2011 by John Resig, Branden Aaron & Jörn Zaefferer
            © 2011 The Dojo Foundation
@@ -314,23 +307,6 @@ License: Expat
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  SOFTWARE.
 
-License: LGPL-2.1+
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
- .
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- Lesser General Public License for more details.
- .
- You should have received a copy of the GNU Lesser General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
- .
- On Debian systems, the complete text of the GNU Lesser General
- Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
-
 License: public-domain
  Public Domain Dedication
  .
index 5c101d2a48fe3e01c4b1fa81c8089c1f3ae1e966..08cb40edc817071a825baf80acb5d56a0a4a8b00 100644 (file)
@@ -1,4 +1,2 @@
 ikiwiki: script-not-executable etc/ikiwiki/auto-blog.setup
 ikiwiki: script-not-executable etc/ikiwiki/auto.setup
-ikiwiki: spelling-error-in-changelog Moin Moin (duplicate word) Moin
-ikiwiki: spelling-error-in-copyright Moin Moin (duplicate word) Moin
index 7c2c501b7d853e7836d0c9fd4e263d63538ba4b2..ae53fc5b3eb3c4d77dda49274b067e4dd57560b5 100644 (file)
@@ -7,3 +7,26 @@ Steps to reproduce:
 Firefox gives all kinds of warnings for unencrypted login pages.
 
 The fix is for the login page to redirect to the https version of the wiki before showing the login form.
+
+> This is web server configuration for those sites, so not really a bug in the
+> ikiwiki software. If you run an ikiwiki instance and you have a browser-trusted certificate,
+> I would recommend:
+>
+> * setting the `url` and `cgiurl` options to `https://...`
+> * configuring your web server (frontend web server if you are using a reverse-proxy)
+>   to redirect from `http://...` to `https://...` automatically, possibly excluding
+>   `/.well-known/acme-challenge/` to make it easier to bootstrap Let's Encrypt certificates
+>
+> In [ikiwiki-hosting](https://ikiwiki-hosting.branchable.com/) the latter can be achieved
+> by setting the `redirect_to_https` option to `1`.
+>
+> When not using ikiwiki-hosting, the ikiwiki software does not control the web server
+> configuration, so it can't do this for you. The CGI script could redirect from http
+> to https if it knew you had a browser-trusted certificate, but it can't know that
+> unless you tell it (by setting `url` and `cgiurl`), and there's the potential for
+> infinite redirect loops in misconfigured reverse-proxy setups if it did that
+> (see [[bugs/login problem redux]]), so I think this is better solved at the web
+> server level.
+>
+> The operator of ikiwiki.info and branchable.com can change the web server
+> configuration for those sites, but other ikiwiki developers can't. --[[smcv]]
index abdc676a0360d194fdf6d90f1d056b86e8d6910e..02c04900f978e88143eb3f24716d729f761cbc97 100644 (file)
@@ -23,6 +23,10 @@ Response Headers
     Status: 302 Found
     Location: http://redacted/phd/blog/38th_Dec/?updated#comment-bd0549eb2464b5ca0544f68e6c32221e
 
+> Your form submission was in fact done successfully. The failing redirection to http is
+> when ikiwiki follows up the successful edit by redirecting you from the form submission
+> URL to the updated page, which is done by `IkiWiki::redirect`. --[[smcv]]
+
 The CGI is served by lighttpd, but the whole site is front-ended by nginx, which reverse-proxies to lighttpd.
 
 ----
@@ -31,3 +35,19 @@ I think this might be to do with nginx not rewriting POST URLs when reverse-prox
 they would be generated in an HTTP form in any case, except perhaps by lighttpd's CGI handler since the back
 end is HTTP. A workaround is for nginx to redirect any HTTP URI to the HTTPS equivalent. I initially disabled
 that so as to have the path for letsencrypt negotiation not redirected.-- [[Users/Jon]]
+
+> Do you have the `reverse_proxy` option set to 1? (It affects how ikiwiki generates
+> self-referential URLs).
+>
+> Is the connection between nginx and lighttpd http or https?
+>
+> I think this is maybe a bug in `IkiWiki::redirect` when used in conjunction with
+> `reverse_proxy: 1`: when marked as behind a reverse proxy,
+> `IkiWiki::redirect` sent `Location: /phd/foo/bar/`, which your backend web
+> server might be misinterpreting. ikiwiki git master now sends
+> `Location: https://redacted/phd/foo/bar/` instead: does that resolve this
+> for you?
+>
+> Assuming nginx has a reasonable level of configuration, you can redirect http to https
+> for the entire server except `/.well-known/acme-challenge/` as a good way to bootstrap
+> ACME negotiation. --[[smcv]]
index c2ea4f26d587de65eb01c4694a103aab7d0e13b3..d6af771110fd1eafedfcdb18c6fd0c2858f4b2fd 100644 (file)
@@ -53,3 +53,19 @@ Is this is a known problem and is there maybe a fix for this issue?
 > Please try re-running the test with better diagnostics using
 > [commit 4ace7dbb7](http://source.ikiwiki.branchable.com/?p=source.git;a=commitdiff;h=4ace7dbb7)
 > and report what it says. --[[smcv]]
+
+>> I see the same issue on Fedora, with ImageMagic 6.9.9-19:
+>> 
+>>     #   Failed test at t/img.t line 119.
+>>     #          got: 'no image: Exception 435: unable to open image `:t/tmp/out/imgconversions/10x-redsquare.png': No such file or directory @ error/blob.c/OpenBlob/2701'
+>>     #     expected: '10x10'
+>>     [...]
+>> 
+>> So it seems, that an empty coder prefix is not accepted anymore. To me it seems that [this commit](https://github.com/ImageMagick/ImageMagick/commit/4bc9b6b) changed the behavior. Unfortunately, the commit message doens't tell us about the reasons behind. The commit is included from version 6.9.8-3 on.
+
+>>> This should now be [[fixed|done]] in git and in the next release.
+>>> The test failure does not indicate a loss of functionality, unless
+>>> you are using uncommon image formats enabled with
+>>> `img_allowed_formats: [everything]`, which is a potential security
+>>> vulnerability because it exposes the attack surface of all
+>>> ImageMagick decoder modules. --[[smcv]]
diff --git a/doc/bugs/login_problem_redux.mdwn b/doc/bugs/login_problem_redux.mdwn
new file mode 100644 (file)
index 0000000..20a4d40
--- /dev/null
@@ -0,0 +1,71 @@
+Following up on [[login_problem]], there's still some problems mixing https
+and http logins on sites that allow both and don't redirect http to https.
+
+> I think the only good solution to this is to configure web servers to
+> redirect http to https, which is outside the scope of the ikiwiki
+> software (but would be a useful configuration change on sites like
+> ikiwiki.info). Redirecting from CGI code is problematic because
+> reverse-proxies are a thing; see below. --[[smcv]]
+
+If the user logs in on https first, their cookie is https-only. If they
+then open the http site and do something that needs them logged in, it will
+try to log them in again. But, the https-only cookie is apparently not
+replaced by the http login cookie. The login will "succeed", but the cookie
+is inaccessible over https and so they'll not be really logged in.
+
+> Mitigation: If you have a browser-trusted certificate (which lots of
+> people do now, because Let's Encrypt exists), setting the `cgiurl` to
+> `https://...` will result in the CGI (which is the only part that
+> needs cookies) being accessed via https whenever the user follows
+> links from static content.
+> (`test_site4_cgi_is_secure_static_content_doesnt_have_to_be` in
+> `t/relativity.t`.)
+>
+> In the past I've wondered whether to add a distinction between
+> authenticating and unauthenticating CGI URLs, so that on sites that
+> don't particularly care about eavesdropping, anonymous/read-only actions
+> like `?do=goto` can go via `http`, but write actions and actions that
+> are usually authenticated like `?do=edit` go via `https`. However, in
+> 2018 with Let's Encrypt widely available, it seems reasonable to just
+> use `https` for all CGI accesses.
+> --[[smcv]]
+
+I think that the only fix for this is make the login page redirect from
+http to https, and for it to return to the https version of the page that
+prompted the login. --[[Joey]]
+
+> Redirecting the login page from http to https inside ikiwiki.cgi is
+> problematic, because ikiwiki can't reliably know whether it was already
+> accessed via https. If there is a reverse-proxy in use but the site admin
+> has not set the `reverse_proxy` option (which is not *always* necessary
+> even behind reverse proxies AIUI, and I suspect some reverse-proxied sites
+> haven't set it correctly), then ikiwiki.cgi would infinitely redirect back
+> to itself.
+>
+> For example, suppose your frontend web server is example.com and your
+> ikiwiki backend is 127.0.0.1:8080.
+>
+> * frontend web server sees an access to http://example.com/ikiwiki.cgi
+> * frontend web server reverse-proxies it to http://127.0.0.1:8080/ikiwiki.cgi
+> * backend web server invokes ikiwiki.cgi with `HTTPS` environment variable
+>   undefined
+> * ikiwiki.cgi thinks "I'm being accessed via plain http" (this time correctly,
+>   as it happens)
+> * ikiwiki.cgi sends a redirect to https://example.com/ikiwiki.cgi
+> * {1} web browser follows redirect
+> * frontend web server sees an access to https://example.com/ikiwiki.cgi
+> * frontend web server reverse-proxies it to http://127.0.0.1:8080/ikiwiki.cgi
+> * backend web server invokes ikiwiki.cgi with `HTTPS` environment variable
+>   undefined
+> * ikiwiki.cgi thinks "I'm being accessed via plain http" (this time incorrectly!)
+> * ikiwiki.cgi sends a redirect to https://example.com/ikiwiki.cgi
+> * goto {1}
+>
+> I think this redirection is better achieved via web server configuration, like
+> the Apache configuration set up by `redirect_to_https: 1` in
+> [ikiwiki-hosting](https://ikiwiki-hosting.branchable.com/).
+>
+> If you change ikiwiki's behaviour in this area, please add test-cases to
+> `t/relativity.t` to cover the cases that changed.
+>
+> --[[smcv]]
diff --git a/doc/forum/Most_TMPL__95__VAR_variables_are_empty_in_a_template/comment_2_7dba0f1345260aa27d89bcd3526d5c10._comment b/doc/forum/Most_TMPL__95__VAR_variables_are_empty_in_a_template/comment_2_7dba0f1345260aa27d89bcd3526d5c10._comment
new file mode 100644 (file)
index 0000000..1c5590e
--- /dev/null
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="vegardv@75ae889e836bda8ce69bc038d8335c398a2f6f40"
+ nickname="vegardv"
+ avatar="http://cdn.libravatar.org/avatar/b35da1da5c23c19063f73defc0431ab0"
+ subject="Todo already exists for `basename`"
+ date="2018-01-10T08:54:27Z"
+ content="""
+https://ikiwiki.info/todo/Add_basename_in_edittemplate/
+"""]]
diff --git a/doc/forum/Some_thoughts_about_Ikiwiki.mdwn b/doc/forum/Some_thoughts_about_Ikiwiki.mdwn
new file mode 100644 (file)
index 0000000..a204bf5
--- /dev/null
@@ -0,0 +1,20 @@
+*Note : In this post, I only consider Ikiwiki as a static site compiler, not a wiki engine.*
+
+I have been using Ikiwiki for some years, writing [[several packages|spalax]], making some small contributions, and I somehow have the feeling that IkiWiki is getting old (maybe it has some technological debt). Among the things I am missing is:
+
+* it is written in Perl, and I don't know Perl;
+* I think it could benefit from using OOP (object oriented programming);
+* the template system is very very limited (compared to some modern template engines, like [Jinja2](http://jinja.pocoo.org/) or [Django](https://docs.djangoproject.com/en/2.0/topics/templates/)).
+
+So I looked at other static site generators (only in Python, because it is the only programming language I master). My thought was: since Ikiwiki is old (as [Joeyh said](https://joeyh.name/blog/entry/twenty_years_of_free_software_--_part_1_ikiwiki/): *it was a static site generator before we knew what those were. It wasn't the first, but it broke plenty of new ground*), modern static site generators should be as good as Ikiwiki, with some design mistakes fixed, right? I was wrong.
+
+Here are a few things that Ikiwiki does well, that other tools miss (and I might be biaised, but do no think that my opinion about it is an aversion to change: I do think Ikiwiki does it better).
+
+* The other tools I tried use separate pages from images from data (each one is in its own tree directory structure). There are workarounds, but [they might have caveats](https://github.com/getnikola/nikola/issues/2266#issuecomment-365922299). This might be linked to the next point:
+* [[Wikilinks|ikiwiki/wikilink]] are great! I did not like them at first (I feared that if a page `foo` was linked to `bar`, this link might be broken later if another page `bar` was created, with a higher precedence than the original one). But I ended up liking it.
+* The way other tools can be extended seems not clean: I do not want to write complex stuff or have to use regexp to match my new directive (or wathever it is called). Ikiwiki [[directive|ikiwiki/directive]] are great: writing a new directive is both very simple and very effective.
+* Ikiwiki documentation is great (for other tools I tried, it is acceptable for using the static site, but poor for extending it).
+
+Well, this post was meant to congratulate [[joey]] and every ikiwiki contributors: its design is great (I already used "great" a few times, sorry for my poor vocabulary). What next? I can hope that every single user and contributor of ikiwiki decide to rewrite it in Python3 (to keep the great ideas, integrate some more modern tools, and avoid a fork), or, to be more realistic, I could go back in time to convince/bribe/coerce Joey to write it in Python (which would not solve everything, but would make it easier for me to contribute). A more serious path would be to have a look at [staticsite](https://github.com/spanezz/staticsite/) which is written by Enrico Zini, who seems to want the same thing I want: a "more modern" ikiwiki.
+
+-- Louis
diff --git a/doc/forum/Some_thoughts_about_Ikiwiki/comment_1_db32786dd1c1022cec983a12a30b2b17._comment b/doc/forum/Some_thoughts_about_Ikiwiki/comment_1_db32786dd1c1022cec983a12a30b2b17._comment
new file mode 100644 (file)
index 0000000..524ca09
--- /dev/null
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="jon+ikiwiki@663db4cb26e845748f3e7e6d51eeb26c6014f1c3"
+ nickname="jon+ikiwiki"
+ avatar="http://cdn.libravatar.org/avatar/2a3bcb34947fceef61560bd8a2931957"
+ subject="comment 1"
+ date="2018-02-22T16:30:42Z"
+ content="""
+I have basically been on a similar journey recently. Honestly I would like to move on from IkiWiki myself, and I agree with most of your first points (except the OOP one, which I think is a red herring). I haven't done a deep evaluation of other static site generators, just a shallow one; but I haven't looked at only Python. But results across other languages are much the same. A few core concepts in IkiWiki are very *right*, IMHO: the pagespec/wikilink rules amongst them. -- [[Jon]]
+"""]]
index 6fc28e75ed1ce7be7497e5a0b2bd5b9caa1825f2..03cd4e6b3fdd3a4b8a9407e0deb7e34805ee325c 100644 (file)
@@ -32,3 +32,7 @@ It does show a clickable question mark for ikiwiki.cgi?page=utah-2006-100-180.pn
 I have a local copy of the [[rcs/Git]] page.  After installing the `imagemagick-perl` package some of the elements display and others are missing including the page outlines with turned corners and all of the yellow folders.  Ideas?
 
 -- [[RonParker]]
+
+# Percentage size
+
+Would like an image to occupy 50% of the page width. Is this available? With what syntax? --[[svetlana]]
index 0122e489c3108a0c570619d94a02e6bf05548fbd..e0e40165673a71f5d906a349157e4d7426d6f489 100644 (file)
@@ -1,3 +1,5 @@
+[[!template id=links]]
+
 Ikiwiki is a **wiki compiler**. It converts wiki pages into HTML pages
 suitable for publishing on a website. Ikiwiki stores pages and history in a
 [[revision_control_system|rcs]] such as [[Subversion|rcs/svn]] or [[rcs/Git]].
diff --git a/doc/news/version_3.20161229.1.mdwn b/doc/news/version_3.20161229.1.mdwn
deleted file mode 100644 (file)
index a09a3b2..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-ikiwiki 3.20161229.1 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * git: Attribute reverts to the user doing the revert, not the wiki
-     itself.
-   * git: Do not disable the commit hook while preparing a revert."""]]
\ No newline at end of file
diff --git a/doc/news/version_3.20180105.mdwn b/doc/news/version_3.20180105.mdwn
new file mode 100644 (file)
index 0000000..2082db8
--- /dev/null
@@ -0,0 +1,12 @@
+ikiwiki 3.20180105 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * emailauth: Fix cookie problem when user is on https and the cgiurl
+     uses http, by making the emailed login link use https.
+   * passwordauth: Use https for emailed password reset link when user
+     is on https.
+   * Remove openid provider icons from login selector, since openid providers
+     are increasingly not working. Verisign retired theirs, and aol and
+     yahoo/flickr are not commonly used for openid. Any users who still
+     clicked those icons to login will need to instead enter their openid url.
+   * Updated German basewiki and directives translation from
+     Sebastian Kuhnert."""]]
\ No newline at end of file
diff --git a/doc/plugins/rename/discussion.mdwn b/doc/plugins/rename/discussion.mdwn
new file mode 100644 (file)
index 0000000..8412f05
--- /dev/null
@@ -0,0 +1,15 @@
+# Bug with attachments in parent directory
+
+1. Create page '/foo', attach file baz2.png (it will be 'foo/baz2.png')
+1. Create '/foo/bar' page with '[[baz2.png]]' contents, this works and shows the image
+1. Rename /foo/bar to /iliketrains/bar
+
+Expected result, updated link inside of the page from 'baz2.png' to a relative or absolute path that works.
+
+Actual result, the link inside of the page is not updated. It stays a broken link.
+
+--[[svetlana]]
+
+# Can not rename individual attachments files
+
+It looks like I can not rename/move individual attachments files (those that are not pages) using the web interface. I need to do this on the fs. Perhaps that's intended but I am not sure. --[[svetlana]]
index dfd749252280561639bfdd4c3087fdc6b84cd15a..ad6b8d6ff9bc326573a6653db167c6e9d3810e41 100644 (file)
@@ -29,3 +29,8 @@ See [[todo/auto-create tag pages according to a template]]
 -- Jeremy Schultz <jeremy.schultz@uleth.ca>
 
 `tag_autocreate` can now enable this. --[[Joey]] 
+
+
+# Auto-remove tag pages?
+
+When zero pages are tagged with a particular tag, its page could be auto-removed. Would that make sense? Doesn't look like this is already implemented. --[[user/svetlana]]
index 191004dc3cfd80a888b3db772ff1d4d131bd481f..7b5b1d7d069448d49c42db8196797cec31580de6 100644 (file)
@@ -20,3 +20,5 @@ Other conversations:
 >> on line 247.  --[[simonraven]]
 
 >>> Well, I re-figured out that I needed a TMPL_VAR FOO in the template(s). --[[simonraven]]
+
+<https://code.google.com/archive/p/pagedown/> is 404, <https://github.com/edrohler/pagedown-core> claims to be its copy but it does not have 'wmd' directory inside. What are the current steps to follow here? --[[svetlana]]
index 492418b5aee639287da3f2f94d9f4a54fe746772..40f01aa510bc2dc0ed6e38c41fa63dde2203b7c2 100644 (file)
@@ -6,105 +6,8 @@ The converter was originally written by [[JoshTriplett]] and included support fo
 
 The MoinMoin side of things was completely re-written by [[anarcat]] and is currently still in development. That version is available at:
 
-    git clone git://git.koumbit.net/moin2iki.git
+    git clone https://gitlab.com/anarcat/moin2iki/
 
 It doesn't feature support to migrate from Tikiwiki anymore and focuses on MoinMoin support.
 
-Issues can be filed in the redmine bugtracker: <https://redmine.koumbit.net/projects/moin2iki>
-
-[[!toc levels=2]]
-
-## Usage
-
-Usage instructions are in the `README` file.
-
-## MoinMoin importer features
-
- * supports latest MoinMoin versions (tested with 1.9.x)
- * uses `git fast-import` to improve performance (10 minutes and 200M of ram for a 7 years old 2GB Moinmoin wiki)
- * multistep process allows bulk edit through git before markdown conversion, or staying with a 
- * imports attachments as subpages
- * uses the per-page edit log
- * consistent: multiple runs will generate the same repository
- * re-entrant: can be run multiple times to import new changes
-
-## MoinMoin converter features
-
- * most of the inline markup
- * links
- * attachment links
- * smileys
- * images (not well tested), into [[ikiwiki/directive/img]]
- * preformatted and code areas, including [[ikiwiki/directive/format]]
- * ordered, unordered and definition lists
- * tables (although only with HTML and no styles)
-
-### Supported macros
-
- * TableOfContents, through [[ikiwiki/directive/toc]]
- * Navigation, through [[ikiwiki/directive/map]] (so as a nested
-   vertical list instead of an horizontal list)
- * PageList, through [[ikiwiki/directive/map]]
- * MonthCalendar, partially, through [[ikiwiki/directive/calendar]]
- * FootNote, through multimarkdown (`[^foo]` → `[^foo]: this is the footnote`)
- * Anchor, through markdown and plain HTML
- * `<<BR>>`, through the weird line ending thing
- * AttachList, through a weird [[ikiwiki/directive/inline]]
- * FullSearch, partially, only through [[ikiwiki/directive/inline]] (so no textual search)
- * Include, partially through [[ikiwiki/directive/inline]] (so missing boundary extraction and heading level generation)
- * PageCount, same name even :)
- * OrphanedPages, through [[ikiwiki/directive/orphans]]
- * Date and Datetime, should be through [[plugins/date]] instead of
-   current hack
-
-### Supported parsers
-
- * the main "moin wiki" markup
- * highlight parser, through the [[plugins/format]] plugin
- * other parsers may be supported if an equivalent plugin exists in Ikiwiki (example: [[plugins/rst]])
-
-## Current blocker
-
-This script is being used to test the conversion of the venerable [Koumbit wiki](https://wiki.koumbit.net/) into Ikiwiki, and so far progress is steady but difficult. The current blocker is:
-
- * figuring out exactly which pages should exist and which should not, as there is ambiguity in the internal datastructures of MoinMoin, which become apparent when running the conversion script, as files a missing
-
-## Todos
-
-There are also significant pieces missing:
-
- * inline parsers and hackish styled tables
- * turn categories into tags
- * name converted page to the right name depending on the `#format` parameter on top of page
- * finish a full converter run on the Koumbitwiki
- * improve the output of the converter (too much debugging)
-
-## MoinMoin features missing from ikiwiki
-
-The importer is pretty much complete, but the converter can only go so far as what features ikiwiki supports. Here are the MoinMoin features that are known to be missing from ikiwiki. Note that some of those features are available in MoinMoin only through third-party extensions.
-
- * [[todo/do_not_make_links_backwards/]] - MoinMoin and Creole use `\[[link|text]]`, while ikiwiki uses `\[[text|link]]` - for now the converter generates [[markdown]] links so this is not so much an issue, but will freak out users
- * [[todo/internal_definition_list_support/]] - includes tabling the results ([MoinMoin's DictColumns macro](http://moinmo.in/MacroMarket/DictColumns))
- * [[todo/per page ACLs]] - ([MoinMoin's ACLs](http://moinmo.in/HelpOnAccessControlLists))
- * [MailTo](http://moinmo.in/HelpOnMacros/MailTo) macro spam protection
- * list pages based on full text page search
- * extract part of other pages with the inline macro
- * specifying a template when creating a page (as opposed to matching a pagespec)
- * specifying a style for a sub-section (MoinMoin's inline parsers
-   allow the user to specify a CSS class - very useful see
-   [the documentation](http://moinmo.in/HelpOnMoinWikiSyntax#Using_the_wiki_parser_with_css_classes)
-   to get an idea)
- * the above also keeps the SectionParser from being properly supported
- * regex matching all over the place: pagespec, basically, but all
-   full text search (which is missing anyways, see above)
-
-### Missing macros
-
- * RandomPage(N) - lists N random pages, skipped
- * Gallery() - skipped
- * Gettext - translates the string accordign to internal translation
-   system, ignored
- * AdvancedSearch - an elaborate search form provided by MoinMoin
- * Goto - a simple "jump to page" macro
-
-Comments and feedback always welcome! --[[anarcat]]
+Issues can be filed on the [project page](https://gitlab.com/anarcat/moin2iki/), where more information about features, installation and usage is available as well. -- [[anarcat]]
index 0c67e606ce2a65a3b5205134f4580eefc70108c6..2999573ac1b15a66afba0246512a3cfa5da6fe8a 100644 (file)
@@ -207,7 +207,7 @@ The best way to do it is:
 
 * Install [[!cpan Devel::NYTProf]]
 * `PERL5OPT=-d:NYTProf`
-* `export PER5OPT`
+* `export PERL5OPT`
 * Now run ikiwiki as usual, and it will generate a `nytprof.out` file.
 * Run `nytprofhtml` to generate html files.
 * Those can be examined to see what parts of ikiwiki are being slow.
diff --git a/doc/tips/optimising_ikiwiki/discussion.mdwn b/doc/tips/optimising_ikiwiki/discussion.mdwn
new file mode 100644 (file)
index 0000000..f8c01fe
--- /dev/null
@@ -0,0 +1,22 @@
+# Profile data incomplete
+
+Following the steps "Install Devel::NYTProf. PERL5OPT=-d:NYTProf. export PER5OPT. Now run ikiwiki as usual, and it will generate a nytprof.out file. Run nytprofhtml to generate html files.", get the following error message:
+
+    [svetlana /home/private/wiki]$ PERL5OPT=-d:NYTProf
+    [svetlana /home/private/wiki]$ export PER5OPT
+    [svetlana /home/private/wiki]$ ikiwiki --setup ikiwiki.setup 
+    skipping bad filename free/To-dos.mdwn~
+    [svetlana /home/private/wiki]$ nytprofhtml
+    Reading nytprof.out
+    Profile data incomplete, inflate error -5 ((null)) at end of input file, perhaps the process didn't exit cleanly or the
+     file has been truncated  (refer to TROUBLESHOOTING in the documentation)
+    [svetlana /home/private/wiki]$ 
+
+Typing "export NYTPROF=sigexit=int,hup,pipe,bus,segv,term" and repeating ikiwiki and nytprofhtml commands has no effect.
+
+What do I do now? Where is the TROUBLESHOOTING file located? --[[users/svetlana]]
+
+
+Found <https://metacpan.org/pod/Devel::NYTProf#%22Profile-data-incomplete,-...%22-or-%22Profile-format-error:-...%22>, however, "export NYTPROF=sigexit=1" does not help either. Running "unset PER5OPT" before running nytprofhtml does not help either as well. That leaves this problem unsolved still. --[[users/svetlana]] Fri Feb  2 08:03:13 2018
+
+Fixed by exporting "PERL5OPT" rather than "PER5OPT"; fixing typo in documentation... --[[users/svetlana]]
index 20b59cb13f396566a4d33f7fa21c203caacbdec0..69b15a187eecce8a4db76bd424e9cd72b09b544e 100644 (file)
@@ -40,3 +40,8 @@ much more maintainable htaccess file.
 
 >>>>> If you use the httpauth and the cgiauthurl method, you can restrict a path 
 >>>>> like /private/* to be accessible only under the authenticated request uri.
+
+>>>>>> Note that if editing is enabled, then you should set the restriction in
+>>>>>> [[plugins/lockedit]]'s locked_pages too
+>>>>>> or they may be able to view pages by editing the page= value in the editor's
+>>>>>> query string. --[mjr](http://mjr.towers.org.uk/)
diff --git a/doc/todo/consider_using_python3_for_rst_plugin.mdwn b/doc/todo/consider_using_python3_for_rst_plugin.mdwn
new file mode 100644 (file)
index 0000000..741c78d
--- /dev/null
@@ -0,0 +1,27 @@
+Python 2 is officially unsupported after 2020, which is before the expected end-of-life
+date of the next round of long-term-stable distributions like Debian 10 and Ubuntu 18.04,
+so those distributions are encouraging all software that can migrate to Python 3 to do so.
+
+The down side of this is that it would make it harder to use the `rst` plugin on
+very old OS releases, or on OSs where Python 3 is available but doesn't have a `python3`
+symbolic link (if such OSs exist - [PEP 394](https://www.python.org/dev/peps/pep-0394/)
+says they shouldn't), or in shared hosting environments where Python 2 is installed but
+Python 3 isn't. (Mitigation: switching it to `python` or `python2` is a 1-line change.)
+
+For today's upload to Debian, I switched the `#!` line in the [[plugins/rst]] plugin
+to `#!/usr/bin/python3`. In upstream ikiwiki it would probably be more appropriate
+to use `#!/usr/bin/env python3`, and it would certainly be more appropriate to do it
+by changing the source rather than by using `sed` after installation. I didn't apply that
+change upstream immediately to give other maintainers a chance to comment. Thoughts?
+
+--[[smcv]]
+
+> I can attest as a pkgsrc developer, where we try to build and package
+> software on all sorts of platforms (some old and wacky), that as long
+> as the relevant Pythons build on those platforms (and we tend to make
+> sure they do), I don't foresee any negative impact of your suggested
+> change to ikiwiki. Can't attest for other situations, but am generally
+> biased toward biting future bullets as early as possible.
+> --[[schmonz]]
+
+>> Nobody objected, so it's now python3 for the next release. [[done]] --[[smcv]]
index 4b3e5f7668e45e1f3fd55c36cb70db10631374a4..7e38f760063779d72ab2612a875edba4e11b592b 100644 (file)
@@ -1,5 +1,7 @@
 One of the goals of using a static site generator like ikiwiki, for me, is not only future-proofing and portability, but also performance. By having a small set of HTML pages with a minimal theme, we can deliver raw content much faster than a traditional CMS. This does not, however, keep us from doing optimizations that those same CMS must do in order to deliver good page performance.
 
+> For the CSS case, this was already proposed at [[todo/concatenating or compiling CSS]] --[[smcv]]
+
 Take, for example, this [performance report of the main ikiwiki site](https://gtmetrix.com/reports/ikiwiki.info/rwUIfK6d). For a very minimal site, it is still making 8 requests and taking ~700ms to load. That's quite fast, but it could probably be cut down to 400ms if CSS and JS were aggregated. If you look at [my homepage](https://gtmetrix.com/reports/anarc.at/uAkMmZaT) the results are worse, because I have larger JS and CSS files: the impact is therefore much bigger and we're looking at 2000ms load times. (Obviously, part of the problem here is the slowness of the uplink here, but one could argue the same problem would occur for downstream users that have a slower connexion.)
 
 One of the recommendations "YSlow" is giving is "Make fewer HTTP requests":
index 6fca6dc1db28da5166715fae44fa532a63cc9384..9d309e0ddb53a5824acb3eec0a8e77e201af07f2 100644 (file)
@@ -1,7 +1,8 @@
 I speak English and Russian. I use ikiwiki at [my personal site](http://svetlana.nfshost.com).
 
-I also help a few software projects localize their documentation -- [vy](http://vy.branchable.com) and [guppy](http://guppy.branchable.com).
+I also help a few software projects localize their documentation -- [guppy](http://guppy.branchable.com/index.en.html).
 
 I enjoy ikiwiki.
 
 I am testing the po and osm plugins.
+
index 43897ff14ace0affb256b9e12c2e3b0429e87021..db7f1693a0558ae8e577fc859257a2fcad0480ab 100644 (file)
@@ -1,5 +1,5 @@
 Name:           ikiwiki
-Version: 3.20171002
+Version: 3.20180228
 Release:        1%{?dist}
 Summary:        A wiki compiler
 
index b61eb466c8d47ef839fc24e5d0ba54be3a9b23fa..2a6222aa05ed718f2814d23f83c4aeef690b0498 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 #
 # proxy.py — helper for Python-based external (xml-rpc) ikiwiki plugins
index 5e031805be260e8409c0fa81ffdc0ec3795216e0..213e9bb27c910dc8d459221e7eccc1a0b3ef9b1a 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 #
 # pythondemo — demo Python ikiwiki plugin
index ba0f543f9244a04a10bc8b35b926cc0f30743e19..08eb54f85d33392ff33d78eed915ba9e6993ae24 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 #
 # rst — xml-rpc-based ikiwiki plugin to process RST files
index dca3d1d7ff3f0acb87160679163e06d972beb4a2..4d6ef0fb0094b833efd9bb1792db5be3765dd970 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki-bg\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2007-01-12 01:19+0200\n"
 "Last-Translator: Damyan Ivanov <dam@modsodtsys.com>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -55,7 +55,7 @@ msgstr "Предпочитанията са запазени."
 msgid "You are banned."
 msgstr "Достъпът ви е забранен."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Грешка"
 
@@ -430,7 +430,7 @@ msgstr "грешка при четене на „%s”: %s"
 msgid "%s is an attachment, not a page."
 msgstr ""
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr ""
@@ -492,43 +492,48 @@ msgstr "няма разпознати усмивки; изключване на
 msgid "Unable to detect image type from extension"
 msgstr "грешка при запис на файла „%s”: %s"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, fuzzy, perl-format
 msgid "failed to read %s: %s"
 msgstr "грешка при запис на файла „%s”: %s"
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "грешка при запис на файла „%s”: %s"
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "„%s” не е изпълним файл"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 #, fuzzy
 msgid "Image::Magick is not installed"
 msgstr "не е инсталиран polygen"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "грешка при запис на файла „%s”: %s"
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, fuzzy, perl-format
 msgid "failed to resize: %s"
 msgstr "грешка при запис на файла „%s”: %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, fuzzy, perl-format
 msgid "failed to determine size of image %s"
 msgstr "грешка при запис на файла „%s”: %s"
@@ -609,7 +614,7 @@ msgstr ""
 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1409,31 +1414,31 @@ msgstr ""
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr "открита е циклична завидимост при %s на „%s” на дълбочина %i"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, fuzzy, perl-format
 msgid "bad file name %s"
 msgstr "пропускане на невалидното име на файл „%s”"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "шаблонът „%s” не е намерен"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr ""
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, fuzzy, perl-format
 msgid "invalid sort type %s"
 msgstr "непознат вид сортиране „%s”"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "непознат вид сортиране „%s”"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, fuzzy, perl-format
 msgid "cannot match pages: %s"
 msgstr "грешка при четене на „%s”: %s"
index e603e721aadbf1b9a70e88774b9141951ee7dea1..8781061a2aa2d62038321d367d8eddbaf63094df 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2009-09-11 20:23+0200\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@@ -55,7 +55,7 @@ msgstr "Nastavení uloženo."
 msgid "You are banned."
 msgstr "Jste vyhoštěni."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Chyba"
 
@@ -429,7 +429,7 @@ msgstr "není stránkou"
 msgid "%s is an attachment, not a page."
 msgstr "%s není ani příloha, ani stránka."
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr "nejste oprávněni měnit %s"
@@ -490,42 +490,47 @@ msgstr "htmltidy se nepodařilo zpracovat toto html"
 msgid "Unable to detect image type from extension"
 msgstr "z kódu se nepodařilo vygenerovat obrázek"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, perl-format
 msgid "failed to read %s: %s"
 msgstr "nelze číst %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "nelze určit velikost obrázku %s"
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "%s není spustitelný soubor"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 msgid "Image::Magick is not installed"
 msgstr "Image::Magick není nainstalován"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "nelze určit velikost obrázku %s"
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr "chybné rozměry „%s“ (formát má být ŠxV)"
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, perl-format
 msgid "failed to resize: %s"
 msgstr "nelze změnit velikost: %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, perl-format
 msgid "failed to determine size of image %s"
 msgstr "nelze určit velikost obrázku %s"
@@ -600,7 +605,7 @@ msgstr ""
 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr "je povolen multimarkdown, ale Text::MultiMarkdown není nainstalován"
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1401,31 +1406,31 @@ msgstr "nepodařilo se nahrát externí modul vyžadovaný modulem %s: %s"
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr "Byla rozpoznána smyčka na %s v hloubce %i"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, perl-format
 msgid "bad file name %s"
 msgstr "chybné jméno souboru %s"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "šablona %s nebyla nalezena"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr "ano"
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, fuzzy, perl-format
 msgid "invalid sort type %s"
 msgstr "neznámý typ řazení %s"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "neznámý typ řazení %s"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, perl-format
 msgid "cannot match pages: %s"
 msgstr "nelze vybrat stránky: %s"
index dbe04f96432df63c348898d1a21db047316ac6f5..1e635b536d6a15d968a17101b3aa1e37eea18607 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki 3.20110430\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2011-05-05 13:30+0200\n"
 "Last-Translator: Jonas Smedegaard <dr@jones.dk>\n"
 "Language-Team: None\n"
@@ -59,7 +59,7 @@ msgstr "Indstillinger gemt"
 msgid "You are banned."
 msgstr "Du er banlyst."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Fejl"
 
@@ -429,7 +429,7 @@ msgstr "ikke en side"
 msgid "%s is an attachment, not a page."
 msgstr "%s er en vedhæftning, ikke en side."
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr "Du har ikke lov til at ændre %s"
@@ -491,42 +491,47 @@ msgstr "htmltidy kunne ikke afkode dette html"
 msgid "Unable to detect image type from extension"
 msgstr "billedopbygning fra kode mislykkedes"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, perl-format
 msgid "failed to read %s: %s"
 msgstr "læsning af %s mislykkedes: %s"
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "Vurdering af billedstørrelse mislykkedes: %s"
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "%s ser ikke ud til at kunne afvikles"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 msgid "Image::Magick is not installed"
 msgstr "Image::Magick ikke installeret"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "Vurdering af billedstørrelse mislykkedes: %s"
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr "forkert størrelsesformat \"%s\" (burde være WxH)"
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, perl-format
 msgid "failed to resize: %s"
 msgstr "Ændring af størrelse mislykkedes: %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, perl-format
 msgid "failed to determine size of image %s"
 msgstr "Vurdering af billedstørrelse mislykkedes: %s"
@@ -602,7 +607,7 @@ msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr ""
 "multimarkdown er aktiveret, men Text::MultiMarkdown er ikke installeret"
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1403,31 +1408,31 @@ msgstr ""
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr "forudberegningssløkke fundet på %s ved dybde %i"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, perl-format
 msgid "bad file name %s"
 msgstr "dårligt filnavn %s"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "skabelon %s ikke fundet"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr "ja"
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, perl-format
 msgid "invalid sort type %s"
 msgstr "forkert sorteringstype %s"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "ukendt sorteringsform %s"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, perl-format
 msgid "cannot match pages: %s"
 msgstr "kan ikke få sider til at passe sammen: %s"
index a023c52f9300046835445879b1076f8edf0d6ada..8f94c6c85090c037d696859ec6465e18dab42db5 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki 3.14159\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2010-03-14 16:09+0530\n"
 "Last-Translator: Sebastian Kuhnert <mail@sebastian-kuhnert.de>\n"
 "Language-Team: German <debian-l10n-german@lists.debian.org>\n"
@@ -55,7 +55,7 @@ msgstr "Einstellungen gespeichert."
 msgid "You are banned."
 msgstr "Sie sind ausgeschlossen worden."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Fehler"
 
@@ -430,7 +430,7 @@ msgstr "Keine Seite"
 msgid "%s is an attachment, not a page."
 msgstr "Seite %s ist ein Anhang und keine Seite."
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr "Sie dürfen %s nicht verändern"
@@ -493,42 +493,47 @@ msgstr "htmltidy konnte dieses HTML nicht auswerten"
 msgid "Unable to detect image type from extension"
 msgstr "konnte kein Bild aus dem Code erzeugen"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, perl-format
 msgid "failed to read %s: %s"
 msgstr "Lesen von %s fehlgeschlagen: %s"
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "Größe des Bildes %s konnte nicht festgestellt werden."
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "%s scheint nicht ausführbar zu sein"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 msgid "Image::Magick is not installed"
 msgstr "Image::Magick ist nicht installiert"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "Größe des Bildes %s konnte nicht festgestellt werden."
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr "falsches Format in \"%s\" für size (sollte BxH sein)"
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, perl-format
 msgid "failed to resize: %s"
 msgstr "Größenänderung fehlgeschlagen: %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, perl-format
 msgid "failed to determine size of image %s"
 msgstr "Größe des Bildes %s konnte nicht festgestellt werden."
@@ -607,7 +612,7 @@ msgstr ""
 "multimarkdown ist eingeschaltet, aber Text::MultiMarkdown ist nicht "
 "installiert"
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1423,31 +1428,31 @@ msgstr "Laden der für %s benötigten externen Erweiterung fehlgeschlagen: %s"
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr "Präprozessorschleife auf %s in Tiefe %i erkannt"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, perl-format
 msgid "bad file name %s"
 msgstr "fehlerhafter Dateiname %s"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "Vorlage %s nicht gefunden"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr "ja"
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, fuzzy, perl-format
 msgid "invalid sort type %s"
 msgstr "Unbekannter Sortierungstyp %s"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "Unbekannter Sortierungstyp %s"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, perl-format
 msgid "cannot match pages: %s"
 msgstr "Kann die Seiten nicht zuordnen: %s"
index 9c3cae03e7edd0c83f9df4d9cda733f17714c7d9..09493d94755e137c7b72d5413b94410ba90dc467 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: es\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2009-06-14 12:32+0200\n"
 "Last-Translator: Victor Moral <victor@taquiones.net>\n"
 "Language-Team:  <en@li.org>\n"
@@ -59,7 +59,7 @@ msgstr "Las preferencias se han guardado."
 msgid "You are banned."
 msgstr "Ha sido expulsado."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Error"
 
@@ -438,7 +438,7 @@ msgstr "no encuentro páginas coincidentes: %s"
 msgid "%s is an attachment, not a page."
 msgstr "la página %s no es modificable"
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr "No puede cambiar %s"
@@ -502,42 +502,47 @@ msgstr "Algunos emoticonos tienen errores"
 msgid "Unable to detect image type from extension"
 msgstr "no he podido crear la imagen desde el código"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, perl-format
 msgid "failed to read %s: %s"
 msgstr "no puedo leer de %s: %s "
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "no he podido determinar el tamaño de la imagen %s"
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "el programa %s no parece ser ejecutable"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 msgid "Image::Magick is not installed"
 msgstr "El complemento Image::Magick no ha sido instalado"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "no he podido determinar el tamaño de la imagen %s"
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, perl-format
 msgid "failed to resize: %s"
 msgstr "dimensionamiento fallido: %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, perl-format
 msgid "failed to determine size of image %s"
 msgstr "no he podido determinar el tamaño de la imagen %s"
@@ -615,7 +620,7 @@ msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr ""
 "el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown"
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1429,31 +1434,31 @@ msgstr ""
 "se ha detectado en la página %s un bucle de preprocesado en la iteración "
 "número %i"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, perl-format
 msgid "bad file name %s"
 msgstr "el nombre de archivo %s es erróneo"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "no he encontrado la plantilla %s"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr "si"
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, fuzzy, perl-format
 msgid "invalid sort type %s"
 msgstr "no conozco este tipo de ordenación %s"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "no conozco este tipo de ordenación %s"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, perl-format
 msgid "cannot match pages: %s"
 msgstr "no encuentro páginas coincidentes: %s"
index e9ebc219b3c97e6efb7164e5f33f5ec04f770f08..5fbd1505d721650392e634b694e1fe96da82a3d2 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki 3.141\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2010-10-03 10:42+0200\n"
 "Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -57,7 +57,7 @@ msgstr "Les préférences ont été enregistrées."
 msgid "You are banned."
 msgstr "Vous avez été banni."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Erreur"
 
@@ -427,7 +427,7 @@ msgstr "Ce n'est pas une page."
 msgid "%s is an attachment, not a page."
 msgstr "%s est une pièce jointe, pas une page."
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr "Vous n'êtes pas autorisé à modifier %s"
@@ -490,42 +490,47 @@ msgstr "htmltidy n'a pas pu analyser cette page html"
 msgid "Unable to detect image type from extension"
 msgstr "Échec de la création de l'image à partir du code"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, perl-format
 msgid "failed to read %s: %s"
 msgstr "Échec de la lecture de %s : %s"
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "Échec de la détermination de la taille de l'image : %s"
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "%s ne semble pas être exécutable"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 msgid "Image::Magick is not installed"
 msgstr "Image::Magick n'est pas installé"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "Échec de la détermination de la taille de l'image : %s"
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr "Format de la taille incorrect \"%s\", (devrait être LxH)"
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, perl-format
 msgid "failed to resize: %s"
 msgstr "Échec du redimensionnement : %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, perl-format
 msgid "failed to determine size of image %s"
 msgstr "Échec de la détermination de la taille de l'image : %s"
@@ -602,7 +607,7 @@ msgstr ""
 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr "mulitmarkdown est activé mais Text::Multimarkdown n'est pas installé"
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1419,31 +1424,31 @@ msgstr "Impossible de charger le greffon externe nécessaire au greffon %s : %s
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr "Une boucle de prétraitement a été détectée sur %s à hauteur de %i"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, perl-format
 msgid "bad file name %s"
 msgstr "Nom de fichier incorrect %s"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "Modèle de page %s introuvable"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr "oui"
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, perl-format
 msgid "invalid sort type %s"
 msgstr "Type de tri %s inconnu"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "Type de tri %s inconnu"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, perl-format
 msgid "cannot match pages: %s"
 msgstr "Impossible de trouver les pages : %s"
index 960c606feda0e3b8ba85b2af25595daf60571972..f02e783a4262e7ab346f77239db38df1e2b87ad2 100644 (file)
--- a/po/gu.po
+++ b/po/gu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki-gu\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2007-01-11 16:05+0530\n"
 "Last-Translator: Kartik Mistry <kartik.mistry@gmail.com>\n"
 "Language-Team: Gujarati <team@utkarsh.org>\n"
@@ -54,7 +54,7 @@ msgstr "પ્રાથમિકતાઓ સંગ્રહાઇ."
 msgid "You are banned."
 msgstr "તમારા પર પ્રતિબંધ છે."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "ક્ષતિ"
 
@@ -429,7 +429,7 @@ msgstr "વાંચી શકાતી નથી %s: %s"
 msgid "%s is an attachment, not a page."
 msgstr "%s એ સુધારી શકાય તેવું પાનું નથી"
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr ""
@@ -490,43 +490,48 @@ msgstr "કોઇપણ સ્માઇલીઓ ઉકેલવામાં ન
 msgid "Unable to detect image type from extension"
 msgstr "માપ બદલવામાં નિષ્ફળ: %s"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, perl-format
 msgid "failed to read %s: %s"
 msgstr "%s વાંચવામાં નિષ્ફળ: %s"
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "માપ બદલવામાં નિષ્ફળ: %s"
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "%s એ ચલાવી શકાય તેમ લાગતું નથી"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 #, fuzzy
 msgid "Image::Magick is not installed"
 msgstr "પોલિગોન સ્થાપિત નથી"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "માપ બદલવામાં નિષ્ફળ: %s"
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, perl-format
 msgid "failed to resize: %s"
 msgstr "માપ બદલવામાં નિષ્ફળ: %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, fuzzy, perl-format
 msgid "failed to determine size of image %s"
 msgstr "માપ બદલવામાં નિષ્ફળ: %s"
@@ -603,7 +608,7 @@ msgstr ""
 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr "Markdown.pm પર્લ મોડ્યુલ (%s) અથવા /usr/bin/markdown (%s) લાવવામાં નિષ્ફળ"
@@ -1395,31 +1400,31 @@ msgstr ""
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr "%s પર શોધાયેલ લુપ  %s પર ચલાવે છે %i ઉંડાણ પર"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, fuzzy, perl-format
 msgid "bad file name %s"
 msgstr "ખરાબ ફાઇલ નામ છોડી દે છે %s"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "ટેમ્પલેટ %s મળ્યું નહી"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr ""
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, fuzzy, perl-format
 msgid "invalid sort type %s"
 msgstr "અજાણ્યો ગોઠવણી પ્રકાર %s"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "અજાણ્યો ગોઠવણી પ્રકાર %s"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, fuzzy, perl-format
 msgid "cannot match pages: %s"
 msgstr "વાંચી શકાતી નથી %s: %s"
index 7da7fad7c3e0e5209ceef76760d4b118b8abc05b..c41df30412972d7d2d807e6569afe204a533e4cd 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:26-0400\n"
+"POT-Creation-Date: 2018-02-28 10:40+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -55,7 +55,7 @@ msgstr ""
 msgid "You are banned."
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr ""
 
@@ -421,7 +421,7 @@ msgstr ""
 msgid "%s is an attachment, not a page."
 msgstr ""
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr ""
@@ -480,42 +480,47 @@ msgstr ""
 msgid "Unable to detect image type from extension"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, perl-format
 msgid "failed to read %s: %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
 #, perl-format
-msgid "%s image processing disabled in img_allowed_formats configuration"
+msgid "failed to determine format of %s"
 msgstr ""
 
 #: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
+msgid "%s image processing disabled in img_allowed_formats configuration"
+msgstr ""
+
+#: ../IkiWiki/Plugin/img.pm:145
+#, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 msgid "Image::Magick is not installed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, perl-format
 msgid "failed to get dimensions of %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, perl-format
 msgid "failed to resize: %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, perl-format
 msgid "failed to determine size of image %s"
 msgstr ""
@@ -590,7 +595,7 @@ msgstr ""
 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1366,31 +1371,31 @@ msgstr ""
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr ""
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, perl-format
 msgid "bad file name %s"
 msgstr ""
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr ""
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr ""
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, perl-format
 msgid "invalid sort type %s"
 msgstr ""
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr ""
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, perl-format
 msgid "cannot match pages: %s"
 msgstr ""
index ae21d1a6c20169255fbac5f4d9aa60fbc6608d09..83f80ebcde2a8f3255a276d4a3440bce05a50fc9 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2009-08-16 11:01+0100\n"
 "Last-Translator: Luca Bruno <lucab@debian.org>\n"
 "Language-Team: Italian TP <tp@lists.linux.it>\n"
@@ -53,7 +53,7 @@ msgstr "Preferenze salvate."
 msgid "You are banned."
 msgstr "Avete ricevuto un ban."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Errore"
 
@@ -428,7 +428,7 @@ msgstr "non è una pagina"
 msgid "%s is an attachment, not a page."
 msgstr "%s è un allegato, non una pagina."
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr "non è permesso modificare %s"
@@ -491,42 +491,47 @@ msgstr "impossibile interpretare gli smile"
 msgid "Unable to detect image type from extension"
 msgstr "impossibile generare l'immagine dal codice"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, perl-format
 msgid "failed to read %s: %s"
 msgstr "impossibile leggere %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "impossibile determinare la dimensione dell'immagine %s"
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "%s non sembra essere eseguibile"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 msgid "Image::Magick is not installed"
 msgstr "Image::Magick non è installato"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "impossibile determinare la dimensione dell'immagine %s"
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr "Formato dimensione «%s» non valido (dovrebbe essere LxA)"
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, perl-format
 msgid "failed to resize: %s"
 msgstr "impossibile ridimensionare: %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, perl-format
 msgid "failed to determine size of image %s"
 msgstr "impossibile determinare la dimensione dell'immagine %s"
@@ -603,7 +608,7 @@ msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr ""
 "multimarkdown è stato abilitato, ma Text::MultiMarkdown non è aggiornato"
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1413,31 +1418,31 @@ msgstr "impossibile caricare il plugin esterno per il plugin %s: %s"
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr "ciclo del preprocessore individuato su %s alla profondità %i"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, perl-format
 msgid "bad file name %s"
 msgstr "nome file %s scorretto"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "modello %s non trovato"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr "sì"
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, fuzzy, perl-format
 msgid "invalid sort type %s"
 msgstr "ordinamento %s sconosciuto"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "ordinamento %s sconosciuto"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, perl-format
 msgid "cannot match pages: %s"
 msgstr "impossibile trovare pagine corrispondenti: %s"
index da67c7b49bafd23bea96906029c33fcb005ade73..b9b619ba72eb26582669d9d1d9d0f2585e034a1d 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki 1.51\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2007-04-27 22:05+0200\n"
 "Last-Translator: Pawel Tecza <ptecza@net.icm.edu.pl>\n"
 "Language-Team: Debian L10n Polish <debian-l10n-polish@lists.debian.org>\n"
@@ -55,7 +55,7 @@ msgstr "Preferencje zapisane."
 msgid "You are banned."
 msgstr "Twój dostęp został zabroniony przez administratora."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Błąd"
 
@@ -431,7 +431,7 @@ msgstr "awaria w trakcie odczytu %s: %s"
 msgid "%s is an attachment, not a page."
 msgstr "Strona %s nie może być edytowana"
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr ""
@@ -493,43 +493,48 @@ msgstr "awaria w trakcie przetwarzania emitoikonki"
 msgid "Unable to detect image type from extension"
 msgstr "awaria w trakcie zmiany rozmiaru: %s"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, fuzzy, perl-format
 msgid "failed to read %s: %s"
 msgstr "awaria w trakcie odczytu %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "awaria w trakcie zmiany rozmiaru: %s"
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "osłona %s nie jest wykonywalna"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 #, fuzzy
 msgid "Image::Magick is not installed"
 msgstr "wtyczka polygen nie jest zainstalowana"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "awaria w trakcie zmiany rozmiaru: %s"
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, fuzzy, perl-format
 msgid "failed to resize: %s"
 msgstr "awaria w trakcie zmiany rozmiaru: %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, fuzzy, perl-format
 msgid "failed to determine size of image %s"
 msgstr "awaria w trakcie zmiany rozmiaru: %s"
@@ -611,7 +616,7 @@ msgstr ""
 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1416,31 +1421,31 @@ msgstr ""
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr "polecenie preprocesora %s wykryte w %s na głębokości %i"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, fuzzy, perl-format
 msgid "bad file name %s"
 msgstr "pomijanie nieprawidłowej nazwy pliku %s"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "nieznaleziony szablon %s"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr ""
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, fuzzy, perl-format
 msgid "invalid sort type %s"
 msgstr "nieznany sposób sortowania %s"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "nieznany sposób sortowania %s"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, fuzzy, perl-format
 msgid "cannot match pages: %s"
 msgstr "awaria w trakcie odczytu %s: %s"
index 8bf85c52aaa7b9c5136bff6defa143749ffd8d52..0aa6e994c14a6dbd48b3952a357d2332d311261e 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2007-01-10 23:47+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -54,7 +54,7 @@ msgstr "Inställningar sparades."
 msgid "You are banned."
 msgstr "Du är bannlyst."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Fel"
 
@@ -429,7 +429,7 @@ msgstr "kan inte läsa %s: %s"
 msgid "%s is an attachment, not a page."
 msgstr ""
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr ""
@@ -491,43 +491,48 @@ msgstr "misslyckades med att tolka smilisar, inaktiverar instick"
 msgid "Unable to detect image type from extension"
 msgstr "misslyckades med att skriva %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, fuzzy, perl-format
 msgid "failed to read %s: %s"
 msgstr "misslyckades med att skriva %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "misslyckades med att skriva %s: %s"
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "%s verkar inte vara körbar"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 #, fuzzy
 msgid "Image::Magick is not installed"
 msgstr "polygen inte installerad"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "misslyckades med att skriva %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, fuzzy, perl-format
 msgid "failed to resize: %s"
 msgstr "misslyckades med att skriva %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, fuzzy, perl-format
 msgid "failed to determine size of image %s"
 msgstr "misslyckades med att skriva %s: %s"
@@ -605,7 +610,7 @@ msgstr ""
 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1402,31 +1407,31 @@ msgstr ""
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr "%s förbehandlingsslinga detekterades på %s, djup %i"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, fuzzy, perl-format
 msgid "bad file name %s"
 msgstr "hoppar över felaktigt filnamn %s"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "mallen %s hittades inte"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr ""
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, fuzzy, perl-format
 msgid "invalid sort type %s"
 msgstr "okänd sorteringstyp %s"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "okänd sorteringstyp %s"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, fuzzy, perl-format
 msgid "cannot match pages: %s"
 msgstr "kan inte läsa %s: %s"
index b2b09ab9cc387d11a9da5757a6839facae1ab261..59ff387328b886f98b1338f1e11eab145222b53d 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki 3.20091031\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2009-11-08 03:04+0200\n"
 "Last-Translator: Recai Oktaş <roktas@debian.org>\n"
 "Language-Team: Turkish <debian-l10n-turkish@lists.debian.org>\n"
@@ -51,7 +51,7 @@ msgstr "Tercihler kaydedildi."
 msgid "You are banned."
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Hata"
 
@@ -417,7 +417,7 @@ msgstr ""
 msgid "%s is an attachment, not a page."
 msgstr ""
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr ""
@@ -476,42 +476,47 @@ msgstr ""
 msgid "Unable to detect image type from extension"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, perl-format
 msgid "failed to read %s: %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
 #, perl-format
-msgid "%s image processing disabled in img_allowed_formats configuration"
+msgid "failed to determine format of %s"
 msgstr ""
 
 #: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
+msgid "%s image processing disabled in img_allowed_formats configuration"
+msgstr ""
+
+#: ../IkiWiki/Plugin/img.pm:145
+#, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 msgid "Image::Magick is not installed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, perl-format
 msgid "failed to get dimensions of %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, perl-format
 msgid "failed to resize: %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, perl-format
 msgid "failed to determine size of image %s"
 msgstr ""
@@ -586,7 +591,7 @@ msgstr ""
 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr ""
@@ -1365,31 +1370,31 @@ msgstr ""
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr ""
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, perl-format
 msgid "bad file name %s"
 msgstr ""
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr ""
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr ""
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, perl-format
 msgid "invalid sort type %s"
 msgstr ""
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr ""
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, perl-format
 msgid "cannot match pages: %s"
 msgstr ""
index 0cc3838932c24a8b84e3399d6b4547396df42e78..c1fa09a33625a2653972829bfacd517488c6fb0b 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-01-05 12:22-0400\n"
+"POT-Creation-Date: 2018-02-28 10:39+0000\n"
 "PO-Revision-Date: 2007-01-13 15:31+1030\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -55,7 +55,7 @@ msgstr "Tùy thích đã được lưu."
 msgid "You are banned."
 msgstr "Bạn bị cấm ra."
 
-#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1672
+#: ../IkiWiki/CGI.pm:491 ../IkiWiki/CGI.pm:492 ../IkiWiki.pm:1676
 msgid "Error"
 msgstr "Lỗi"
 
@@ -429,7 +429,7 @@ msgstr "không thể đọc %s: %s"
 msgid "%s is an attachment, not a page."
 msgstr ""
 
-#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1892
+#: ../IkiWiki/Plugin/git.pm:933 ../IkiWiki/Plugin/git.pm:997 ../IkiWiki.pm:1896
 #, perl-format
 msgid "you are not allowed to change %s"
 msgstr ""
@@ -491,43 +491,48 @@ msgstr "lỗi phân tách hình cười nào nên tắt bổ sung"
 msgid "Unable to detect image type from extension"
 msgstr "lỗi ghi %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:136
-#: ../IkiWiki/Plugin/img.pm:175 ../IkiWiki/Plugin/img.pm:223
+#: ../IkiWiki/Plugin/img.pm:104 ../IkiWiki/Plugin/img.pm:143
+#: ../IkiWiki/Plugin/img.pm:182 ../IkiWiki/Plugin/img.pm:230
 #, fuzzy, perl-format
 msgid "failed to read %s: %s"
 msgstr "lỗi ghi %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:131
+#: ../IkiWiki/Plugin/img.pm:134
+#, fuzzy, perl-format
+msgid "failed to determine format of %s"
+msgstr "lỗi ghi %s: %s"
+
+#: ../IkiWiki/Plugin/img.pm:138
 #, perl-format
 msgid "%s image processing disabled in img_allowed_formats configuration"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:138
+#: ../IkiWiki/Plugin/img.pm:145
 #, fuzzy, perl-format
 msgid "\"%s\" does not seem to be a valid %s file"
 msgstr "có vẻ là %s không phải có khả năng thực hiện"
 
-#: ../IkiWiki/Plugin/img.pm:172
+#: ../IkiWiki/Plugin/img.pm:179
 #, fuzzy
 msgid "Image::Magick is not installed"
 msgstr "chưa cài đặt polygen"
 
-#: ../IkiWiki/Plugin/img.pm:184
+#: ../IkiWiki/Plugin/img.pm:191
 #, fuzzy, perl-format
 msgid "failed to get dimensions of %s"
 msgstr "lỗi ghi %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:191
+#: ../IkiWiki/Plugin/img.pm:198
 #, perl-format
 msgid "wrong size format \"%s\" (should be WxH)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/img.pm:227
+#: ../IkiWiki/Plugin/img.pm:234
 #, fuzzy, perl-format
 msgid "failed to resize: %s"
 msgstr "lỗi ghi %s: %s"
 
-#: ../IkiWiki/Plugin/img.pm:252
+#: ../IkiWiki/Plugin/img.pm:259
 #, fuzzy, perl-format
 msgid "failed to determine size of image %s"
 msgstr "lỗi ghi %s: %s"
@@ -607,7 +612,7 @@ msgstr ""
 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/mdwn.pm:150
+#: ../IkiWiki/Plugin/mdwn.pm:175
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 msgstr "lỗi nạp mô-đun perl Markdown.pm (%s) hay « /usr/bin/markdown » (%s)"
@@ -1403,31 +1408,31 @@ msgstr ""
 msgid "preprocessing loop detected on %s at depth %i"
 msgstr "vòng lặp tiền xử lý %s được phát hiện trên %s ở độ sâu %i"
 
-#: ../IkiWiki.pm:1848
+#: ../IkiWiki.pm:1852
 #, fuzzy, perl-format
 msgid "bad file name %s"
 msgstr "đang bỏ qua tên tập tin sai %s"
 
-#: ../IkiWiki.pm:2161
+#: ../IkiWiki.pm:2165
 #, perl-format
 msgid "template %s not found"
 msgstr "không tìm thấy mẫu %s"
 
-#: ../IkiWiki.pm:2419
+#: ../IkiWiki.pm:2423
 msgid "yes"
 msgstr ""
 
-#: ../IkiWiki.pm:2504
+#: ../IkiWiki.pm:2508
 #, fuzzy, perl-format
 msgid "invalid sort type %s"
 msgstr "kiểu sắp xếp không rõ %s"
 
-#: ../IkiWiki.pm:2525
+#: ../IkiWiki.pm:2529
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "kiểu sắp xếp không rõ %s"
 
-#: ../IkiWiki.pm:2674
+#: ../IkiWiki.pm:2678
 #, fuzzy, perl-format
 msgid "cannot match pages: %s"
 msgstr "không thể đọc %s: %s"
diff --git a/t/img.t b/t/img.t
index 6049042c2311b8055e10c87c104ac7d797bad40f..92cd61e138951e598f2e536da5c7b9c1ad39ceff 100755 (executable)
--- a/t/img.t
+++ b/t/img.t
@@ -43,6 +43,7 @@ my $PDFS_WORK = defined $magick->Get("width");
 
 ok(! system("rm -rf t/tmp; mkdir -p t/tmp/in"));
 
+ok(! system("cp t/img/redsquare.bmp t/tmp/in/redsquare.bmp"));
 ok(! system("cp t/img/redsquare.png t/tmp/in/redsquare.png"));
 ok(! system("cp t/img/redsquare.jpg t/tmp/in/redsquare.jpg"));
 ok(! system("cp t/img/redsquare.jpg t/tmp/in/redsquare.jpeg"));
@@ -97,6 +98,7 @@ $maybe_pdf_img
 [[!img really-pdf.jpg size=666x]]
 [[!img really-pdf.png size=666x]]
 [[!img really-pdf.svg size=666x]]
+[[!img redsquare.bmp size=16x]] expecting 16x16 if bmp enabled
 EOF
 );
 ok(utime(333333333, 333333333, "t/tmp/in/imgconversions.mdwn"));
@@ -105,8 +107,21 @@ ok(! system(@command, '--set-yaml', 'img_allowed_formats=[JPEG, PNG, svg, pdf]')
 
 sub size($) {
        my $filename = shift;
+       my $decoder;
+       if ($filename =~ m/\.png$/i) {
+               $decoder = 'png';
+       }
+       elsif ($filename =~ m/\.jpe?g$/i) {
+               $decoder = 'jpeg';
+       }
+       elsif ($filename =~ m/\.bmp$/i) {
+               $decoder = 'bmp';
+       }
+       else {
+               die "Unexpected extension in '$filename'";
+       }
        my $im = Image::Magick->new();
-       my $r = $im->Read(":$filename");
+       my $r = $im->Read("$decoder:$filename");
        return "no image: $r" if $r;
        my $w = $im->Get("width");
        my $h = $im->Get("height");
@@ -155,6 +170,10 @@ ok(! -e "$outpath/666x-really-pdf.jpg");
 like($outhtml, qr/${quot}really-pdf\.png${quot} does not seem to be a valid png file/);
 ok(! -e "$outpath/666x-really-pdf.png");
 
+# We do not auto-detect file content unless specifically asked to do so
+ok(! -e "$outpath/16x-redsquare.bmp");
+like($outhtml, qr{${quot}?bmp${quot}? image processing disabled in img_allowed_formats configuration});
+
 # resize is deterministic when deterministic=1
 ok(utime(333333333, 333333333, "t/tmp/in/redsquare.png"));
 ok(! system("rm $outpath/10x-redsquare.png"));
@@ -173,6 +192,55 @@ ok(! system(@command, "--rebuild"));
 ok(! -e "$outpath/10x-bluesquare.png");
 ok(! -e "$outpath/12x-twopages.png");
 ok(! -e "$outpath/16x-p1-twopages.png");
+ok(! -e "$outpath/16x-redsquare.bmp");
+like($outhtml, qr{${quot}?bmp${quot}? image processing disabled in img_allowed_formats configuration});
+
+# enable support for everything (this is a terrible idea if you have
+# untrusted users)
+ok(! system(@command, '--set-yaml', 'img_allowed_formats=[everything]', '--rebuild'));
+
+$outhtml = readfile("$outpath.html");
+is(size("$outpath/16x-redsquare.bmp"), "16x16");
+like($outhtml, qr{src="(\./)?imgconversions/16x-redsquare\.bmp" width="16" height="16"});
+unlike($outhtml, qr{${quot}bmp${quot} image processing disabled in img_allowed_formats configuration});
+
+is(size("$outpath/10x-redsquare.png"), "10x10");
+ok(! -e "$outpath/30x-redsquare.png");
+ok($outhtml =~ /width="30" height="30".*expecting 30x30/);
+ok($outhtml =~ /width="42".*expecting 42x/);
+ok($outhtml =~ /height="43".*expecting x43/);
+ok($outhtml =~ /width="42" height="43".*expecting 42x43/);
+
+SKIP: {
+       skip "PDF support not installed (try ghostscript)", 2
+               unless $PDFS_WORK;
+       is(size("$outpath/12x-twopages.png"), "12x12");
+       is(size("$outpath/16x-p1-twopages.png"), "16x2");
+}
+
+ok($outhtml =~ /width="8" height="8".*expecting 8x8/);
+is(size("$outpath/x8-hello:world.png"), "8x8");
+is(size("$outpath/x4-a:b:c.png"), "4x4");
+is(size("$outpath/x6-a:b:c:d:e:f:g:h:i:j.png"), "6x6");
+
+is(size("$outpath/11x-redsquare.jpg"), "11x11");
+is(size("$outpath/12x-redsquare.jpeg"), "12x12");
+is(size("$outpath/13x-SHOUTY.JPG"), "13x13");
+like($outhtml, qr{src="(\./)?imgconversions/11x-redsquare\.jpg" width="11" height="11"});
+like($outhtml, qr{src="(\./)?imgconversions/12x-redsquare\.jpeg" width="12" height="12"});
+like($outhtml, qr{src="(\./)?imgconversions/13x-SHOUTY\.JPG" width="13" height="13"});
+
+# We still do not misinterpret images
+like($outhtml, qr/${quot}really-svg\.png${quot} does not seem to be a valid png file/);
+ok(! -e "$outpath/666x-really-svg.png");
+ok(! -e "$outpath/666x-really-svg.bmp");
+like($outhtml, qr/${quot}really-pdf\.JPEG${quot} does not seem to be a valid jpeg file/);
+ok(! -e "$outpath/666x-really-pdf.jpeg");
+ok(! -e "$outpath/666x-really-pdf.JPEG");
+like($outhtml, qr/${quot}really-pdf\.jpg${quot} does not seem to be a valid jpeg file/);
+ok(! -e "$outpath/666x-really-pdf.jpg");
+like($outhtml, qr/${quot}really-pdf\.png${quot} does not seem to be a valid png file/);
+ok(! -e "$outpath/666x-really-pdf.png");
 
 # now let's remove them again
 
diff --git a/t/img/redsquare.bmp b/t/img/redsquare.bmp
new file mode 100644 (file)
index 0000000..ce003b5
Binary files /dev/null and b/t/img/redsquare.bmp differ
index 7e382eaa7c7c4120727053cff86a730843dc524b..0b8b6eb4b76f411ddf0adf7c1b55e0d91ed322ba 100755 (executable)
@@ -112,11 +112,16 @@ sub run_cgi {
        my ($in, $out);
        my $is_preview = delete $args{is_preview};
        my $is_https = delete $args{is_https};
+       my $goto = delete $args{goto};
        my %defaults = (
                SCRIPT_NAME     => '/cgi-bin/ikiwiki.cgi',
                HTTP_HOST       => 'example.com',
        );
-       if (defined $is_preview) {
+       if (defined $goto) {
+               $defaults{REQUEST_METHOD} = 'GET';
+               $defaults{QUERY_STRING} = 'do=goto&page=a/b/c';
+       }
+       elsif (defined $is_preview) {
                $defaults{REQUEST_METHOD} = 'POST';
                $in = 'do=edit&page=a/b/c&Preview';
                $defaults{CONTENT_LENGTH} = length $in;
@@ -143,6 +148,15 @@ sub run_cgi {
        return $out;
 }
 
+sub check_goto {
+       my $expected = shift;
+       my $redirect = run_cgi(goto => 1, @_);
+       ok($redirect =~ m/^Status:\s*302\s+/m);
+       ok($redirect =~ m/^Location:\s*(\S*)\r?\n/m);
+       my $location = $1;
+       like($location, $expected);
+}
+
 sub test_startup {
        ok(! system("rm -rf t/tmp"));
        ok(! system("mkdir t/tmp"));
@@ -158,6 +172,7 @@ sub test_startup {
 }
 
 sub test_site1_perfectly_ordinary_ikiwiki {
+       diag("test_site1_perfectly_ordinary_ikiwiki");
        write_setup_file(
                url     => "http://example.com/wiki/",
                cgiurl  => "http://example.com/cgi-bin/ikiwiki.cgi",
@@ -166,6 +181,7 @@ sub test_site1_perfectly_ordinary_ikiwiki {
        check_cgi_mode_bits();
        # url and cgiurl are on the same host so the cgiurl is host-relative
        check_generated_content(qr{<a[^>]+href="/cgi-bin/ikiwiki.cgi\?do=prefs"});
+       check_goto(qr{^http://example\.com/wiki/a/b/c/$});
        my %bits = parse_cgi_content(run_cgi());
        like($bits{basehref}, qr{^(?:(?:http:)?//example\.com)?/wiki/$});
        like($bits{stylehref}, qr{^(?:(?:http:)?//example.com)?/wiki/style.css$});
@@ -178,6 +194,7 @@ sub test_site1_perfectly_ordinary_ikiwiki {
        like($bits{stylehref}, qr{^(?:(?:https:)?//example.com)?/wiki/style.css$});
        like($bits{tophref}, qr{^(?:/wiki|\.)/$});
        like($bits{cgihref}, qr{^(?:(?:https:)?//example.com)?/cgi-bin/ikiwiki.cgi$});
+       check_goto(qr{^https://example\.com/wiki/a/b/c/$}, is_https => 1);
 
        # when accessed via a different hostname, links stay on that host
        %bits = parse_cgi_content(run_cgi(HTTP_HOST => 'staging.example.net'));
@@ -185,6 +202,10 @@ sub test_site1_perfectly_ordinary_ikiwiki {
        like($bits{stylehref}, qr{^(?:(?:http:)?//staging.example.net)?/wiki/style.css$});
        like($bits{tophref}, qr{^(?:/wiki|\.)/$});
        like($bits{cgihref}, qr{^(?:(?:http:)?//staging.example.net)?/cgi-bin/ikiwiki.cgi$});
+       TODO: {
+       local $TODO = "hostname should be copied to redirects' Location";
+       check_goto(qr{^https://staging\.example\.net/wiki/a/b/c/$}, is_https => 1);
+       }
 
        # previewing a page
        %bits = parse_cgi_content(run_cgi(is_preview => 1));
@@ -195,6 +216,7 @@ sub test_site1_perfectly_ordinary_ikiwiki {
 }
 
 sub test_site2_static_content_and_cgi_on_different_servers {
+       diag("test_site2_static_content_and_cgi_on_different_servers");
        write_setup_file(
                url     => "http://static.example.com/",
                cgiurl  => "http://cgi.example.com/ikiwiki.cgi",
@@ -204,6 +226,7 @@ sub test_site2_static_content_and_cgi_on_different_servers {
        # url and cgiurl are not on the same host so the cgiurl has to be
        # protocol-relative or absolute
        check_generated_content(qr{<a[^>]+href="(?:http:)?//cgi.example.com/ikiwiki.cgi\?do=prefs"});
+       check_goto(qr{^http://static\.example\.com/a/b/c/$});
 
        my %bits = parse_cgi_content(run_cgi(SCRIPT_NAME => '/ikiwiki.cgi', HTTP_HOST => 'cgi.example.com'));
        like($bits{basehref}, qr{^(?:(?:http:)?//static.example.com)?/$});
@@ -217,6 +240,8 @@ sub test_site2_static_content_and_cgi_on_different_servers {
        like($bits{stylehref}, qr{^(?:(?:https:)?//static.example.com)?/style.css$});
        like($bits{tophref}, qr{^(?:https:)?//static.example.com/$});
        like($bits{cgihref}, qr{^(?:(?:https:)?//cgi.example.com)?/ikiwiki.cgi$});
+       check_goto(qr{^https://static\.example\.com/a/b/c/$}, is_https => 1,
+               HTTP_HOST => 'cgi.example.com', SCRIPT_NAME => '/ikiwiki.cgi');
 
        # when accessed via a different hostname, links to the CGI (only) should
        # stay on that host?
@@ -229,9 +254,12 @@ sub test_site2_static_content_and_cgi_on_different_servers {
        local $TODO = "use self-referential CGI URL?";
        like($bits{cgihref}, qr{^(?:(?:http:)?//staging.example.net)?/ikiwiki.cgi$});
        }
+       check_goto(qr{^https://static\.example\.com/a/b/c/$}, is_https => 1,
+               HTTP_HOST => 'staging.example.net', SCRIPT_NAME => '/ikiwiki.cgi');
 }
 
 sub test_site3_we_specifically_want_everything_to_be_secure {
+       diag("test_site3_we_specifically_want_everything_to_be_secure");
        write_setup_file(
                url     => "https://example.com/wiki/",
                cgiurl  => "https://example.com/cgi-bin/ikiwiki.cgi",
@@ -247,6 +275,7 @@ sub test_site3_we_specifically_want_everything_to_be_secure {
        like($bits{stylehref}, qr{^(?:(?:https:)?//example.com)?/wiki/style.css$});
        like($bits{tophref}, qr{^(?:/wiki|\.)/$});
        like($bits{cgihref}, qr{^(?:(?:https:)?//example.com)?/cgi-bin/ikiwiki.cgi$});
+       check_goto(qr{^https://example\.com/wiki/a/b/c/$}, is_https => 1);
 
        # when not accessed via HTTPS, links should still be secure
        # (but if this happens, that's a sign of web server misconfiguration)
@@ -258,6 +287,7 @@ sub test_site3_we_specifically_want_everything_to_be_secure {
        like($bits{stylehref}, qr{^(?:(?:https:)?//example.com)?/wiki/style.css$});
        }
        like($bits{cgihref}, qr{^(?:(?:https:)?//example.com)?/cgi-bin/ikiwiki.cgi$});
+       check_goto(qr{^https://example\.com/wiki/a/b/c/$}, is_https => 0);
 
        # when accessed via a different hostname, links stay on that host
        %bits = parse_cgi_content(run_cgi(is_https => 1, HTTP_HOST => 'staging.example.net'));
@@ -265,6 +295,8 @@ sub test_site3_we_specifically_want_everything_to_be_secure {
        like($bits{stylehref}, qr{^(?:(?:https:)?//staging.example.net)?/wiki/style.css$});
        like($bits{tophref}, qr{^(?:/wiki|\.)/$});
        like($bits{cgihref}, qr{^(?:(?:https:)?//staging.example.net)?/cgi-bin/ikiwiki.cgi$});
+       check_goto(qr{^https://staging\.example\.net/wiki/a/b/c/$}, is_https => 1,
+               HTTP_HOST => 'staging.example.net');
 
        # previewing a page
        %bits = parse_cgi_content(run_cgi(is_preview => 1, is_https => 1));
@@ -275,6 +307,7 @@ sub test_site3_we_specifically_want_everything_to_be_secure {
 }
 
 sub test_site4_cgi_is_secure_static_content_doesnt_have_to_be {
+       diag("test_site4_cgi_is_secure_static_content_doesnt_have_to_be");
        # (NetBSD wiki)
        write_setup_file(
                url     => "http://example.com/wiki/",
@@ -291,6 +324,7 @@ sub test_site4_cgi_is_secure_static_content_doesnt_have_to_be {
        like($bits{stylehref}, qr{^(?:(?:https:)?//example.com)?/wiki/style.css$});
        like($bits{tophref}, qr{^(?:/wiki|\.)/$});
        like($bits{cgihref}, qr{^(?:(?:https:)?//example.com)?/cgi-bin/ikiwiki.cgi$});
+       check_goto(qr{^https://example\.com/wiki/a/b/c/$}, is_https => 1);
 
        # FIXME: when not accessed via HTTPS, should the static content be
        # forced to https anyway? For now we accept either
@@ -299,6 +333,7 @@ sub test_site4_cgi_is_secure_static_content_doesnt_have_to_be {
        like($bits{stylehref}, qr{^(?:(?:https?:)?//example.com)?/wiki/style.css$});
        like($bits{tophref}, qr{^(?:(?:https?://example.com)?/wiki|\.)/$});
        like($bits{cgihref}, qr{^(?:(?:https:)?//example.com)?/cgi-bin/ikiwiki.cgi$});
+       check_goto(qr{^https://example\.com/wiki/a/b/c/$}, is_https => 0);
 
        # when accessed via a different hostname, links stay on that host
        %bits = parse_cgi_content(run_cgi(is_https => 1, HTTP_HOST => 'staging.example.net'));
@@ -312,6 +347,8 @@ sub test_site4_cgi_is_secure_static_content_doesnt_have_to_be {
        local $TODO = "this should really point back to itself but currently points to example.com";
        like($bits{cgihref}, qr{^(?:(?:https:)?//staging.example.net)?/cgi-bin/ikiwiki.cgi$});
        }
+       check_goto(qr{^https://staging\.example\.net/wiki/a/b/c/$}, is_https => 1,
+               HTTP_HOST => 'staging.example.net');
 
        # previewing a page
        %bits = parse_cgi_content(run_cgi(is_preview => 1, is_https => 1));
@@ -322,6 +359,7 @@ sub test_site4_cgi_is_secure_static_content_doesnt_have_to_be {
 }
 
 sub test_site5_w3mmode {
+       diag("test_site5_w3mmode");
        # as documented in [[w3mmode]]
        write_setup_file(
                url     => undef,
@@ -339,9 +377,15 @@ sub test_site5_w3mmode {
        like($bits{cgihref}, qr{^(?:file://)?/\$LIB/ikiwiki-w3m.cgi/ikiwiki.cgi$});
        like($bits{basehref}, qr{^(?:(?:file:)?//)?\Q$pwd\E/t/tmp/out/$});
        like($bits{stylehref}, qr{^(?:(?:(?:file:)?//)?\Q$pwd\E/t/tmp/out|\.)/style.css$});
+
+       my $redirect = run_cgi(goto => 1, PATH_INFO => '/ikiwiki.cgi',
+               SCRIPT_NAME => '/cgi-bin/ikiwiki-w3m.cgi');
+       like($redirect, qr{^Content-type: text/plain\r?\n}m);
+       like($redirect, qr{^W3m-control: GOTO (?:file://)?\Q$pwd\E/t/tmp/out/a/b/c/\r?\n}m);
 }
 
 sub test_site6_behind_reverse_proxy {
+       diag("test_site6_behind_reverse_proxy");
        write_setup_file(
                url     => "https://example.com/wiki/",
                cgiurl  => "https://example.com/cgi-bin/ikiwiki.cgi",
@@ -359,6 +403,7 @@ sub test_site6_behind_reverse_proxy {
        like($bits{cgihref}, qr{^(?:(?:https:)?//example.com)?/cgi-bin/ikiwiki.cgi$});
        like($bits{basehref}, qr{^(?:(?:https:)?//example\.com)?/wiki/$});
        like($bits{stylehref}, qr{^(?:(?:https:)?//example.com)?/wiki/style.css$});
+       check_goto(qr{^https://example\.com/wiki/a/b/c/$}, HTTP_HOST => 'localhost');
 
        # previewing a page
        %bits = parse_cgi_content(run_cgi(is_preview => 1, HTTP_HOST => 'localhost'));
index f57d3ca9ccd0ea90a5dbe0ec04af0873417ecd1a..56526de8a675d14140529625726ad6e97f583e2b 100755 (executable)
@@ -12,7 +12,7 @@ plan(skip_all => "XML::Parser not available")
 
 use IkiWiki;
 
-ok(system("make >/dev/null") == 0);
+ok(system("make docwiki >/dev/null") == 0);
 
 chdir("html") || die "chdir: $!";