Merge branch 'master' into comments
authorJoey Hess <joey@kodama.kitenet.net>
Fri, 12 Dec 2008 19:21:08 +0000 (14:21 -0500)
committerJoey Hess <joey@kodama.kitenet.net>
Fri, 12 Dec 2008 19:21:08 +0000 (14:21 -0500)
IkiWiki/Plugin/inline.pm
IkiWiki/Plugin/meta.pm
debian/changelog
doc/bugs/IkiWiki::Wrapper_should_use_destdir.mdwn [new file with mode: 0644]
doc/bugs/Meta_plugin_does_not_respect_htmlscrubber__95__skip_setting.___40__patch__41__.mdwn [new file with mode: 0644]
doc/ikiwiki/directive/cutpaste.mdwn
doc/plugins/contrib/comments.mdwn
doc/plugins/cutpaste.mdwn

index 17cc46e0e7c63cd24da4c48806f214ecddd506c5..d6ef6c54c7d86f7b9e3f1a263806e14cb962ce17 100644 (file)
@@ -312,8 +312,7 @@ sub preprocess_inline (@) { #{{{
                # emptyfeeds cannot be hidden.
                $emptyfeeds=1;
        }
-       elsif ($feeds && !$params{preview} &&
-              ! (! $emptyfeeds && ! @feedlist)) {
+       elsif ($feeds && !$params{preview} && ($emptyfeeds || @feedlist)) {
                # Add feed buttons.
                my $linktemplate=template("feedlink.tmpl", blind_cache => 1);
                $linktemplate->param(rssurl => $rssurl) if $rss;
@@ -390,7 +389,7 @@ sub preprocess_inline (@) { #{{{
                }
        }
        
-       if ($feeds && ! (! $emptyfeeds && ! @feedlist)) {
+       if ($feeds && ($emptyfeeds || @feedlist)) {
                if ($rss) {
                        my $rssp=$feedbase."rss".$feednum;
                        will_render($params{destpage}, $rssp);
index 8d444109f68dc304d6c055df1191b3efbc2b9b60..3991797c0fe6f7be305e9b3e799f5aaa7bdc7ae2 100644 (file)
@@ -38,9 +38,10 @@ sub needsbuild (@) { #{{{
        }
 }
 
-sub scrub ($) { #{{{
+sub scrub ($$) { #{{{
        if (IkiWiki::Plugin::htmlscrubber->can("sanitize")) {
-               return IkiWiki::Plugin::htmlscrubber::sanitize(content => shift);
+               return IkiWiki::Plugin::htmlscrubber::sanitize(
+                       content => shift, destpage => shift);
        }
        else {
                return shift;
@@ -137,7 +138,7 @@ sub preprocess (@) { #{{{
        elsif ($key eq 'permalink') {
                if (safeurl($value)) {
                        $pagestate{$page}{meta}{permalink}=$value;
-                       push @{$metaheaders{$page}}, scrub('<link rel="bookmark" href="'.encode_entities($value).'" />');
+                       push @{$metaheaders{$page}}, scrub('<link rel="bookmark" href="'.encode_entities($value).'" />', $destpage);
                }
        }
        elsif ($key eq 'stylesheet') {
@@ -206,7 +207,7 @@ sub preprocess (@) { #{{{
                my $delay=int(exists $params{delay} ? $params{delay} : 0);
                my $redir="<meta http-equiv=\"refresh\" content=\"$delay; URL=$value\" />";
                if (! $safe) {
-                       $redir=scrub($redir);
+                       $redir=scrub($redir, $destpage);
                }
                push @{$metaheaders{$page}}, $redir;
        }
@@ -216,7 +217,7 @@ sub preprocess (@) { #{{{
                                join(" ", map {
                                        encode_entities($_)."=\"".encode_entities(decode_entities($params{$_}))."\""
                                } keys %params).
-                               " />\n");
+                               " />\n", $destpage);
                }
        }
        elsif ($key eq 'robots') {
@@ -225,7 +226,7 @@ sub preprocess (@) { #{{{
        }
        else {
                push @{$metaheaders{$page}}, scrub('<meta name="'.encode_entities($key).
-                       '" content="'.encode_entities($value).'" />');
+                       '" content="'.encode_entities($value).'" />', $destpage);
        }
 
        return "";
index 1ff78d7493af49d7d9d8580adb37ac92f94cfe5f..bf14860dd1251e99ef0e1f865e3a2f01c09814d7 100644 (file)
@@ -13,6 +13,7 @@ ikiwiki (2.71) UNRELEASED; urgency=low
   * inline: Support emptyfeeds=no option to skip generating empty feeds.
   * inline: Support feedfile option to change the filename of the feed
     generated.
+  * meta: Pass info to htmlscrubber so htmlscrubber_skip can take effect.
 
  -- Joey Hess <joeyh@debian.org>  Mon, 17 Nov 2008 14:02:10 -0500
 
diff --git a/doc/bugs/IkiWiki::Wrapper_should_use_destdir.mdwn b/doc/bugs/IkiWiki::Wrapper_should_use_destdir.mdwn
new file mode 100644 (file)
index 0000000..0a1efa3
--- /dev/null
@@ -0,0 +1,5 @@
+In IkiWiki/Wrapper.pm, the gen_wrapper function finds out what srcdir and destdir are set to in the config, but does not use them.
+
+Later in the sub, when a new wiki.cgi wrapper is being created when calling ikiwiki --setup /path/to/setup, it will only work if cgi\_wrapper in the config file is set to the full path. Otherwise, it creates wiki.cgi in the current working directory.  It works with the other wrapper it sets up in my config - post\_update (using git), as that shows in the config with a full path.
+
+One workaround would be to mention in the setup file that cgi_wrapper has to be the full path, not just the file name, but that seems silly when destdir is also specified in that file and that's where it should go, and $config{destdir} is a known value in the Wrapper.pm file.
diff --git a/doc/bugs/Meta_plugin_does_not_respect_htmlscrubber__95__skip_setting.___40__patch__41__.mdwn b/doc/bugs/Meta_plugin_does_not_respect_htmlscrubber__95__skip_setting.___40__patch__41__.mdwn
new file mode 100644 (file)
index 0000000..0e40da5
--- /dev/null
@@ -0,0 +1,11 @@
+I have been trying to include some meta info using the link setting something like the below
+
+ meta link="http://www.example.com/" rel="command" name="Example"    
+
+This gets removed by the htmlscrubber as you would expect.
+
+Setting htmlscrubber_skip to the pagespec should stop this getting scrubbed but it does not.
+
+Below is a patch to fix that. It seams to work but I am not sure of it is the correct thing to do.
+
+> [[done]], thanks for the patch --[[Joey]]
index 012367bdf9a6f8cd8c5d941a5f7df3fd32ca8e67..ca580e54f63e51cc4844be31febedc0739ea902d 100644 (file)
@@ -17,11 +17,11 @@ follow the paste directive that uses its text.  In fact, this is quite useful
 to postpone big blocks of text like long annotations and have a more natural
 flow.  For example:
 
-       \[[!toggleable id="cut" text="\[[!paste id=cutlongdesc]]"]]
-       \[[!toggleable id="copy" text="\[[!paste id=copylongdesc]]"]]
-       \[[!toggleable id="paste" text="\[[!paste id=pastelongdesc]]"]]
+       \[[!toggleable id="cut" text="[[!paste id=cutlongdesc]]"]]
+       \[[!toggleable id="copy" text="[[!paste id=copylongdesc]]"]]
+       \[[!toggleable id="paste" text="[[!paste id=pastelongdesc]]"]]
 
-       \[...some time later...]
+       [...some time later...]
 
        \[[!cut id=cutlongdesc text="""
           blah blah blah
@@ -40,7 +40,7 @@ Since you can paste without using double quotes, copy and paste can be used to
 nest directives that require multiline parameters inside each other:
 
        \[[!toggleable id=foo text="""
-         \[[!toggleable id=bar text="\[[!paste id=baz]]"]]
+         [[!toggleable id=bar text="[[!paste id=baz]]"]]
        """]]
 
        \[[!cut id=baz text="""
index a832c571a65ca1b4c583505dd392efa38d5d254a..d2ca8d17dc212d681078bf33266738f70d7015d4 100644 (file)
@@ -50,12 +50,12 @@ can use the following additional `<TMPL_VAR>`s:
 * `COMMENTAUTHORURL`: if the user was signed in with an OpenID, that URL; if the user was signed
   in with some other username, a CGI URL that redirects to their user page (if any)
 
-This plugin also adds a `\[[!comment]]` directive which is used when storing comments. This
-directive shouldn't be used on pages that are edited in the usual way.
+This plugin also adds a `\[[!_comment]]` directive which is used when storing comments. This
+directive is for internal use only and shouldn't be used on pages that are edited in the usual way.
 
 This plugin aims to close the [[todo]] item "[[todo/supporting_comments_via_disussion_pages]]",
 and is currently available from [[smcv]]'s git repository on git.pseudorandom.co.uk (it's the
-`comments-rebase1` branch). A demo wiki with the plugin enabled is running at
+`comments-rebase2` branch). A demo wiki with the plugin enabled is running at
 <http://www.pseudorandom.co.uk/2008/ikiwiki/demo/>; the
 [sandbox page](http://www.pseudorandom.co.uk/2008/ikiwiki/demo/sandbox/#comments) has some
 examples of comments.
@@ -67,11 +67,10 @@ Known issues:
 * There is some common code cargo-culted from other plugins (notably inline and editpage) which
   should probably be shared
 * Joey doesn't think it should necessarily use internal pages (see [[discussion]])
-* `\[[!comment]]` should perhaps be `\[[!_comment]]`, or a special filter/htmlize hook rather
-  than being a directive at all
 * Previews always say "unknown IP address"
-* [[todo/inline_plugin:_ability_to_override_the_feed_name]]
-* [[todo/inline_plugin:_hide_feed_buttons_if_empty]]
+* Add `COMMENTOPENID`: the authenticated/verified user name, if and only if it was an OpenID
+* The default template should have a (?) icon next to unauthenticated users (with the IP address
+  as title) and an OpenID icon next to OpenIDs
 
 > I haven't done a detailed code review, but I will say I'm pleased you
 > avoided re-implementing inline! --[[Joey]]
@@ -84,5 +83,9 @@ Fixed issues:
 * tbm wanted anonymous people to be able to enter their name and possibly email
   address; a name and website can now be supplied
 * There is now an indication of who you're signed in as
-* Each comment is now one big \[[!comment]] directive invocation, avoiding previous
+* Each comment is now one big \[[!_comment]] directive invocation, avoiding previous
   issues with unambiguous and un-spoofable metadata
+* `\[[!comment]]` should be `\[[!_comment]]`, or a special filter/htmlize hook rather
+  than being a directive at all
+* [[todo/inline_plugin:_ability_to_override_the_feed_name]]
+* [[todo/inline_plugin:_hide_feed_buttons_if_empty]]
index 1b78e60fcd1d4348cd7882da2149bc2ac9b778b1..f74f8a269a8f0069e0c59b745bea363b4ef54230 100644 (file)
@@ -1,4 +1,4 @@
-[[!template id=plugin name=toggle author="[[Enrico]]"]]
+[[!template id=plugin name=cutpaste author="[[Enrico]]"]]
 [[!tag type/chrome]]
 
 This plugin provides the [[ikiwiki/directive/cut]],