+
+This is some preformatted text. Each line is proceeded by four spaces.
+
+ Test
+
+
+
+
+
+
+
+
+
+
+...Now why doesn't it work like that on my copy of ikiwiki? :(
+
+Räksmörgås.
+
+`pre?`
+
+
diff --git a/doc/sandbox/New_blog_entry.mdwn b/doc/sandbox/New_blog_entry.mdwn
new file mode 100644
index 000000000..932728561
--- /dev/null
+++ b/doc/sandbox/New_blog_entry.mdwn
@@ -0,0 +1,3 @@
+Räksmörgåstest.
+
+ããã«ã¼
diff --git a/doc/templates/gitbranch.mdwn b/doc/templates/gitbranch.mdwn
index 4fdf937ff..853da9280 100644
--- a/doc/templates/gitbranch.mdwn
+++ b/doc/templates/gitbranch.mdwn
@@ -1,8 +1,8 @@
-
+
Available in a [[!taglink /git]] repository [[!taglink branch|/branches]].
-Branch:
-Author:
-
+Branch:
+Author:
+
This template is used to create an infobox for a git branch. It uses
these parameters:
diff --git a/doc/tips/Hosting_Ikiwiki_and_master_git_repository_on_different_machines.mdwn b/doc/tips/Hosting_Ikiwiki_and_master_git_repository_on_different_machines.mdwn
index baf7ac6c8..35feacb71 100644
--- a/doc/tips/Hosting_Ikiwiki_and_master_git_repository_on_different_machines.mdwn
+++ b/doc/tips/Hosting_Ikiwiki_and_master_git_repository_on_different_machines.mdwn
@@ -149,3 +149,8 @@ the IkiWiki machine, and here is the deadlock. Explanations of the command:
- *Using [[gitolite|https://github.com/sitaramc/gitolite]] to manage
repositories on the git machine* Simply replace the manipulations of git on
the git machine by the corresponding manipulations using gitolite.
+ * With gitolite, you can use this line in a `post-update` hook:
+
+ `[ x"$GL_USER" = x"`*`gitolite-user`*`" ] || wget ...`
+
+ thus, you filter out precisely the events that originate from the server-to-be-pinged, no matter what the commit id says. (For example, if you push commits you created on a local CGI ikiwiki, they'd be called '@web' as well).
diff --git a/doc/todo/Option_linktext_for_pagestats_directive.mdwn b/doc/todo/Option_linktext_for_pagestats_directive.mdwn
index 16fc3c512..8bbb7c2cf 100644
--- a/doc/todo/Option_linktext_for_pagestats_directive.mdwn
+++ b/doc/todo/Option_linktext_for_pagestats_directive.mdwn
@@ -182,3 +182,15 @@ Here is a [[patch]] that adds an option `disp` for the [[ikiwiki/directive/pages
Regards,
-- [[Louis|spalax]]
+
+> Saved to my git repository as `contrib/spalax/pagestats-disp`.
+> I'd rather find a better name than `disp` for the parameter.
+> I think `display` would be an improvement, but that doesn't solve the
+> problem of "it's a synonym for show, and non-obvious which is which".
+> Maybe `linktext`?
+>
+> It's unfortunate that `map` and `pagestats` have different meanings for
+> the `show` parameter. I'm tempted to propose a patch that adds something
+> like `limit` (by analogy with SQL) or `max` as the canonical name for the
+> "number of things to match" parameter, at which point a non-numeric
+> `show` could mean this thing. --[[smcv]]
diff --git a/doc/todo/bitcoin_URI_scheme.mdwn b/doc/todo/bitcoin_URI_scheme.mdwn
new file mode 100644
index 000000000..a0f3e1153
--- /dev/null
+++ b/doc/todo/bitcoin_URI_scheme.mdwn
@@ -0,0 +1,16 @@
+This is a tiny feature request:
+
+add the bitcoin URI scheme [1] to ikiwiki.
+
+This can be done by adding '"bitcoin",' to Ikiwiki/Plugin/htmlscrubber.pm
+
+- "aim", "callto", "cvs", "ed2k", "feed", "fish", "gg",
+to
++ "aim", "bitcoin", "callto", "cvs", "ed2k", "feed", "fish", "gg",
+
+thanks
+
+flowolf
+[1]: http://en.wikipedia.org/wiki/URI_scheme
+
+> I agree and this was important enough to fire up the ol' wayback machine, set the dial to one year ago today, and fix it then, in version 3.20130212. [[done]]. As a bonus, in this new hardforked casuality chain, someone sent me half a bitcoin using this feature. --[[Joey]]
diff --git a/doc/todo/edittemplate_should_support_uuid__44___date_variables.mdwn b/doc/todo/edittemplate_should_support_uuid__44___date_variables.mdwn
index 7ec95b536..4f83c8bf5 100644
--- a/doc/todo/edittemplate_should_support_uuid__44___date_variables.mdwn
+++ b/doc/todo/edittemplate_should_support_uuid__44___date_variables.mdwn
@@ -1,3 +1,4 @@
+[[!template id=gitbranch branch=anderbubble/edittemplate author="Jonathon Anderson"]]
[[!tag wishlist patch]]
I use a default template for all new pages:
@@ -17,3 +18,31 @@ I've already made these changes in my installation, and have made my patches ava
Changes to the structure of `$pagestate{$registering_page}{edittemplate}{$pagespec}` mean that a `cgi` rebuild is necessary (for reasons I don't entirely understand); but I think that's preferable to creating an entirely separate `$pagestate` namespace for storing parameters. That said, I'm not really a perl programmer, so corrections are welcome.
> I like this patch. I hate seeing things I've already read get marked as unread in my rss feed. -- [[JoshBBall]]
+
+>> (I don't have commit access so take this with a pinch of salt -
+>> I'm just trying to help deal with the code-review backlog.)
+>>
+>> I mostly like the first and third patches in the branch (adding v4
+>> (random) UUIDs, and adding the timestamps). I'd be tempted to rename
+>> `time` and `formatted_time` to `iso_time` and `time`, but that's
+>> a matter of taste, and perhaps people with commit access have
+>> stronger opinions one way or another. I haven't researched
+>> whether there's precendent for any particular naming style
+>> elsewhere in ikiwiki.
+>>
+>> The UUID bit would require adding some reference to libuuid-tiny-perl
+>> to the Debian packaging - I think a `Recommends` is too strong
+>> but a `Suggests` seems OK.
+>>
+>> I don't like the second patch (adding URL-namespaced UUID support).
+>> I'm having a hard time thinking of any situation in which a v4 UUID
+>> would be unsuitable, which means it's unnecessary complexity.
+>> FYI, the reason that it makes a rebuild is necessary is that
+>> you've restructured `$pagestate`, which is carried over from one
+>> refresh to the next (that's its purpose), and you haven't
+>> built in any migration or backwards-compatibility code that will
+>> cope with it being in the old format. My inclination would be to
+>> drop that patch. If there's a really good reason to prefer
+>> v3/v5 UUIDs, please describe it and I'll try to suggest some
+>> better way based on that, maybe global configuration in `$config`.
+>> --[[smcv]]
diff --git a/doc/todo/expose_html_language_and_direction.mdwn b/doc/todo/expose_html_language_and_direction.mdwn
index c68834456..f321e4f52 100644
--- a/doc/todo/expose_html_language_and_direction.mdwn
+++ b/doc/todo/expose_html_language_and_direction.mdwn
@@ -8,3 +8,8 @@ This means:
2. Content can correctly be tagged with the language code, to enable screenreaders and other accessibility providers to render/speak the text in the correct language.
The [[patch]] is currently being used on http://addons.nvda-project.org and seems to work well. --[[mhameed]]
+
+> I don't have commit access, but it [[seems reasonable|/users/smcv/yesplease]].
+> --[[smcv]]
+
+>> [[done]]] --[[Joey]]
diff --git a/doc/todo/missingparents.pm.mdwn b/doc/todo/missingparents.pm.mdwn
index cecac7a94..b257760ce 100644
--- a/doc/todo/missingparents.pm.mdwn
+++ b/doc/todo/missingparents.pm.mdwn
@@ -30,6 +30,12 @@ This patch, or one like it, would enable better blogging support, by adding
the ability to hierarchically organize blog posts and automatically generate
structural pages for year, month, or day. Please apply. --Ethan
+> This looks a lot like [[plugins/autoindex]], except limited to a subset
+> of pages, and with different templates according to the page it's used
+> on. Perhaps it could become several enhancements for autoindex? --[[smcv]]
+
+----
+
Index: IkiWiki/Render.pm
===================================================================
diff --git a/doc/todo/support_linking_to_cgit.mdwn b/doc/todo/support_linking_to_cgit.mdwn
index 00afb82fd..ab6172ad1 100644
--- a/doc/todo/support_linking_to_cgit.mdwn
+++ b/doc/todo/support_linking_to_cgit.mdwn
@@ -25,6 +25,21 @@ the substitution of `\[[file]]` in `diffurl` and `historyurl`?
>>> for the Git plugin. Please review and merge if you like
>>> it. --[[intrigeri]]
+>>>> Ping? --[[intrigeri]]
+
+>>>> Normally, my tendency towards pedantic preservation of existing APIs
+>>>> would make me implement a new token \[[file_less_escaped]] or
+>>>> something, analogous to `%s` vs. `%S` in [[shortcuts]]; but
+>>>> gitweb and cgit are both OK with `/` not being escaped, whereas
+>>>> only gitweb allows it to be escaped as `%2F`, so I think your
+>>>> solution is fine. Also, it would need a much better name than
+>>>> \[[file_less_escaped]], and I can't think of one.
+>>>>
+>>>> I don't have commit access to ikiwiki.info, but if I did,
+>>>> [[I'd merge this|/users/smcv/yesplease]]. --[[smcv]]
+
+>>>>> [[merged|done]] --[[Joey]]
+
[[wishlist]]
[[!tag patch]]
diff --git a/doc/users/holger.mdwn b/doc/users/holger.mdwn
new file mode 100644
index 000000000..9f0e3c017
--- /dev/null
+++ b/doc/users/holger.mdwn
@@ -0,0 +1,3 @@
+I'm sysadmin at a german university.
+
+I'm using ikiwiki as personal wiki at work and at home.
diff --git a/doc/users/smcv.mdwn b/doc/users/smcv.mdwn
index 59d1affba..a4eb564ce 100644
--- a/doc/users/smcv.mdwn
+++ b/doc/users/smcv.mdwn
@@ -7,4 +7,4 @@ My repository containing ikiwiki branches:
* gitweb: http://git.pseudorandom.co.uk/smcv/ikiwiki.git
* anongit: git://git.pseudorandom.co.uk/git/smcv/ikiwiki.git
-Currently thinking about a [[users/smcv/gallery]] plugin.
+Recently tried to [[help with the review backlog|yesplease]].
diff --git a/doc/users/smcv/yesplease.mdwn b/doc/users/smcv/yesplease.mdwn
new file mode 100644
index 000000000..b100b374e
--- /dev/null
+++ b/doc/users/smcv/yesplease.mdwn
@@ -0,0 +1,7 @@
+A tag for patches that I would merge if I had commit access to ikiwiki,
+in the hope that it's a useful shortlist for committers to look at.
+They're mirrored in my git repository under the `ready/*` namespace.
+
+[[!inline pages="(todo/* or bugs/*) and link(patch) and !link(bugs/done) and
+ !link(todo/done) and link(users/smcv/yesplease) and !*/Discussion"
+ archive="yes"]]
diff --git a/icons/aol.svg b/icons/aol.svg
new file mode 100644
index 000000000..3986767db
--- /dev/null
+++ b/icons/aol.svg
@@ -0,0 +1,101 @@
+
+
+
+
diff --git a/icons/livejournal.svg b/icons/livejournal.svg
new file mode 100644
index 000000000..381d88170
--- /dev/null
+++ b/icons/livejournal.svg
@@ -0,0 +1,108 @@
+
+
+
+
diff --git a/icons/verisign.svg b/icons/verisign.svg
new file mode 100644
index 000000000..cbdb21dc1
--- /dev/null
+++ b/icons/verisign.svg
@@ -0,0 +1,112 @@
+
+
+
+
diff --git a/t/git.t b/t/git.t
index 6d847dfb0..0396ae065 100755
--- a/t/git.t
+++ b/t/git.t
@@ -16,13 +16,14 @@ BEGIN {
die $@;
}
}
-use Test::More tests => 18;
+use Test::More tests => 22;
BEGIN { use_ok("IkiWiki"); }
%config=IkiWiki::defaultconfig();
$config{rcs} = "git";
$config{srcdir} = "$dir/src";
+$config{diffurl} = '/nonexistent/cgit/plain/[[file]]';
IkiWiki::loadplugins();
IkiWiki::checkconfig();
@@ -94,4 +95,26 @@ is($changes[0]{pages}[0]{"page"}, "newdir/test5");
IkiWiki::rcs_remove("newdir/test5.mdwn");
IkiWiki::rcs_commit_staged(message => "Remove the 5th page");
+# diffurl escaping
+ok(mkdir($config{srcdir}."/diffurl_dir"));
+my $test3 = readfile("t/test1.mdwn");
+writefile('test3.mdwn', $config{srcdir}."/diffurl_dir", $test3);
+IkiWiki::rcs_add("diffurl_dir/test3.mdwn");
+IkiWiki::rcs_commit(
+ file => "diffurl_dir/test3.mdwn",
+ message => "Added a page in diffurl_dir",
+ token => "moo",
+);
+
+@changes = IkiWiki::rcs_recentchanges(5);
+
+is($#changes, 4);
+is($changes[0]{pages}[0]{"page"}, "diffurl_dir/test3");
+
+unlike(
+ $changes[0]{pages}[0]{"diffurl"},
+ qr{%2F}m,
+ q{path separators are preserved when UTF-8scaping filename}
+);
+
system "rm -rf $dir";
diff --git a/t/syslog.t b/t/syslog.t
new file mode 100644
index 000000000..ffe8635b3
--- /dev/null
+++ b/t/syslog.t
@@ -0,0 +1,18 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+use Test::More tests => 5;
+use utf8;
+
+BEGIN { use_ok("IkiWiki"); }
+
+$IkiWiki::config{verbose} = 1;
+$IkiWiki::config{syslog} = 1;
+
+$IkiWiki::config{wikiname} = 'ASCII';
+is(debug('test'), '', 'plain ASCII syslog');
+$IkiWiki::config{wikiname} = 'not â¶SCII';
+is(debug('test'), '', 'UTF8 syslog');
+my $orig = $IkiWiki::config{wikiname};
+is(debug('test'), '', 'check for idempotency');
+is($IkiWiki::config{wikiname}, $orig, 'unchanged config');
diff --git a/t/template_syntax.t b/t/template_syntax.t
index 1e156eed8..e3d1feca9 100755
--- a/t/template_syntax.t
+++ b/t/template_syntax.t
@@ -3,7 +3,7 @@ use warnings;
use strict;
use Test::More;
-my @templates=glob("templates/*.tmpl"), glob("doc/templates/*.mdwn");
+my @templates=(glob("templates/*.tmpl"), glob("doc/templates/*.mdwn"));
plan(tests => 2*@templates);
use HTML::Template;
diff --git a/underlays/openid-selector/ikiwiki/openid/aol.png b/underlays/openid-selector/ikiwiki/openid/aol.png
new file mode 100644
index 000000000..d47f5fa54
Binary files /dev/null and b/underlays/openid-selector/ikiwiki/openid/aol.png differ
diff --git a/underlays/openid-selector/ikiwiki/openid/goa-account-flickr.png b/underlays/openid-selector/ikiwiki/openid/goa-account-flickr.png
new file mode 100644
index 000000000..5321642f6
Binary files /dev/null and b/underlays/openid-selector/ikiwiki/openid/goa-account-flickr.png differ
diff --git a/underlays/openid-selector/ikiwiki/openid/goa-account-google.png b/underlays/openid-selector/ikiwiki/openid/goa-account-google.png
new file mode 100644
index 000000000..ae1caa8a3
Binary files /dev/null and b/underlays/openid-selector/ikiwiki/openid/goa-account-google.png differ
diff --git a/underlays/openid-selector/ikiwiki/openid/goa-account-yahoo.png b/underlays/openid-selector/ikiwiki/openid/goa-account-yahoo.png
new file mode 100644
index 000000000..51e1c119b
Binary files /dev/null and b/underlays/openid-selector/ikiwiki/openid/goa-account-yahoo.png differ
diff --git a/underlays/openid-selector/ikiwiki/openid/livejournal.png b/underlays/openid-selector/ikiwiki/openid/livejournal.png
new file mode 100644
index 000000000..d86ee5eac
Binary files /dev/null and b/underlays/openid-selector/ikiwiki/openid/livejournal.png differ
diff --git a/underlays/openid-selector/ikiwiki/openid/openid-jquery.js b/underlays/openid-selector/ikiwiki/openid/openid-jquery.js
index 056110384..8b8bbba5d 100644
--- a/underlays/openid-selector/ikiwiki/openid/openid-jquery.js
+++ b/underlays/openid-selector/ikiwiki/openid/openid-jquery.js
@@ -8,12 +8,12 @@ This code is licenced under the New BSD License.
var providers_large = {
google: {
name: 'Google',
- icon: 'http://google.com/favicon.ico',
+ icon: 'ikiwiki/openid/goa-account-google.png',
url: 'https://www.google.com/accounts/o8/id'
},
yahoo: {
name: 'Yahoo',
- icon: 'http://yahoo.com/favicon.ico',
+ icon: 'ikiwiki/openid/goa-account-yahoo.png',
url: 'http://me.yahoo.com/'
},
openid: {
@@ -26,43 +26,31 @@ var providers_large = {
var providers_small = {
livejournal: {
name: 'LiveJournal',
- icon: 'http://livejournal.com/favicon.ico',
+ icon: 'ikiwiki/openid/livejournal.png',
label: 'Enter your Livejournal username:',
url: 'http://{username}.livejournal.com/'
},
flickr: {
name: 'Flickr',
- icon: 'http://flickr.com/favicon.ico',
+ icon: 'ikiwiki/openid/goa-account-flickr.png',
label: 'Enter your Flickr username:',
url: 'http://flickr.com/photos/{username}/'
},
wordpress: {
name: 'Wordpress',
- icon: 'https://s2.wp.com/i/favicon.ico',
+ icon: 'ikiwiki/openid/wordpress.png',
label: 'Enter your Wordpress.com username:',
url: 'http://{username}.wordpress.com/'
},
- myopenid: {
- name: 'MyOpenID',
- icon: 'http://myopenid.com/favicon.ico',
- label: 'Enter your MyOpenID username:',
- url: 'http://{username}.myopenid.com/'
- },
- claimid: {
- name: 'ClaimID',
- icon: 'http://claimid.com/favicon.ico',
- label: 'Enter your ClaimID username:',
- url: 'http://claimid.com/{username}'
- },
aol: {
name: 'AOL',
- icon: 'http://aol.com/favicon.ico',
+ icon: 'ikiwiki/openid/aol.png',
label: 'Enter your AOL username:',
url: 'http://openid.aol.com/{username}'
},
verisign: {
name: 'Verisign',
- icon: 'http://verisign.com/favicon.ico',
+ icon: 'ikiwiki/openid/verisign.png',
label: 'Enter your Verisign username:',
url: 'http://{username}.pip.verisignlabs.com/'
}
diff --git a/underlays/openid-selector/ikiwiki/openid/verisign.png b/underlays/openid-selector/ikiwiki/openid/verisign.png
new file mode 100644
index 000000000..5120812ed
Binary files /dev/null and b/underlays/openid-selector/ikiwiki/openid/verisign.png differ
diff --git a/underlays/openid-selector/ikiwiki/openid/wordpress.png b/underlays/openid-selector/ikiwiki/openid/wordpress.png
new file mode 100644
index 000000000..96e08bd99
Binary files /dev/null and b/underlays/openid-selector/ikiwiki/openid/wordpress.png differ