toggle: Add javascript to top of page, not to end. This avoids flicker since closed toggles will not be displayed as the page is loading.

master
Joey Hess 2008-07-02 16:14:18 -04:00
parent 1289beb53b
commit edfbd7e1aa
3 changed files with 5 additions and 4 deletions

View File

@ -108,9 +108,9 @@ sub format (@) { #{{{
if ($params{content}=~s!(<div class="toggleable(?:-open)?" id="[^"]+">)</div>!$1!g) {
$params{content}=~s/<div class="toggleableend">//g;
if (! ($params{content}=~s!^<\/body>!$javascript</body>!m)) {
if (! ($params{content}=~s!^<body>!<body>$javascript!m)) {
# no </body> tag, probably in preview mode
$params{content}.=$javascript;
$params{content}=$javascript.$params{content};
}
}
return $params{content};

2
debian/changelog vendored
View File

@ -6,6 +6,8 @@ ikiwiki (2.52) UNRELEASED; urgency=low
uploads by default. (An anti-DOS measure.)
* toggle: Add support for toggles that are open by default.
* toggle: Fix to work in preview mode.
* toggle: Add javascript to top of page, not to end. This avoids flicker
since closed toggles will not be displayed as the page is loading.
-- Joey Hess <joeyh@debian.org> Mon, 30 Jun 2008 19:56:28 -0400

View File

@ -1,3 +1,4 @@
<TMPL_VAR JAVASCRIPT>
<TMPL_IF NAME="PAGE_CONFLICT">
<p>
<b>Your changes conflict with other changes made to the page.</b>
@ -85,5 +86,3 @@ Optional comment about this change:<br />
<TMPL_VAR PAGE_PREVIEW>
</div>
</TMPL_IF>
<TMPL_VAR JAVASCRIPT>