add --diffurl, if set RecentChanges has links to svn diffs
parent
b7c86dda2f
commit
773731743d
|
@ -25,7 +25,7 @@ extra_install:
|
||||||
cp templates/* $(PREFIX)/share/ikiwiki/templates
|
cp templates/* $(PREFIX)/share/ikiwiki/templates
|
||||||
|
|
||||||
install -d $(PREFIX)/share/ikiwiki/basewiki
|
install -d $(PREFIX)/share/ikiwiki/basewiki
|
||||||
cp basewiki/* $(PREFIX)/share/ikiwiki/basewiki
|
cp -a basewiki/* $(PREFIX)/share/ikiwiki/basewiki
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,8 @@ use IkiWiki::Setup::Standard {
|
||||||
|
|
||||||
url => "http://myhost/wiki",
|
url => "http://myhost/wiki",
|
||||||
cgiurl => "http://myhost/ikiwiki.cgi",
|
cgiurl => "http://myhost/ikiwiki.cgi",
|
||||||
#historyurl => "http://svn.myhost/trunk/[[]]",
|
#historyurl => "http://svn.myhost/trunk/[[file]]",
|
||||||
|
#diffurl => "http://svn.someurl/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]",
|
||||||
|
|
||||||
# Whether to integrate with svn.
|
# Whether to integrate with svn.
|
||||||
svn => 1,
|
svn => 1,
|
||||||
|
|
|
@ -87,11 +87,6 @@ design goals for ikiwiki: keeping as much markup as possible out of the
|
||||||
wiki and not adding nonstandard markup. And it's not significantly hard to
|
wiki and not adding nonstandard markup. And it's not significantly hard to
|
||||||
type "--\[[Joey]]", and as to the date, we do have page history.
|
type "--\[[Joey]]", and as to the date, we do have page history.
|
||||||
|
|
||||||
## recentchanges links to commit diffs
|
|
||||||
|
|
||||||
Would take a bit more viewcvs integration, let the be a "[diff]" link in
|
|
||||||
recentchanges that goes to the diff for any listed change.
|
|
||||||
|
|
||||||
## recentchanges more than 100
|
## recentchanges more than 100
|
||||||
|
|
||||||
Possibly add "next 100" link to it, but OTOH, you can just use svn log if
|
Possibly add "next 100" link to it, but OTOH, you can just use svn log if
|
||||||
|
|
|
@ -76,9 +76,18 @@ flags such as --verbose can be negated with --no-verbose.
|
||||||
|
|
||||||
Specifies the url to the ikiwiki [[CGI]] script [[wrapper]]. Required when building the wiki for links to the cgi script to be generated.
|
Specifies the url to the ikiwiki [[CGI]] script [[wrapper]]. Required when building the wiki for links to the cgi script to be generated.
|
||||||
|
|
||||||
* --historyurl http://svn.someurl/trunk/[[]]?root=wiki
|
* --historyurl http://svn.someurl/trunk/\[[file]]?root=wiki
|
||||||
|
|
||||||
Specifies the url to link to for page history browsing. In the url, "[[]]" is replaced with the page to browse. It's common to use [[ViewCVS]] for this.
|
Specifies the url to link to for page history browsing. In the url,
|
||||||
|
"\[[file]]" is replaced with the file to browse. It's common to use
|
||||||
|
[[ViewCVS]] for this.
|
||||||
|
|
||||||
|
* --diffurl http://svn.someurl/trunk/\[[file]]?root=wiki&r1=\[[r1]]&r2=\[[r2]]
|
||||||
|
|
||||||
|
Specifies the url to link to for a diff of changes to a page. In the url,
|
||||||
|
"\[[file]]" is replaced with the file to browse, "\[[r1]]" is the old
|
||||||
|
revision of the page, and "\[[r2]]" is the new revision. It's common to use
|
||||||
|
[[ViewCVS]] for this.
|
||||||
|
|
||||||
* --exclude regexp
|
* --exclude regexp
|
||||||
|
|
||||||
|
|
21
ikiwiki
21
ikiwiki
|
@ -13,7 +13,7 @@ my (%links, %oldlinks, %oldpagemtime, %renderedfiles, %pagesources);
|
||||||
# Holds global config settings, also used by some modules.
|
# Holds global config settings, also used by some modules.
|
||||||
our %config=( #{{{
|
our %config=( #{{{
|
||||||
wiki_file_prune_regexp => qr{((^|/).svn/|\.\.|^\.|\/\.|\.html?$)},
|
wiki_file_prune_regexp => qr{((^|/).svn/|\.\.|^\.|\/\.|\.html?$)},
|
||||||
wiki_link_regexp => qr/\[\[([^\s]+)\]\]/,
|
wiki_link_regexp => qr/\[\[([^\s\]]+)\]\]/,
|
||||||
wiki_file_regexp => qr/(^[-A-Za-z0-9_.:\/+]+$)/,
|
wiki_file_regexp => qr/(^[-A-Za-z0-9_.:\/+]+$)/,
|
||||||
verbose => 0,
|
verbose => 0,
|
||||||
wikiname => "wiki",
|
wikiname => "wiki",
|
||||||
|
@ -23,6 +23,7 @@ our %config=( #{{{
|
||||||
url => '',
|
url => '',
|
||||||
cgiurl => '',
|
cgiurl => '',
|
||||||
historyurl => '',
|
historyurl => '',
|
||||||
|
diffurl => '',
|
||||||
anonok => 0,
|
anonok => 0,
|
||||||
rebuild => 0,
|
rebuild => 0,
|
||||||
wrapper => undef,
|
wrapper => undef,
|
||||||
|
@ -46,6 +47,7 @@ GetOptions( #{{{
|
||||||
"url=s" => \$config{url},
|
"url=s" => \$config{url},
|
||||||
"cgiurl=s" => \$config{cgiurl},
|
"cgiurl=s" => \$config{cgiurl},
|
||||||
"historyurl=s" => \$config{historyurl},
|
"historyurl=s" => \$config{historyurl},
|
||||||
|
"diffurl=s" => \$config{diffurl},
|
||||||
"exclude=s@" => sub {
|
"exclude=s@" => sub {
|
||||||
$config{wiki_file_prune_regexp}=qr/$config{wiki_file_prune_regexp}|$_[1]/;
|
$config{wiki_file_prune_regexp}=qr/$config{wiki_file_prune_regexp}|$_[1]/;
|
||||||
},
|
},
|
||||||
|
@ -344,7 +346,7 @@ sub finalize ($$$) { #{{{
|
||||||
|
|
||||||
if (length $config{historyurl}) {
|
if (length $config{historyurl}) {
|
||||||
my $u=$config{historyurl};
|
my $u=$config{historyurl};
|
||||||
$u=~s/\[\[\]\]/$pagesources{$page}/g;
|
$u=~s/\[\[file\]\]/$pagesources{$page}/g;
|
||||||
$template->param(historyurl => $u);
|
$template->param(historyurl => $u);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -571,8 +573,15 @@ sub rcs_recentchanges ($) { #{{{
|
||||||
$when=concise(ago(time - str2time($3)));
|
$when=concise(ago(time - str2time($3)));
|
||||||
}
|
}
|
||||||
elsif ($state eq 'header' && /^\s+[A-Z]\s+\Q$svn_base\E\/([^ ]+)(?:$|\s)/) {
|
elsif ($state eq 'header' && /^\s+[A-Z]\s+\Q$svn_base\E\/([^ ]+)(?:$|\s)/) {
|
||||||
push @pages, { link => htmllink("", pagename($1), 1) }
|
my $file=$1;
|
||||||
if length $1;
|
my $diffurl=$config{diffurl};
|
||||||
|
$diffurl=~s/\[\[file\]\]/$file/g;
|
||||||
|
$diffurl=~s/\[\[r1\]\]/$rev - 1/eg;
|
||||||
|
$diffurl=~s/\[\[r2\]\]/$rev/g;
|
||||||
|
push @pages, {
|
||||||
|
link => htmllink("", pagename($file), 1),
|
||||||
|
diffurl => $diffurl,
|
||||||
|
} if length $file;
|
||||||
}
|
}
|
||||||
elsif ($state eq 'header' && /^$/) {
|
elsif ($state eq 'header' && /^$/) {
|
||||||
$state='body';
|
$state='body';
|
||||||
|
@ -592,7 +601,8 @@ sub rcs_recentchanges ($) { #{{{
|
||||||
user => htmllink("", $user, 1),
|
user => htmllink("", $user, 1),
|
||||||
committype => $committype,
|
committype => $committype,
|
||||||
when => $when, message => [@message],
|
when => $when, message => [@message],
|
||||||
pages => [@pages] } if @pages;
|
pages => [@pages],
|
||||||
|
} if @pages;
|
||||||
return @ret if @ret >= $num;
|
return @ret if @ret >= $num;
|
||||||
|
|
||||||
$state='header';
|
$state='header';
|
||||||
|
@ -765,6 +775,7 @@ sub gen_wrapper (@) { #{{{
|
||||||
push @params, "--url=$config{url}" if length $config{url};
|
push @params, "--url=$config{url}" if length $config{url};
|
||||||
push @params, "--cgiurl=$config{cgiurl}" if length $config{cgiurl};
|
push @params, "--cgiurl=$config{cgiurl}" if length $config{cgiurl};
|
||||||
push @params, "--historyurl=$config{historyurl}" if length $config{historyurl};
|
push @params, "--historyurl=$config{historyurl}" if length $config{historyurl};
|
||||||
|
push @params, "--diffurl=$config{diffurl}" if length $config{diffurl};
|
||||||
push @params, "--anonok" if $config{anonok};
|
push @params, "--anonok" if $config{anonok};
|
||||||
my $params=join(" ", @params);
|
my $params=join(" ", @params);
|
||||||
my $call='';
|
my $call='';
|
||||||
|
|
3
mdwn2man
3
mdwn2man
|
@ -4,12 +4,11 @@
|
||||||
print ".TH ikiwiki 1\n";
|
print ".TH ikiwiki 1\n";
|
||||||
|
|
||||||
while (<>) {
|
while (<>) {
|
||||||
|
s{(\\?)\[\[([^\s\]]+)\]\]}{$1 ? "[[$2]]" : $2}eg;
|
||||||
s/^#\s/.SH /;
|
s/^#\s/.SH /;
|
||||||
s/^\s+//;
|
s/^\s+//;
|
||||||
s/^Warning:.*//g;
|
s/^Warning:.*//g;
|
||||||
s/^$/.PP\n/;
|
s/^$/.PP\n/;
|
||||||
s/\[\[//g;
|
|
||||||
s/\]\]//g;
|
|
||||||
s/\`//g;
|
s/\`//g;
|
||||||
s/^\*\s+(.*)/.IP "$1"/;
|
s/^\*\s+(.*)/.IP "$1"/;
|
||||||
next if $_ eq ".PP\n" && $skippara;
|
next if $_ eq ".PP\n" && $skippara;
|
||||||
|
|
|
@ -13,6 +13,9 @@
|
||||||
<li> <!-- <TMPL_VAR NAME="REV"> -->
|
<li> <!-- <TMPL_VAR NAME="REV"> -->
|
||||||
<TMPL_LOOP NAME="PAGES">
|
<TMPL_LOOP NAME="PAGES">
|
||||||
<TMPL_VAR NAME="LINK">
|
<TMPL_VAR NAME="LINK">
|
||||||
|
<TMPL_IF NAME="DIFFURL">
|
||||||
|
(<a href="<TMPL_VAR NAME="DIFFURL">">diff</a>)
|
||||||
|
</TMPL_IF>
|
||||||
</TMPL_LOOP>
|
</TMPL_LOOP>
|
||||||
<br>
|
<br>
|
||||||
<!-- <TMPL_VAR NAME="COMMITTYPE"> -->
|
<!-- <TMPL_VAR NAME="COMMITTYPE"> -->
|
||||||
|
|
Loading…
Reference in New Issue