* Record new pages in %pagesources temporarily when previewing so that
authorJoey Hess <joey@kodama.kitenet.net>
Tue, 18 Mar 2008 01:28:31 +0000 (21:28 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Tue, 18 Mar 2008 01:28:31 +0000 (21:28 -0400)
  things that need to know the page source or type can query it from there.
  Fixes previewing of tables when creating a new page.

IkiWiki/CGI.pm
debian/changelog
doc/bugs/page_preview_does_not_work_on_new_page_with_a_table.mdwn

index 042e168aa8dc501613746ea3af45b2ecbbc4fafa..4706770884ab5a1fb89a171fab2200670334339d 100644 (file)
@@ -344,6 +344,12 @@ sub cgi_editpage ($$) { #{{{
                return;
        }
        elsif ($form->submitted eq "Preview") {
+               my $new=not exists $pagesources{$page};
+               if ($new) {
+                       # temporarily record its type
+                       $pagesources{$page}=$page.".".$type;
+               }
+
                my $content=$form->field('editcontent');
                run_hooks(editcontent => sub {
                        $content=shift->(
@@ -358,6 +364,10 @@ sub cgi_editpage ($$) { #{{{
                        linkify($page, $page,
                        preprocess($page, $page,
                        filter($page, $page, $content), 0, 1))));
+               
+               if ($new) {
+                       delete $pagesources{$page};
+               }
                # previewing may have created files on disk
                saveindex();
        }
index dc950790feacf875b46f93e0d67cc30b4792cc1a..2b1193edf8af9a471efa9d449767b8eb2080de77 100644 (file)
@@ -47,6 +47,9 @@ ikiwiki (2.41) UNRELEASED; urgency=low
   * Correct bug in encoding of %pagestate keys, fixes edittemplate.
   * Detect invalid pagespecs and do not merge them in add_depends,
     as that can result in a broken merged pagespec that matches nothing.
+  * Record new pages in %pagesources temporarily when previewing so that
+    things that need to know the page source or type can query it from there.
+    Fixes previewing of tables when creating a new page.
 
  -- martin f. krafft <madduck@debian.org>  Sun, 02 Mar 2008 17:46:38 +0100
 
index 6c999e0f744a8c4f56e4311254d0c0aadcd8ea74..65dffd671e41a47bfae4edb1b6fa6ef86377d1af 100644 (file)
@@ -1 +1,3 @@
 If the table plugin is enabled, then creating a page, inserting a `\[[!table ...]` and clicking preview yields "htmlization of not supported" (sic). --[[madduck]]
+
+[[fix0red|done]] --[[Joey]]