diff options
author | Simon McVittie <http://smcv.pseudorandom.co.uk/> | 2008-07-13 15:29:28 +0100 |
---|---|---|
committer | Simon McVittie <http://smcv.pseudorandom.co.uk/> | 2008-07-13 15:29:28 +0100 |
commit | c588845a051da89505db9e55158783e1650ff0e2 (patch) | |
tree | 21586594be52aa5b638d02b674c58345627b23ea | |
parent | e41e96f8325aa4ada5b37b79812c47a8737b753c (diff) | |
parent | f6e6d561e9d0269d8b52bf926adb3f782e777bde (diff) |
Merge branch 'css'
-rw-r--r-- | IkiWiki.pm | 5 | ||||
-rw-r--r-- | IkiWiki/CGI.pm | 10 | ||||
-rw-r--r-- | IkiWiki/Plugin/img.pm | 2 | ||||
-rw-r--r-- | IkiWiki/Render.pm | 12 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | doc/bugs/Missing_build-dep_on_perlmagick__63__.mdwn | 3 | ||||
-rw-r--r-- | doc/bugs/__96____96__clear:_both__39____39___for___96__.page__42____39____63__.mdwn | 15 | ||||
-rw-r--r-- | doc/bugs/html_errors.mdwn | 3 | ||||
-rw-r--r-- | doc/style.css | 11 | ||||
-rw-r--r-- | doc/todo/darcs.mdwn | 4 | ||||
-rwxr-xr-x | ikiwiki.in | 5 | ||||
-rw-r--r-- | po/ikiwiki.pot | 50 | ||||
-rw-r--r-- | templates/inlinepage.tmpl | 16 | ||||
-rw-r--r-- | templates/page.tmpl | 10 |
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> |