+sub wiki_link($) {
+ my ($in) = @_;
+ # [[hostname|text]] makes a link
+ # [[hostname]] makes a link too
+ # if you add a * after [[ it's still the same, only not used for ssh_known_hosts in ud-generate
+ # [[-hostname]] are not links, but get added to known_hosts. we should drop the [[- ]] tho
+ $in =~ s#\[\[-(.*?)\]\]#$1#g;
+ $in =~ s#\[\[\*?(.*?)\|(.*?)\]\]#<a href="http://$1">$2</a>#g;
+ $in =~ s#\[\[\*?(.*?)\]\]#<a href="http://$1">$1</a>#g;
+ return $in;
+}
+
+# in the purpose field [[host|some other text]] (where some other text is optional)
+# makes a hyperlink on the web thing. we now also add these hosts to the ssh known_hosts
+# file. But so that we don't have to add everything we link we can add an asterisk
+# and say [[*... to ignore it. In order to be able to add stuff to ssh without
+# http linking it we also support [[-hostname]] entries.
+#
+# sponsors are also wikified like purpose. maybe others as well
+sub item_uplist($) {
+ my ($items) = @_;
+ my $out = undef;
+ my(@tmp) = @$items;
+
+ if (scalar @tmp>= 1) {
+ $out = "<ul>".
+ join("", map {
+ "<li>".wiki_link($_)."</li>\n";
+ } sort {my $A=$a; my $B=$b; $A =~ s/[\[\]\*]//g; $B =~ s/[\[\]\*]//g; $A cmp $B} @tmp
+ ).
+ "</ul>";
+ }
+ return $out;
+}
+
+#$SIG{__DIE__} = \&DieHandler;