Merge branch 'master' of git://git.ikiwiki.info
authorJavier Rojas <jerojasro@devnull.li>
Mon, 19 Jul 2010 06:11:28 +0000 (01:11 -0500)
committerJavier Rojas <jerojasro@devnull.li>
Mon, 19 Jul 2010 06:11:28 +0000 (01:11 -0500)
IkiWiki.pm
IkiWiki/Plugin/po.pm
debian/changelog
doc/bugs/404_plugin_and_lighttpd.mdwn
doc/plugins/404.mdwn
doc/plugins/po.mdwn
doc/todo/Fix_selflink_in_po_plugin.mdwn
doc/users/weakish.mdwn

index 2cf0ad819876d43e8c03c757f90e5bbc585317ad..0c0b7bd4c0d418fffda7b2d86623c7c967e82e37 100644 (file)
@@ -1118,6 +1118,15 @@ sub urlto ($$;$) {
        return beautify_urlpath($link);
 }
 
+sub isselflink ($$) {
+       # Plugins can override this function to support special types
+       # of selflinks.
+       my $page=shift;
+       my $link=shift;
+
+        return $page eq $link;
+}
+
 sub htmllink ($$$;@) {
        my $lpage=shift; # the page doing the linking
        my $page=shift; # the page that will contain the link (different for inline)
@@ -1143,7 +1152,7 @@ sub htmllink ($$$;@) {
        }
        
        return "<span class=\"selflink\">$linktext</span>"
-               if length $bestlink && $page eq $bestlink &&
+               if length $bestlink && isselflink($page, $bestlink) &&
                   ! defined $opts{anchor};
        
        if (! $destsources{$bestlink}) {
index 903a9500f5dc8482b52860ff6b212dbb296d641b..2244126761a8323a7269786724558ffe56c350b4 100644 (file)
@@ -64,6 +64,8 @@ sub import {
                inject(name => "IkiWiki::cgiurl", call => \&mycgiurl);
                $origsubs{'rootpage'}=\&IkiWiki::rootpage;
                inject(name => "IkiWiki::rootpage", call => \&myrootpage);
+               $origsubs{'isselflink'}=\&IkiWiki::isselflink;
+               inject(name => "IkiWiki::isselflink", call => \&myisselflink);
        }
 }
 
@@ -675,6 +677,17 @@ sub myrootpage (@) {
        return $rootpage;
 }
 
+sub myisselflink ($$) {
+       my $page=shift;
+       my $link=shift;
+
+       return 1 if $origsubs{'isselflink'}->($page, $link);
+       if (istranslation($page)) {
+               return $origsubs{'isselflink'}->(masterpage($page), $link);
+        }
+       return;
+}
+
 # ,----
 # | Blackboxes for private data
 # `----
index b7387a05031fe8833bb0a10b7235b0da2b10b61a..db828f5806a0436beb164e9a19ed8ecf90090fee 100644 (file)
@@ -21,6 +21,7 @@ ikiwiki (3.20100705) UNRELEASED; urgency=low
   * Made much more robust in cases where multiple source files produce
     conflicting files/directories in the destdir.
   * Updated French program translation from Philippe Batailler. Closes: #589423
+  * po: Fix selflink display on tranlsated pages. (intrigeri)
 
  -- Joey Hess <joeyh@debian.org>  Mon, 05 Jul 2010 13:59:42 -0400
 
index ffbad8adda2531d1785d918164898a76cd09306c..e478d98c32e0d5c615621020213d7d9efde03bbd 100644 (file)
@@ -1,4 +1,4 @@
-Lighttpd apparently sets REDIRECT_STATUS=200 for the server.error-handler-404 page. This breaks the 404 plugin which checks this variable for 404 before processing the URI. It also doesn't seem to set REDIRECT_URL.
+Lighttpd apparently sets REDIRECT_STATUS=200 for the server.error-handler-404 page. This breaks the [[plugins/404]] plugin which checks this variable for 404 before processing the URI. It also doesn't seem to set REDIRECT_URL.
 
 I was able to fix my server to check the REQUEST_URI for ikiwiki.cgi and to continue processing if it was not found, passing $ENV{SEVER_NAME} . $ENV{REQUEST_URI} as the first parameter to cgi_page_from_404. However, my perl is terrible and I just made it work rather than figuring out exactly what to do to get it to work on both lighttpd and apache.
 
index 53dace3c90800c4aa3e5c9d1807c70fadc9c7b43..bf033202ab18972521b9fc50eacc41134138e25e 100644 (file)
@@ -13,8 +13,4 @@ file:
 (The path here needs to be whatever the path is to the ikiwiki.cgi from
 the root of your web server.)
 
-Or put something like this in the wiki's Lighttpd (>=1.4.17) configuration file:
-
-    server.error-handler-404 = "/ikiwiki.cgi"
-
 
index 2dc5ffdc8322490f8366d626912fd0d5ea43df4b..53327c1dae94ef5896119cc874133a9a3c1a9b4e 100644 (file)
@@ -297,6 +297,10 @@ to an array to support this. (If twere done, twere best done quickly.)
 >>> Joey, which of these solutions do you prefer? Or another one?
 >>> I tend to prefer the last one. --[[intrigeri]]
 
+>>>> I prefer the pipe separator, I think. I'm concerned that there is 
+>>>> no way to really sanely represent complex data structures in web
+>>>> setup. --[[Joey]]
+
 Pagespecs
 ---------
 
@@ -351,6 +355,16 @@ update. --[[Joey]]
 > * The ENCODING\n part is due to an inconsistency in po4a, which
 >   I've just send a patch for. --[[intrigeri]]
 
+New pages not translatable
+--------------------------
+
+Today I added a new English page to l10n.ikiwiki.info. When I saved,
+the page did not have the translation links at the top. I waited until
+the po plugin had, in the background, created the po files, and refreshed;
+still did not see the translation links. Only when I touched the page
+source and refreshed did it finally add the translation links. 
+I can reproduce this bug in a test site. --[[Joey]]
+
 Ugly messages with empty files
 ------------------------------
 
index c4f6662ce5b66da2fb0d2a9b1bc218dc34475bd9..b276c075d486b5261154cd728e799c74b1493a3f 100644 (file)
@@ -5,7 +5,7 @@ isn't. --[[intrigeri]]
 
 Fixed in my po branch. --[[intrigeri]]
 
-[[!tag patch]]
+[[!tag patch done]]
 
 > bump?
 
index 30a14d3033fcc1005e55d2d44229f235cbe1af69..a5f252e75e8cd6bfed4d334a9f90875525cf5c25 100644 (file)
@@ -1,3 +1,3 @@
 email: weakish@gmail.com
 
-openid: <http://weakish.pigro.net>
+website: <http://weakish.github.com>