X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/80452eba92ab4141bf78de90d36015eabf37777a..48122cb825f87e469d4363916d56f36eb2f67066:/IkiWiki/Plugin/inline.pm?ds=sidebyside

diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
index 285077204..159cc5def 100644
--- a/IkiWiki/Plugin/inline.pm
+++ b/IkiWiki/Plugin/inline.pm
@@ -329,6 +329,10 @@ sub preprocess_inline (@) {
 			$formtemplate->param(postformtext =>
 				gettext("Add a new post titled:"));
 		}
+		if (exists $params{id}) {
+			$formtemplate->param(postformid =>
+				$params{id});
+		}
 		$ret.=$formtemplate->output;
 	    	
 		# The post form includes the feed buttons, so
@@ -346,6 +350,9 @@ sub preprocess_inline (@) {
 			$linktemplate->param(atomurl => $atomurl);
 			$linktemplate->param(atomdesc => $atomdesc);
 		}
+		if (exists $params{id}) {
+			$linktemplate->param(id => $params{id});
+		}
 		$ret.=$linktemplate->output;
 	}
 	
@@ -440,7 +447,7 @@ sub preprocess_inline (@) {
 			if (! $params{preview}) {
 				writefile($rssp, $config{destdir},
 					genfeed("rss",
-						$config{url}."/".$rssp, $desc, $params{guid}, $params{destpage}, @feedlist));
+						$config{url}."/".$rssp, $desc, $params{guid}, $params{page}, @feedlist));
 				$toping{$params{destpage}}=1 unless $config{rebuild};
 				$feedlinks{$params{destpage}}.=qq{<link rel="alternate" type="application/rss+xml" title="$rssdesc" href="$rssurl" />};
 			}
@@ -450,7 +457,7 @@ sub preprocess_inline (@) {
 			will_render($params{destpage}, $atomp);
 			if (! $params{preview}) {
 				writefile($atomp, $config{destdir},
-					genfeed("atom", $config{url}."/".$atomp, $desc, $params{guid}, $params{destpage}, @feedlist));
+					genfeed("atom", $config{url}."/".$atomp, $desc, $params{guid}, $params{page}, @feedlist));
 				$toping{$params{destpage}}=1 unless $config{rebuild};
 				$feedlinks{$params{destpage}}.=qq{<link rel="alternate" type="application/atom+xml" title="$atomdesc" href="$atomurl" />};
 			}
@@ -499,7 +506,7 @@ sub get_inline_content ($$) {
 		if (isinternal($page)) {
 			# make inlined text of internal pages searchable
 			run_hooks(indexhtml => sub {
-				shift->(page => $page, destpage => $page,
+				shift->(page => $page, destpage => $destpage,
 					content => $ret);
 			});
 		}
@@ -557,13 +564,15 @@ sub absolute_urls ($$) {
 				next unless $v_offset; # 0 v_offset means no value
 				my $v = substr($text, $v_offset, $v_len);
 				$v =~ s/^([\'\"])(.*)\1$/$2/;
-				if ($v=~/^#/) {
+				eval q{use HTML::Entities};
+				my $dv = decode_entities($v);
+				if ($dv=~/^#/) {
 					$v=$baseurl.$v; # anchor
 				}
-				elsif ($v=~/^(?!\w+:)[^\/]/) {
+				elsif ($dv=~/^(?!\w+:)[^\/]/) {
 					$v=$url.$v; # relative url
 				}
-				elsif ($v=~/^\//) {
+				elsif ($dv=~/^\//) {
 					if (! defined $urltop) {
 						# what is the non path part of the url?
 						my $top_uri = URI->new($url);