summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <http://smcv.pseudorandom.co.uk/>2008-07-13 15:29:28 +0100
committerSimon McVittie <http://smcv.pseudorandom.co.uk/>2008-07-13 15:29:28 +0100
commitc588845a051da89505db9e55158783e1650ff0e2 (patch)
tree21586594be52aa5b638d02b674c58345627b23ea
parente41e96f8325aa4ada5b37b79812c47a8737b753c (diff)
parentf6e6d561e9d0269d8b52bf926adb3f782e777bde (diff)
Merge branch 'css'
-rw-r--r--IkiWiki.pm5
-rw-r--r--IkiWiki/CGI.pm10
-rw-r--r--IkiWiki/Plugin/img.pm2
-rw-r--r--IkiWiki/Render.pm12
-rw-r--r--debian/control2
-rw-r--r--doc/bugs/Missing_build-dep_on_perlmagick__63__.mdwn3
-rw-r--r--doc/bugs/__96____96__clear:_both__39____39___for___96__.page__42____39____63__.mdwn15
-rw-r--r--doc/bugs/html_errors.mdwn3
-rw-r--r--doc/style.css11
-rw-r--r--doc/todo/darcs.mdwn4
-rwxr-xr-xikiwiki.in5
-rw-r--r--po/ikiwiki.pot50
-rw-r--r--templates/inlinepage.tmpl16
-rw-r--r--templates/page.tmpl10
14 files changed, 106 insertions, 42 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index f1a5f8058..d4e19c388 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -189,11 +189,6 @@ sub loadplugin ($) { #{{{
sub error ($;$) { #{{{
my $message=shift;
my $cleaner=shift;
- if ($config{cgi}) {
- print "Content-type: text/html\n\n";
- print misctemplate(gettext("Error"),
- "<p>".gettext("Error").": $message</p>");
- }
log_message('err' => $message) if $config{syslog};
if (defined $cleaner) {
$cleaner->();
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index 6770f6feb..d805506aa 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -750,4 +750,14 @@ sub cgi (;$$) { #{{{
}
} #}}}
+# Does not need tobe called directly; all errors will go through here.
+sub cgierror ($) { #{{{
+ my $message=shift;
+
+ print "Content-type: text/html\n\n";
+ print misctemplate(gettext("Error"),
+ "<p class=\"error\">".gettext("Error").": $message</p>");
+ die $@;
+} #}}}
+
1
diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm
index cc0e84b01..49e1d57d6 100644
--- a/IkiWiki/Plugin/img.pm
+++ b/IkiWiki/Plugin/img.pm
@@ -46,7 +46,7 @@ sub preprocess (@) { #{{{
my $base = IkiWiki::basename($file);
eval q{use Image::Magick};
- error($@) if $@;
+ return "[[img ".gettext("Image::Magick not installed")."]]" if $@;
my $im = Image::Magick->new;
my $imglink;
my $r;
diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm
index c241fd40b..990fcaaa1 100644
--- a/IkiWiki/Render.pm
+++ b/IkiWiki/Render.pm
@@ -229,10 +229,14 @@ sub render ($) { #{{{
will_render($file, $file, 1);
if ($config{hardlink}) {
- prep_writefile($file, $config{destdir});
- unlink($config{destdir}."/".$file);
- if (link($srcfile, $config{destdir}."/".$file)) {
- return;
+ # only hardlink if owned by same user
+ my @stat=stat($srcfile);
+ if ($stat[4] == $>) {
+ prep_writefile($file, $config{destdir});
+ unlink($config{destdir}."/".$file);
+ if (link($srcfile, $config{destdir}."/".$file)) {
+ return;
+ }
}
# if hardlink fails, fall back to copying
}
diff --git a/debian/control b/debian/control
index a50c13c26..36d83c640 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: ikiwiki
Section: web
Priority: optional
Build-Depends: perl, debhelper (>= 5)
-Build-Depends-Indep: dpkg-dev (>= 1.9.0), libxml-simple-perl, libtext-markdown-perl | markdown, libtimedate-perl, libhtml-template-perl, libhtml-scrubber-perl, wdg-html-validator, libhtml-parser-perl, liburi-perl
+Build-Depends-Indep: dpkg-dev (>= 1.9.0), libxml-simple-perl, libtext-markdown-perl | markdown, libtimedate-perl, libhtml-template-perl, libhtml-scrubber-perl, wdg-html-validator, libhtml-parser-perl, liburi-perl, perlmagick
Maintainer: Joey Hess <joeyh@debian.org>
Uploaders: Joey Hess <joeyh@debian.org>, Josh Triplett <josh@freedesktop.org>
Standards-Version: 3.8.0
diff --git a/doc/bugs/Missing_build-dep_on_perlmagick__63__.mdwn b/doc/bugs/Missing_build-dep_on_perlmagick__63__.mdwn
index 77e9b3560..f6c0266ba 100644
--- a/doc/bugs/Missing_build-dep_on_perlmagick__63__.mdwn
+++ b/doc/bugs/Missing_build-dep_on_perlmagick__63__.mdwn
@@ -9,3 +9,6 @@ Trying to build current Git master in a (two weeks old - no DSL here) sid chroot
make: *** [build-stamp] Error 2
Adding perlmagick to the build-deps fixes it. I read somewhere in debian/changelog that this build-deb was not needed, but...
+
+> It's not needed by the test suite, but once I added a img to the source
+> wiki, it became needed. [[done]] --[[Joey]]
diff --git a/doc/bugs/__96____96__clear:_both__39____39___for___96__.page__42____39____63__.mdwn b/doc/bugs/__96____96__clear:_both__39____39___for___96__.page__42____39____63__.mdwn
index e389ce3ed..b08468af4 100644
--- a/doc/bugs/__96____96__clear:_both__39____39___for___96__.page__42____39____63__.mdwn
+++ b/doc/bugs/__96____96__clear:_both__39____39___for___96__.page__42____39____63__.mdwn
@@ -15,3 +15,18 @@ adding this `clear: both`?
> before the modification date. So all of them have to clear both above and
> below. I'm sure there are better ways for the CSS to handle that.
> --[[Joey]]
+
+>> There is indeed a better way - all the optional things below the
+>> content are wrapped in `<div id="footer">`, so to have the browser wait
+>> until all floating boxes have finished before rendering the footer, it
+>> would be sufficient to have `#footer { clear: both; }` and remove all
+>> the other footer-related `clear` attributes. I'm not sure what you mean
+>> by "clear above and below" - the clear attribute takes values none, left,
+>> right or both, and its purpose is to stop floating boxes (sidebars,
+>> mainly) from overlapping with footers.
+>>
+>> ... oh, I see what you mean - this affects inlines too. In inlinepage.tmpl
+>> we could wrap the "pseudo-footer" in `<div class="inlinefooter">` too?
+>> Then sites could choose whether to set clear:both on the inlinefooter
+>> or not, and this would be separate from the same styling on whole pages.
+>> I'll do some patches to add extra CSS hooks in the templates. --[[smcv]]
diff --git a/doc/bugs/html_errors.mdwn b/doc/bugs/html_errors.mdwn
index 5a60e0449..aef2f7f71 100644
--- a/doc/bugs/html_errors.mdwn
+++ b/doc/bugs/html_errors.mdwn
@@ -1,2 +1,5 @@
ikiwiki will generate html formatted error messages to the command
line if --cgi is set, even if it's not yet running as a cgi
+
+> [[done]], at last. Oldest open bug.. just thought of an elegant fix!
+> --[[Joey]]
diff --git a/doc/style.css b/doc/style.css
index b98507991..0e3bfb3e6 100644
--- a/doc/style.css
+++ b/doc/style.css
@@ -35,12 +35,14 @@
padding: .2em .4em;
}
-.tags {
+.pagefooter {
clear: both;
}
+.tags {
+}
+
#pageinfo {
- clear: both;
margin: 1em 0;
border-top: 1px solid #000;
}
@@ -140,12 +142,15 @@ div.recentchanges {
.pagedate,
.pagelicense,
.pagecopyright {
- clear: both;
font-style: italic;
display: block;
margin-top: 1em;
}
+.error {
+ color: #C00;
+}
+
/* Used for invalid form fields. */
.fb_invalid {
color: red;
diff --git a/doc/todo/darcs.mdwn b/doc/todo/darcs.mdwn
index c31ce105c..84c99daba 100644
--- a/doc/todo/darcs.mdwn
+++ b/doc/todo/darcs.mdwn
@@ -480,4 +480,8 @@ It is in a [darcs repository](http://joyful.com/darcsweb/darcsweb.cgi?r=ikiwiki-
> conflicts and return a page with conflict markers for the user to fix
> the conflict.
+I have addressed the recentchanges bit, you can find my hacked up darcs.pm at <http://web.mornfall.net/stuff/web-root/IkiWiki/Rcs/darcs.pm>.
+
+It's got couple of FIXMEs, and a very site-specific filter for recentchanges. Not sure how to do that better though. I will eventually add web commits, probably of my own (and mention it here).
+
[[tag patch]]
diff --git a/ikiwiki.in b/ikiwiki.in
index e0a591824..3bb881c43 100755
--- a/ikiwiki.in
+++ b/ikiwiki.in
@@ -123,7 +123,10 @@ sub main () { #{{{
}
elsif ($config{cgi}) {
require IkiWiki::CGI;
- cgi();
+ eval {cgi()};
+ if ($@) {
+ cgierror($@);
+ }
}
elsif ($config{render}) {
require IkiWiki::Render;
diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot
index 8aef6cc1a..f94f5bdd3 100644
--- a/po/ikiwiki.pot
+++ b/po/ikiwiki.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-07-11 06:04-0400\n"
+"POT-Creation-Date: 2008-07-12 23:07-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -50,7 +50,7 @@ msgid "%s is not an editable page"
msgstr ""
#: ../IkiWiki/CGI.pm:438 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:266 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/inline.pm:261 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:95
#: ../IkiWiki/Render.pm:162
msgid "discussion"
@@ -71,6 +71,10 @@ msgstr ""
msgid "You are banned."
msgstr ""
+#: ../IkiWiki/CGI.pm:758 ../IkiWiki/CGI.pm:759
+msgid "Error"
+msgstr ""
+
#: ../IkiWiki/Plugin/aggregate.pm:53
msgid "Aggregation triggered via web."
msgstr ""
@@ -148,7 +152,7 @@ msgstr ""
msgid "deleting bucket.."
msgstr ""
-#: ../IkiWiki/Plugin/amazon_s3.pm:37 ../IkiWiki/Setup.pm:115
+#: ../IkiWiki/Plugin/amazon_s3.pm:37 ../IkiWiki/Setup.pm:117
msgid "done"
msgstr ""
@@ -228,6 +232,10 @@ msgstr ""
msgid "prog not a valid graphviz program"
msgstr ""
+#: ../IkiWiki/Plugin/img.pm:49
+msgid "Image::Magick not installed"
+msgstr ""
+
#: ../IkiWiki/Plugin/img.pm:56
#, perl-format
msgid "bad size \"%s\""
@@ -253,29 +261,29 @@ msgstr ""
msgid "Must specify url to wiki with --url when using --rss or --atom"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:106
+#: ../IkiWiki/Plugin/inline.pm:101
msgid "missing pages parameter"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:154
+#: ../IkiWiki/Plugin/inline.pm:149
#, perl-format
msgid "unknown sort type %s"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:225
+#: ../IkiWiki/Plugin/inline.pm:220
msgid "Add a new post titled:"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:241
+#: ../IkiWiki/Plugin/inline.pm:236
#, perl-format
msgid "nonexistant template %s"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:274 ../IkiWiki/Render.pm:99
+#: ../IkiWiki/Plugin/inline.pm:269 ../IkiWiki/Render.pm:99
msgid "Discussion"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:504
+#: ../IkiWiki/Plugin/inline.pm:506
msgid "RPC::XML::Client not found, not pinging"
msgstr ""
@@ -297,15 +305,15 @@ msgstr ""
msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
msgstr ""
-#: ../IkiWiki/Plugin/meta.pm:137
+#: ../IkiWiki/Plugin/meta.pm:141
msgid "stylesheet not found"
msgstr ""
-#: ../IkiWiki/Plugin/meta.pm:171
+#: ../IkiWiki/Plugin/meta.pm:175
msgid "redir page not found"
msgstr ""
-#: ../IkiWiki/Plugin/meta.pm:184
+#: ../IkiWiki/Plugin/meta.pm:188
msgid "redir cycle is not allowed"
msgstr ""
@@ -387,11 +395,11 @@ msgstr ""
msgid "LWP not found, not pinging"
msgstr ""
-#: ../IkiWiki/Plugin/poll.pm:65
+#: ../IkiWiki/Plugin/poll.pm:60
msgid "vote"
msgstr ""
-#: ../IkiWiki/Plugin/poll.pm:73
+#: ../IkiWiki/Plugin/poll.pm:68
msgid "Total votes:"
msgstr ""
@@ -660,11 +668,11 @@ msgstr ""
msgid "generating wrappers.."
msgstr ""
-#: ../IkiWiki/Setup.pm:105
+#: ../IkiWiki/Setup.pm:107
msgid "rebuilding wiki.."
msgstr ""
-#: ../IkiWiki/Setup.pm:108
+#: ../IkiWiki/Setup.pm:110
msgid "refreshing wiki.."
msgstr ""
@@ -712,15 +720,15 @@ msgstr ""
msgid "Must specify url to wiki with --url when using --cgi"
msgstr ""
-#: ../IkiWiki.pm:194 ../IkiWiki.pm:195
-msgid "Error"
-msgstr ""
-
#. translators: The first parameter is a
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:770
+#: ../IkiWiki.pm:765
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr ""
+
+#: ../IkiWiki.pm:1203
+msgid "yes"
+msgstr ""
diff --git a/templates/inlinepage.tmpl b/templates/inlinepage.tmpl
index 71d57b008..ffcb897a8 100644
--- a/templates/inlinepage.tmpl
+++ b/templates/inlinepage.tmpl
@@ -1,4 +1,7 @@
<div class="inlinepage">
+
+<div class="inlineheader">
+
<TMPL_IF NAME="AUTHOR">
<span class="author">
<TMPL_IF NAME="AUTHORURL">
@@ -15,7 +18,14 @@
<a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a>
</TMPL_IF>
</span>
+
+</div><!--.inlineheader-->
+
+<div class="inlinecontent">
<TMPL_VAR CONTENT>
+</div><!--.inlinecontent-->
+
+<div class="inlinefooter">
<span class="pagedate">
Posted <TMPL_VAR CTIME>
@@ -52,7 +62,9 @@ License: <TMPL_VAR LICENSE>
<li><TMPL_VAR DISCUSSIONLINK></li>
</TMPL_IF>
</ul>
-</div>
+</div><!--.actions-->
</TMPL_IF>
-</div>
+</div><!--.inlinefooter-->
+
+</div><!--.inlinepage-->
diff --git a/templates/page.tmpl b/templates/page.tmpl
index 166f3c560..d39c9aa2a 100644
--- a/templates/page.tmpl
+++ b/templates/page.tmpl
@@ -17,6 +17,7 @@
</head>
<body>
+<div class="pageheader">
<div class="header">
<span>
<TMPL_LOOP NAME="PARENTLINKS">
@@ -50,6 +51,7 @@
</ul>
</div>
</TMPL_IF>
+</div> <!-- .pageheader -->
<TMPL_IF SIDEBAR>
<div id="sidebar">
@@ -61,7 +63,7 @@
<TMPL_VAR CONTENT>
</div>
-<div id="footer">
+<div id="footer" class="pagefooter">
<div id="pageinfo">
<TMPL_IF NAME="TAGS">
@@ -88,7 +90,7 @@ Links:
</span>
</span>
</TMPL_IF>
-</div>
+</div><!-- #backlinks -->
</TMPL_IF>
<TMPL_IF COPYRIGHT>
@@ -110,10 +112,10 @@ Last edited <TMPL_VAR NAME=MTIME>
<!-- Created <TMPL_VAR NAME=CTIME> -->
</div>
-</div>
+</div><!-- #pageinfo -->
<TMPL_IF EXTRAFOOTER><TMPL_VAR EXTRAFOOTER></TMPL_IF>
<!-- from <TMPL_VAR NAME=WIKINAME> -->
-</div>
+</div><!-- .pagefooter #footer -->
</body>
</html>