diff options
author | Simon McVittie <smcv@debian.org> | 2012-03-18 15:31:41 +0000 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2012-03-18 15:31:41 +0000 |
commit | 4e54fa1144065b7ff99e88e6c61ff1fdcf6175c9 (patch) | |
tree | 6759b80b8722ea532385c9a3ccc74897b784967d /doc | |
parent | d70ba7cff3fc6cc78ea2f8eb0713212478ab6ba7 (diff) | |
parent | 0a9bb3edc2a9819ba87de1b6e57155120b6aba44 (diff) | |
download | ikiwiki-4e54fa1144065b7ff99e88e6c61ff1fdcf6175c9.tar ikiwiki-4e54fa1144065b7ff99e88e6c61ff1fdcf6175c9.tar.gz |
Merge tag '3.20120202' into trail3-integrated
Diffstat (limited to 'doc')
207 files changed, 2982 insertions, 339 deletions
diff --git a/doc/bugs/Broken_access_to_Ikiwiki_gitweb.mdwn b/doc/bugs/Broken_access_to_Ikiwiki_gitweb.mdwn index fed6cd026..902e4086f 100644 --- a/doc/bugs/Broken_access_to_Ikiwiki_gitweb.mdwn +++ b/doc/bugs/Broken_access_to_Ikiwiki_gitweb.mdwn @@ -1,5 +1,5 @@ I can't check the last changes in Ikiwiki using -[gitweb](http://git.ikiwiki.info/?p=ikiwiki). It looks like XML +gitweb. It looks like XML validation problem with HTML entity. When I click a appropriate link on a [[git]] page, then I can only @@ -12,8 +12,8 @@ see the following error message. --[[Paweł|ptecza]] > as the diff links in RecentChanges, both seem to be working. --[[Joey]] >> Hm. It's strange. I really could see the error message like above ->> when I sent my report. It seems that <http://git.ikiwiki.info/?p=ikiwiki> ->> URL works now. So, we should be happy that it was self-fixed bug ;) +>> when I sent my report. It seems that +>> works now. So, we should be happy that it was self-fixed bug ;) >> --[[Paweł|ptecza]] >>> If it happens again, maybe take a full dump of the page? [[done]] diff --git a/doc/bugs/Encoding_problem_in_calendar_plugin.mdwn b/doc/bugs/Encoding_problem_in_calendar_plugin.mdwn new file mode 100644 index 000000000..80e9f2c82 --- /dev/null +++ b/doc/bugs/Encoding_problem_in_calendar_plugin.mdwn @@ -0,0 +1,73 @@ +Hello, + +I studied this [[guy's problem|forum/Encoding_problem_in_french_with_ikiwiki-calendar]] and I propose here a (dirty) hack to correct it. + +Bug summary: when using the [[calendar plugin|plugins/calendar]] in French (`LANG=fr_FR.UTF-8`), "Décembre" (French for "December") is rendered as "Décembre". + +I managed to track this problem down to an encoding problem of `POSIX::strftime` in `Ikiwiki/Plugin/calendar.pm`. I used [[this guy's solution|http://www.perlmonks.org/?node_id=857018]] to solve the problem (the diff is printed below). + +The problem is that I do not know Perl, encoding is one of the thing I would be happy not to dive into, and it is the first time I contribute to Ikiwiki: I copied and made a few changes to the code I found without understanding it. So I am not sure that my code is neat, or works in every situation. Feel free to (help me to) improve it! + +Cheers, +Louis + +> Yes, this seems basically right. I've applied a modified version of this. +> [[done]] +> --[[Joey]] + + + diff --git a/IkiWiki/Plugin/calendar.pm b/IkiWiki/Plugin/calendar.pm + index c7d2b7c..1345939 100644 + --- a/IkiWiki/Plugin/calendar.pm + +++ b/IkiWiki/Plugin/calendar.pm + @@ -22,7 +22,14 @@ use warnings; + use strict; + use IkiWiki 3.00; + use Time::Local; + -use POSIX (); + + + +use POSIX qw/setlocale LC_TIME strftime/; + +use Encode; + +my ($strftime_encoding)= setlocale(LC_TIME)=~m#\.([^@]+)#; + +sub strftime_utf8 { + +# try to return an utf8 value from strftime + + $strftime_encoding ? Encode::decode($strftime_encoding, &strftime) : &strftime; + +} + + my $time=time; + my @now=localtime($time); + @@ -123,10 +130,10 @@ sub format_month (@) { + } + + # Find out month names for this, next, and previous months + - my $monthabbrev=POSIX::strftime("%b", @monthstart); + - my $monthname=POSIX::strftime("%B", @monthstart); + - my $pmonthname=POSIX::strftime("%B", localtime(timelocal(0,0,0,1,$pmonth-1,$pyear-1900))); + - my $nmonthname=POSIX::strftime("%B", localtime(timelocal(0,0,0,1,$nmonth-1,$nyear-1900))); + + my $monthabbrev=strftime_utf8("%b", @monthstart); + + my $monthname=strftime_utf8("%B", @monthstart); + + my $pmonthname=strftime_utf8("%B", localtime(timelocal(0,0,0,1,$pmonth-1,$pyear-1900))); + + my $nmonthname=strftime_utf8("%B", localtime(timelocal(0,0,0,1,$nmonth-1,$nyear-1900))); + + my $archivebase = 'archives'; + $archivebase = $config{archivebase} if defined $config{archivebase}; + @@ -182,7 +189,7 @@ EOF + my %dowabbr; + for my $dow ($week_start_day..$week_start_day+6) { + my @day=localtime(timelocal(0,0,0,$start_day++,$params{month}-1,$params{year}-1900)); + - my $downame = POSIX::strftime("%A", @day); + + my $downame = strftime_utf8("%A", @day); + my $dowabbr = substr($downame, 0, 1); + $downame{$dow % 7}=$downame; + $dowabbr{$dow % 7}=$dowabbr; + @@ -329,8 +336,8 @@ EOF + for (my $month = 1; $month <= 12; $month++) { + my @day=localtime(timelocal(0,0,0,15,$month-1,$params{year}-1900)); + my $murl; + - my $monthname = POSIX::strftime("%B", @day); + - my $monthabbr = POSIX::strftime("%b", @day); + + my $monthname = strftime_utf8("%B", @day); + + my $monthabbr = strftime_utf8("%b", @day); + $calendar.=qq{\t<tr>\n} if ($month % $params{months_per_row} == 1); + my $tag; + my $mtag=sprintf("%02d", $month); diff --git a/doc/bugs/RecentChanges_contains_invalid_XHTML.mdwn b/doc/bugs/RecentChanges_contains_invalid_XHTML.mdwn index aeeb9e21b..eb95e9992 100644 --- a/doc/bugs/RecentChanges_contains_invalid_XHTML.mdwn +++ b/doc/bugs/RecentChanges_contains_invalid_XHTML.mdwn @@ -1,4 +1,4 @@ -The final `</div>` in [`recentchanges.tmpl`][tmpl] gets wrapped in a +The final `</div>` in `recentchanges.tmpl` gets wrapped in a `<p>` tag for some reason, resulting in the following invalid XHTML at the end of the [[RecentChanges]] page @@ -17,7 +17,6 @@ plugin should be disabled on [[RecentChanges]]? See the [validator output][validate] for more details. - [tmpl]: http://git.ikiwiki.info/?p=ikiwiki;a=blob_plain;f=templates/recentchanges.tmpl;hb=HEAD [validate]: http://validator.w3.org/check?uri=http://ikiwiki.info/recentchanges/ - - - diff --git a/doc/bugs/Running_on_an_alternative_port_fails.mdwn b/doc/bugs/Running_on_an_alternative_port_fails.mdwn new file mode 100644 index 000000000..942700ba3 --- /dev/null +++ b/doc/bugs/Running_on_an_alternative_port_fails.mdwn @@ -0,0 +1,93 @@ +Can't appear to get 'wiki' functions (i.e. editing) running when ikiwiki is running on a port other than the default (port 80). Somewhere in the processing it considers the base URL to exclude the port number and the websever throws back an error finding the page. + +For example if you run on 'http://my.gear.xxx:8080/' then after clicking login (using default password auth) it will process and try to redirect you to 'http://my.gear.xxx/cgi-bin/ikiwiki.cgi'. I'm assuming that somewhere we've used the 'path' and the 'host' and dropped the remainder. I can figure out where this is yet but I'll post back if I get lucky. + + -- fergus + +NB: both the 'url' and the 'cgiurl' include the port and removing the port element provides the expected functionality. + +--- + +> I tried to reproduce this by making my laptop's web server use port +> 8080. Set up ikiwiki to use that in cgiurl and url, and had +> no problem with either openid or password auth login. +> +> Ikiwiki has had some changes in this area in the past year; you don't say +> what version you were using. It could also be a problem with your web +> server, conceviably, if didn't correctly communicate the port to the cgi +> program. --[[Joey]] + +--- + +>> I did think of that so threw a 'printenv' script to check the port was arriving +right. + +>>> SERVER_PORT=8181 +>>> HTTP_HOST=zippy0.ie0.cobbled.net + +[ ... ] + +>>>> In apache, `HTTP_HOST` includes the port. This is not part of the CGI +>>>> spec it seems, but perl's `CGI` module seems to rely on it, +>>>> in `virtual_port`: + +>>>>> my $vh = $self->http('x_forwarded_host') || $self->http('host'); +>>>>> my $protocol = $self->protocol; +>>>>> if ($vh) { +>>>>> return ($vh =~ /:(\d+)$/)[0] || ($protocol eq 'https' ? 443 : 80); + +>>>> The `CGI` module only looks at `SERVER_PORT` when there's no +>>>> `HTTP_HOST`. So this is either a bug in perl's CGI or thttpd. +>>>> --[[Joey]] + +[ ... ] + +--- + +>>>>> This is interesting. If HTTP_HOST is wrong then + +>>>>> 0. the client header must be wrong (i.e. not including the PORT) +>>>>> 0. `perl`'s doing something bad[tm] (or at least lazy) +>>>>> 0. `apache` is adding it +>>>>> 0. `thttpd` is stripping it + +>>>>> Quick hack shows that `thttpd` must be stripping the port +number from the `Host:` header. That can be fixed. + +>>>>> Thanks for the assist. -- fergus + +--- + +Patch for `thttpd-2.25b` for posterity and completeness + +[[!format patch """ + +diff --git a/libhttpd.c b/libhttpd.c +index 73689be..039b7e3 100644 +--- a/libhttpd.c ++++ b/libhttpd.c +@@ -2074,9 +2074,6 @@ httpd_parse_request( httpd_conn* hc ) + cp = &buf[5]; + cp += strspn( cp, " \t" ); + hc->hdrhost = cp; +- cp = strchr( hc->hdrhost, ':' ); +- if ( cp != (char*) 0 ) +- *cp = '\0'; + if ( strchr( hc->hdrhost, '/' ) != (char*) 0 || hc->hdrhost[0] == '.' ) + { + httpd_send_err( hc, 400, httpd_err400title, "", httpd_err400form, "" ); + +"""]] + +-- fergus + +--- + +I've gone ahead and filed a bug on CGI.pm too: +<https://rt.cpan.org/Ticket/Display.html?id=72678> --[[Joey]] + +--- + +That'll be an interesting discussion as I'd suggest that HTTP_ headers are defined in the CGI specification as client headers and thus what `thttpd` is doing is wrong (i.e. mangling the client's own representation). Whether a CGI client should trust HTTP_ header over the server is probably already settled by convention. + +-- fergus diff --git a/doc/bugs/Sub-Discussion_pages_have_a_broken___34__FormattingHelp__34___link.mdwn b/doc/bugs/Sub-Discussion_pages_have_a_broken___34__FormattingHelp__34___link.mdwn new file mode 100644 index 000000000..8f87329ae --- /dev/null +++ b/doc/bugs/Sub-Discussion_pages_have_a_broken___34__FormattingHelp__34___link.mdwn @@ -0,0 +1,3 @@ +For an example of what I mean, go to [[TourBusStop]]. Click the Discussion link. Click the <code>FormattingHelp</code> link. You'll be sent to [TourBusStop/ikiwiki/formatting](/TourBusStop/ikiwiki/formatting/) which of course doesn't exist. + +> A bug introduced in the last release. [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/UTF-8_in_attachment_filenames.mdwn b/doc/bugs/UTF-8_in_attachment_filenames.mdwn new file mode 100644 index 000000000..07fff88d2 --- /dev/null +++ b/doc/bugs/UTF-8_in_attachment_filenames.mdwn @@ -0,0 +1,25 @@ +I have ikiwiki_3.20111229 installed on Debian Squeeze (Perl 5.10.1, UTF-8 +locale). The attachment plugin mangles UTF8-encoded attachment filenames if +the name contains multibyte characters, e.g. "lää.png" becomes "lää.png". +Apparently glob returns byte strings which are subject to implicit +upgrading when concatenated with Perl strings. The following patch fixes +the problem for me: + +---- + + diff -r -U 1 a/attachment.pm b/attachment.pm + --- a/attachment.pm 2012-01-13 23:07:29.000000000 +0200 + +++ b/attachment.pm 2012-01-13 23:33:07.000000000 +0200 + @@ -274,2 +274,3 @@ + foreach my $filename (glob("$dir/*")) { + + $filename=Encode::decode_utf8($filename); + next unless -f $filename; + @@ -347,2 +348,3 @@ + foreach my $file (glob("$dir/*")) { + + $file = Encode::decode_utf8($file); + next unless -f $file; + +> Seems it only mangled display of the just-uploaded attachment's filename, +> the attachment was otherwise saved to disk with a valid UTF-8 name, and +> doing other stuff with it also was ok. In any case, I applied your patch, +> thanks. [[done]] --[[Joey]] diff --git a/doc/bugs/W3MMode_still_uses_http:__47____47__localhost__63__.mdwn b/doc/bugs/W3MMode_still_uses_http:__47____47__localhost__63__.mdwn new file mode 100644 index 000000000..3c28e379b --- /dev/null +++ b/doc/bugs/W3MMode_still_uses_http:__47____47__localhost__63__.mdwn @@ -0,0 +1,24 @@ +My setup matches w3mmode [[w3mmode/ikiwiki.setup]] exactly. +My doc/index.mdwn just has a line or two of plain text. +When I try to edit that page in w3m, it works fine until I push [Save Page]. +Then I just get a page that only contains "403". + +ikiwiki version is 3.20110715ubuntu1. +w3m is 0.5.3. + +-- [[terry|tjgolubi]] + +I made it work, though probably not completely, by renaming +~/.ikiwiki/wrappers/ikiwiki.cgi to ikiwiki2.cgi and replacing it with: + + #!/bin/bash + /home/tjgolubi/.ikiwiki/wrappers/ikiwiki2.cgi $* | sed -e 's,http://localhost,file://,g' + +I'm afraid that this hack may have bad side-effects, but I hope it points you to the cause/solution. +Of course, the next time I rerun ikiwiki --setup, it will overwrite my wrapper-wrapper. + +-- [[terry|tjgolubi]] + +I made a logfile of all the args, env, and stdin/stdout to/from my wrapper. If you're interested, I'll email it to you. I wasn't able to attach it here. + +-- [[terry|tjgolubi]] diff --git a/doc/bugs/attachment:_failed_to_get_filehandle.mdwn b/doc/bugs/attachment:_failed_to_get_filehandle.mdwn index 54f31a925..acfc60078 100644 --- a/doc/bugs/attachment:_failed_to_get_filehandle.mdwn +++ b/doc/bugs/attachment:_failed_to_get_filehandle.mdwn @@ -44,7 +44,7 @@ the error message like below: >>>>>> $CGI::VERSION='3.15'; >>>>> I've just checked in a fix that should work, can you test it? ->>>>> [diff](http://git.ikiwiki.info/?p=ikiwiki;a=commitdiff;h=71f10579c00a8ddc20ada1a1efd33aac25a3da7e) --[[Joey]] +>>>>> 71f10579c00a8ddc20ada1a1efd33aac25a3da7e --[[Joey]] >>>>>> I've patched `attachment.pm` module, but the bug still occurs. >>>>>> However I can see a little progress. I changed invoking `error()` @@ -63,7 +63,7 @@ the error message like below: >>>>>>> though. I've checked in a second try at dealing with things, can >>>>>>> you try it? --[[Joey]] ->>>>>>>> Do you mean that [diff](http://git.ikiwiki.info/?p=ikiwiki;a=commitdiff;h=66f35e30dcea03c631a293e2341771277543b4ae)? +>>>>>>>> Do you mean that 66f35e30dcea03c631a293e2341771277543b4ae? >>>>>>>> If so, then it causes "Internal Server Error" for me: >>>>>>>> Can't use string ("test.txt") as a symbol ref while "strict refs" in use at /usr/share/perl5/IkiWiki/Plugin/attachment.pm line 144. diff --git a/doc/bugs/backlink__40__.__41___doesn__39__t_work.mdwn b/doc/bugs/backlink__40__.__41___doesn__39__t_work.mdwn new file mode 100644 index 000000000..534e5a01f --- /dev/null +++ b/doc/bugs/backlink__40__.__41___doesn__39__t_work.mdwn @@ -0,0 +1,57 @@ +It seems `backlink(.)` doesn't work, that is, it doesn't match pages linked +to from the current page. + +If I have two test pages, `foo`, which links to `bar`, then (on the `foo` +page): + + * backlink(foo) lists 'bar' + * backlink(.) lists nothing + +tested with 3.20120109. + +— [[Jon]] + +> The attached patch should fix it: + +>> [[applied|done]] thanks --[[Joey]] + + From 30512ac5f6a724bafb1095ab246e0648999f7b6c Mon Sep 17 00:00:00 2001 + From: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> + Date: Fri, 13 Jan 2012 11:02:11 +0100 + Subject: [PATCH] backlink(.) should behave like backlink(<current page>) + + Since commit c4d4cad3befbbd444d094cbeb0b6ebba3910a025, the single dot in + a pagespec can be used to mean the current page. While this worked + correctly in link() it didn't work in backlink(). Fix this by explicitly + checking the testpage in backlink against . and replacing it with the + current location if necessary. + --- + IkiWiki.pm | 10 ++++++++-- + 1 files changed, 8 insertions(+), 2 deletions(-) + + diff --git a/IkiWiki.pm b/IkiWiki.pm + index 08e242a..bc56501 100644 + --- a/IkiWiki.pm + +++ b/IkiWiki.pm + @@ -2647,8 +2647,14 @@ sub match_link ($$;@) { + } + + sub match_backlink ($$;@) { + - my $ret=match_link($_[1], $_[0], @_); + - $ret->influences($_[1] => $IkiWiki::DEPEND_LINKS); + + my $page=shift; + + my $testpage=shift; + + my %params=@_; + + if ($testpage eq '.') { + + $testpage = $params{'location'} + + } + + my $ret=match_link($testpage, $page, @_); + + $ret->influences($testpage => $IkiWiki::DEPEND_LINKS); + return $ret; + } + + -- + 1.7.8.rc2.253.gdbf3 + + +> (you need to re-make IkiWiki for it to work) diff --git a/doc/bugs/blogspam__95__options_whitelist_vs._IPv6__63__.mdwn b/doc/bugs/blogspam__95__options_whitelist_vs._IPv6__63__.mdwn new file mode 100644 index 000000000..f3a39c02b --- /dev/null +++ b/doc/bugs/blogspam__95__options_whitelist_vs._IPv6__63__.mdwn @@ -0,0 +1,4 @@ +This is possibly/probably due to my weird setup, which is that I have apache behind nginx, with the result that apache sees the client's IPv4 address as having been mapped to IPv6. i.e. <tt>::ffff:10.11.12.13</tt>. That being the case, I currently need to specify that (with the <tt>::ffff:</tt> prepended) if I want to whitelist (or more importantly blacklist) and IPv4 address. + +It strikes me that this is liable to become more of a problem as people finally start using IPv6, so it might be worth ensuring that the code that compares IP addresses be able to treat the two formats (with and without the ffff's) as equivalent. --[[fil]] + diff --git a/doc/bugs/bzr-update-syntax-error.mdwn b/doc/bugs/bzr-update-syntax-error.mdwn index 800e5ebb2..bf715a29e 100644 --- a/doc/bugs/bzr-update-syntax-error.mdwn +++ b/doc/bugs/bzr-update-syntax-error.mdwn @@ -1,4 +1,4 @@ -On [Line #46 of the `bzr` plugin](http://git.ikiwiki.info/?p=ikiwiki;a=blob;f=IkiWiki/Rcs/bzr.pm;h=526036bf36e0ce5ec6fab47cb8a46991d2ebe0b2;hb=HEAD#l46) there's a mistalke. Instead of: +On Line #46 of the `bzr` plugin there's a mistalke. Instead of: my @cmdline = ("bzr", $config{srcdir}, "update"); diff --git a/doc/bugs/complex_wiki-code___40__braces__41___in_wikilink-text_breaks_wikilinks.mdwn b/doc/bugs/complex_wiki-code___40__braces__41___in_wikilink-text_breaks_wikilinks.mdwn index 364fae394..780e695c2 100644 --- a/doc/bugs/complex_wiki-code___40__braces__41___in_wikilink-text_breaks_wikilinks.mdwn +++ b/doc/bugs/complex_wiki-code___40__braces__41___in_wikilink-text_breaks_wikilinks.mdwn @@ -1,4 +1,4 @@ -Example (from [here](http://git.ikiwiki.info/?p=ikiwiki;a=blobdiff;f=doc/todo/matching_different_kinds_of_links.mdwn;h=26c5a072bf3cb205b238a4e6fd0882583a0b7609;hp=1d7c78d9065d78307b43a1f58a53300cde4015fa;hb=9b4c83127fdef0ceb682c104db9bfb321b17022e;hpb=df4cc4c16ca230ee99b80c80043ba54fb95f6e71)): +Example: <pre> [[`\[[!taglink TAG\]\]`|plugins/tag]] </pre> diff --git a/doc/bugs/conditional_preprocess_during_scan.mdwn b/doc/bugs/conditional_preprocess_during_scan.mdwn index 254ebac22..23b9fd2cc 100644 --- a/doc/bugs/conditional_preprocess_during_scan.mdwn +++ b/doc/bugs/conditional_preprocess_during_scan.mdwn @@ -28,7 +28,27 @@ reprocessed is done so in the same conditions as the original call. >> upstream. >> For what it's worth, I think that my post_scan hook mechanism would work ->> rather fine with your trail plugin. However, the case of the if +>> rather fine with your trail plugin. + +>>> We discussed this on IRC, and I think it's actually more complicated +>>> than that: the branch to sort by newest inlined entry wants a +>>> "pagespecs now work" hook, whereas for trail I want a "sorting now +>>> works" hook: +>>> +>>> * scan +>>> * pagespecs now work (post-scan) +>>> * Giuseppe's version of inline can decide what each inline +>>> contains, and thus decide where they go in `inline(mtime)` +>>> order +>>> * pagespecs and sorting now work (pre-render) +>>> * my trail plugin can decide what each trail contains, and +>>> also sort them in the right order (which might be +>>> `inline(mtime)`, so might be undefined until pagespecs work) +>>> * render +>>> +>>> --[[smcv]] + +>> However, the case of the if >> directive is considerably more complicated, because the conditional >> can introduce a much stronger feedback effect in the pre/post scanning >> dependency. In fact, it's probably possible to build a couple of pages diff --git a/doc/bugs/http_proxy_for_openid.mdwn b/doc/bugs/http_proxy_for_openid.mdwn index b7ae76aeb..566896ec3 100644 --- a/doc/bugs/http_proxy_for_openid.mdwn +++ b/doc/bugs/http_proxy_for_openid.mdwn @@ -78,3 +78,9 @@ Brian May >>>>> explicitly removed", so if ikiwiki can preferentially find that >>>>> installed, even with the above commit, `openid` won't be able to >>>>> traverse a proxy. --[[schmonz]] + +[[!template id=gitbranch branch=schmonz/proxies author="[[schmonz]]"]] + +>>>>> I bollixed up my git, recloned, and reapplied the diffs, so +>>>>> that commit won't exist anymore. My proxy-related changes are +>>>>> now on a branch. --[[schmonz]] diff --git a/doc/bugs/ikiwiki_overzealously_honours_locks_when_asked_for_forms.mdwn b/doc/bugs/ikiwiki_overzealously_honours_locks_when_asked_for_forms.mdwn new file mode 100644 index 000000000..1e74fe8db --- /dev/null +++ b/doc/bugs/ikiwiki_overzealously_honours_locks_when_asked_for_forms.mdwn @@ -0,0 +1,34 @@ +When an `ikiwiki` instance is holding a lock, a web user clicking on "add comment" (for example) will have to wait for the lock to be released. However, all they are then presented with is a web form. Perhaps CGI requests that are read-only (such as generating a comment form, or perhaps certain types of edits) should ignore locks? Of course, I'd understand that the submission would need to wait for a lock. — [[Jon]] + +> Ikiwiki has what I think of as the Big Wiki Lock (remembering the "Big +> Kernel Lock"). It takes the exclusive lock before loading any state, +> to ensure that any changes to that state are made safely. +> +> A few CGI actions that don't need that info loaded do avoid taking the +> lock. +> +> In the case of showing the comment form, the comments +> plugin needs CGI session information to be loaded, so it can check if +> the user is logged in, and so it can add XSRF prevention tokens based on +> the session ID. (Actually, it might be possible to rely on +> `CGI::Session`'s own locking of the sessions file, and have a hook that +> runs with a session but before the indexdb is loaded.) +> +> But, the comment form also needs to load the indexdb, in order to call +> `check_canedit`, which matches a pagespec, which can need to look things +> up in the indexdb. (Though the pagespecs that can do that are unlikely +> to be relevant when posting a comment.) +> +> I've thought about trying to get rid of the Big Wiki Lock from time to +> time. It's difficult though; if two ikiwikis are both making changes +> to the stored state, it's hard to see a way to reconcile them. (There +> could be a daemon that all changes are fed thru using a protocol, but +> that's really complicated, and it'd almost be better to have a single +> daemon that just runs ikiwiki; a major architectural change.) +> +> One way that *almost* seems it could work is to have a entry path +> that loads everything read-only, without a lock. And then in read-only +> mode, `saveindex` would be an error to run. However, both the commenting +> code and the page edit code currently have the same entry path for +> drawing the form as is used for handling the posted form, so they would +> need to be adapted to separate that into two code paths. --[[Joey]] diff --git a/doc/bugs/img_vs_align.mdwn b/doc/bugs/img_vs_align.mdwn index c78465a37..5eb4489b0 100644 --- a/doc/bugs/img_vs_align.mdwn +++ b/doc/bugs/img_vs_align.mdwn @@ -5,7 +5,7 @@ embedded as `<p><img ...></p>`. That's at least what I see on hand, CSS is supposed to be used instead, I guess. (But how... I forgot almost of my CSS foo again ;-) it seems.) --[[tschwinge]] -> [[!img logo/ikiwiki.png align=right]]The [img tag doesn't create P tags](http://git.ikiwiki.info/?p=ikiwiki;a=blob;f=IkiWiki/Plugin/img.pm;h=32023fa97af8ba8e63192cacaff10a4677d20654;hb=HEAD), but if you have surrounded the img directive with newlines, they will result in paragraph tags. +> [[!img logo/ikiwiki.png align=right]]The img tag doesn't create P tags, but if you have surrounded the img directive with newlines, they will result in paragraph tags. > > I've edited the URL you provided to demonstrate this -- hope you don't mind! I've also added an inline, right-aligned image to this page.[[!tag done]] > -- [[Jon]] diff --git a/doc/bugs/must_save_before_uploading_more_than_one_attachment.mdwn b/doc/bugs/must_save_before_uploading_more_than_one_attachment.mdwn index 66c763f58..20d5dc8e6 100644 --- a/doc/bugs/must_save_before_uploading_more_than_one_attachment.mdwn +++ b/doc/bugs/must_save_before_uploading_more_than_one_attachment.mdwn @@ -23,3 +23,10 @@ Is this a problem on my site or does anyone else see this? >> \[[!map pages="path/to/page/* and ! ... >> >> This told me that [[plugins/autoindex]] is the bad guy. Deactivating this plugin helps out. Don't know if this is worth fixing... I can live without that plugin. --bacuh + +>>> The right fix would probably be for `do=create` to allow replacing a page +>>> in the transient underlay without complaining (like the behaviour that +>>> `do=edit` normally has). That wouldn't help you unless [[plugins/autoindex]] +>>> defaulted to making transient pages (`autoindex_commit => 0`), but if we +>>> can fix [[removal_of_transient_pages]] then maybe that default can change? +>>> --[[smcv]] diff --git a/doc/bugs/octal_umask_setting_is_unintuitive.mdwn b/doc/bugs/octal_umask_setting_is_unintuitive.mdwn new file mode 100644 index 000000000..5cdefcf09 --- /dev/null +++ b/doc/bugs/octal_umask_setting_is_unintuitive.mdwn @@ -0,0 +1,55 @@ +To make ikiwiki publish world-readable files (usually what you want) +regardless of your umask, you override the `umask` setting to 022 +octal (which is 18 in decimal). So far so good. + +However, because it's interpreted as a plain number in Perl, the +way you set it varies between formats. In `IkiWiki::Setup::Standard` +you can use either + + umask => 022 + +or (less obviously) one of + + umask => 18 + umask => "18" + +but if you use + + umask => "022" + +you get the less than helpful umask of 026 octal (22 decimal). + +Similarly, in `IkiWiki::Setup::Yaml` (the default for +[ikiwiki-hosting](http://ikiwiki-hosting.branchable.com/) +you have to use one of + + umask: 18 + umask: "18" + +and if you try to say 022 you'll get 22 decimal = 026 octal. + +[[!tag patch]] +[[!template id=gitbranch branch=smcv/umask-keywords author="[[smcv]]"]] + +Perhaps the best way to solve this would be to have keywords +for the few values of `umask` that are actually useful? + +* `private` (= 077 octal = 63 decimal) +* `group` (= 027 octal = 23 decimal) +* `public` (= 022 octal = 18 decimal) + +I don't think g+w is a good idea in any case, because as +documented on [[security]], if ikiwiki makes its `srcdir` +group-writeable then any member of the group can "cause +trouble" (escalate privileges to those of the wiki user?) +via a symlink attack. So I don't think we need keywords +for those. + +--[[smcv]] + +> I support this change, but your git repository does not seem to have +> that branch (or anything) in it today. --[[Joey]] + +>> git pushes have a restrictive umask, ironically... fixed. --[[smcv]] + +>>> [[done]] --[[Joey]] diff --git a/doc/bugs/pagespec_error_on_refresh_but_not_rebuild.mdwn b/doc/bugs/pagespec_error_on_refresh_but_not_rebuild.mdwn index e89545955..df941af37 100644 --- a/doc/bugs/pagespec_error_on_refresh_but_not_rebuild.mdwn +++ b/doc/bugs/pagespec_error_on_refresh_but_not_rebuild.mdwn @@ -20,7 +20,7 @@ But there is no error if I use `ikiwiki --rebuild` to regenerate the whole thing > or give any information to reproduce the bug. > > My guess: A version older than 3.20100403, which included -> [this bugfix](http://git.ikiwiki.info/?p=ikiwiki;a=commitdiff;h=799b93d258bad917262ac160df74136f05d4a451), +> 799b93d258bad917262ac160df74136f05d4a451, > which could lead to incorrect "syntax error in pagespec" > that only happened some of the time. > diff --git a/doc/bugs/resized_img_with_only_width_or_height_breaks_ie.mdwn b/doc/bugs/resized_img_with_only_width_or_height_breaks_ie.mdwn new file mode 100644 index 000000000..a5a1c6768 --- /dev/null +++ b/doc/bugs/resized_img_with_only_width_or_height_breaks_ie.mdwn @@ -0,0 +1,9 @@ +When using the img directive while reducing the size of the image by only specifying either the width ("100x") or height ("x100"), the resulting HTML breaks/confuses IE (at least 8 and 9). + +In those cases img plugin do generate HTML with the missing attribute as "empty". For example, if the new size is specified as "100x", the resulting HTML will be <img ... width="100" height=""/>. When IE encounters such empty attributes, the image is sort of compressed into a one (1!) pixel high (or wide) image, which is **not** what you expected. + +If we instead always get the resulting the width and height from the resized image, and uses those values in the img attrs, we make IE happy (and all other renders as well). + +A patch (tested and deployed) is sitting waiting in my git repository. + +> I've applied your patch. Thanks! [[done]] --[[Joey]] diff --git a/doc/examples.mdwn b/doc/examples.mdwn index e24973b69..19631ad47 100644 --- a/doc/examples.mdwn +++ b/doc/examples.mdwn @@ -9,4 +9,4 @@ Each example is contained in its own subdirectory; just copy the source files into your wiki to start using one of the examples. The [[tips]] page has some other ideas for ways to use ikiwiki, and the -[[css_market]] has some example stylesheets to change ikiwiki's look. +[[css_market]] and [[theme market|themes]] has some example stylesheets to change ikiwiki's look. diff --git a/doc/examples/blog/posts/Discussion.mdwn b/doc/examples/blog/posts/Discussion.mdwn deleted file mode 100644 index f04a9558d..000000000 --- a/doc/examples/blog/posts/Discussion.mdwn +++ /dev/null @@ -1 +0,0 @@ -foo bar. diff --git a/doc/forum.mdwn b/doc/forum.mdwn index 19ca9ed0b..62b62a401 100644 --- a/doc/forum.mdwn +++ b/doc/forum.mdwn @@ -4,6 +4,7 @@ page fitting enough. Users of ikiwiki can ask questions here. Note that for more formal bug reports or todo items, you can also edit the [[bugs]] and [[todo]] pages. + ## Current topics ## [[!inline pages="forum/* and !forum/discussion and !forum/*/*" diff --git a/doc/forum/Are_these_revisions_legit_or_accidentally_committed_jiberish__63__.mdwn b/doc/forum/Are_these_revisions_legit_or_accidentally_committed_jiberish__63__.mdwn new file mode 100644 index 000000000..ec9980c30 --- /dev/null +++ b/doc/forum/Are_these_revisions_legit_or_accidentally_committed_jiberish__63__.mdwn @@ -0,0 +1,12 @@ +When rebuilding, I see + + building recentchanges/change_63476fba3a519d42ee56c7611250ada41111356d._change, which depends on templates/page.tmpl + building recentchanges/change_bd07c4308d5eea2cd27ad067a502318dc0e9c8bb._change, which depends on templates/page.tmpl + building recentchanges/change_6c2a66b022276951d79f29c1221d22fe1592f67f._change, which depends on templates/page.tmpl + building recentchanges/change_f08669f128d618d0da460234b2cee555b0818584._change, which depends on templates/page.tmpl + building recentchanges/change_b0347df66da5c515dc0d1d612ecdfbe203a0a674._change, which depends on templates/page.tmpl + building recentchanges/change_0bb246c481e9ede8686f6caa4de40b9e94642e40._change, which depends on templates/page.tmpl + building recentchanges/change_511846ca75fb2e87fb90582ead282d104a5e13fc._change, which depends on templates/page.tmpl + ... + +Are these accidentally committed gibberish? If so, how to remove them properly? diff --git a/doc/forum/Are_these_revisions_legit_or_accidentally_committed_jiberish__63__/comment_1_b425823f800fba82ad2aaaa0dbe6686a._comment b/doc/forum/Are_these_revisions_legit_or_accidentally_committed_jiberish__63__/comment_1_b425823f800fba82ad2aaaa0dbe6686a._comment new file mode 100644 index 000000000..9326f73d5 --- /dev/null +++ b/doc/forum/Are_these_revisions_legit_or_accidentally_committed_jiberish__63__/comment_1_b425823f800fba82ad2aaaa0dbe6686a._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 1" + date="2011-12-30T18:13:18Z" + content=""" +They are little per-change pages that are inlined together to produce your RecentChanges page. + +(They're not committed to git, only stored internally.) +"""]] diff --git a/doc/forum/Broken_after_upgrading_Ikiwiki.mdwn b/doc/forum/Broken_after_upgrading_Ikiwiki.mdwn new file mode 100644 index 000000000..aea5fdbd9 --- /dev/null +++ b/doc/forum/Broken_after_upgrading_Ikiwiki.mdwn @@ -0,0 +1,10 @@ +I upgraded my Debian server from 5 to 6, then I updated ikiwiki. Now I can't rebuild my Ikiwiki instance: + + $ ikiwiki --setup ./pages.setup + Failed to load plugin IkiWiki::Plugin::scrubber: Can't locate IkiWiki/Plugin/scrubber.pm in @INC (@INC contains: /home/xyzfoobar/devel/ikiwiki/lib /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at (eval 77) line 2. + BEGIN failed--compilation aborted at (eval 77) line 2. + + $ ikiwiki --version + ikiwiki version 3.20100815.7 + +What's the proper way to fix this? diff --git a/doc/forum/Broken_after_upgrading_Ikiwiki/comment_1_3d0588a845c58b3aedc35970e8dcc811._comment b/doc/forum/Broken_after_upgrading_Ikiwiki/comment_1_3d0588a845c58b3aedc35970e8dcc811._comment new file mode 100644 index 000000000..93360d167 --- /dev/null +++ b/doc/forum/Broken_after_upgrading_Ikiwiki/comment_1_3d0588a845c58b3aedc35970e8dcc811._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnZ0g2UAijV7RGrKtWPljCCAYHBJ3pwPvM" + nickname="Meng" + subject="comment 1" + date="2011-12-20T07:21:19Z" + content=""" +If I try to create new setup file + + $ ikiwiki --dumpsetup newpages.setup + Traceback (most recent call last): + File \"/usr/lib/ikiwiki/plugins/rst\", line 18, in <module> + from docutils.core import publish_parts; + ImportError: No module named docutils.core +"""]] diff --git a/doc/forum/Broken_after_upgrading_Ikiwiki/comment_2_fd65d4b87a735b67543bb0cf4053b652._comment b/doc/forum/Broken_after_upgrading_Ikiwiki/comment_2_fd65d4b87a735b67543bb0cf4053b652._comment new file mode 100644 index 000000000..47fa4ae7b --- /dev/null +++ b/doc/forum/Broken_after_upgrading_Ikiwiki/comment_2_fd65d4b87a735b67543bb0cf4053b652._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 2" + date="2011-12-20T15:16:23Z" + content=""" +Your setup file seems to refer to a \"scrubber\" plugin, which has never existed in ikiwiki. Perhaps a typo of \"htmlscrubber\"? + +3.20100815.7 is an old version of ikiwiki. The current version avoids the rst docutils breakage. Installing python-docutils on Debian can work around that problem as well. +"""]] diff --git a/doc/forum/Broken_after_upgrading_Ikiwiki/comment_3_7c8b46eabdb25cbc01c56c7b53ed3b91._comment b/doc/forum/Broken_after_upgrading_Ikiwiki/comment_3_7c8b46eabdb25cbc01c56c7b53ed3b91._comment new file mode 100644 index 000000000..72d38e76c --- /dev/null +++ b/doc/forum/Broken_after_upgrading_Ikiwiki/comment_3_7c8b46eabdb25cbc01c56c7b53ed3b91._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnZ0g2UAijV7RGrKtWPljCCAYHBJ3pwPvM" + nickname="Meng" + subject="comment 3" + date="2011-12-20T16:58:23Z" + content=""" +Thanks. That was exactly the issue. When editing my setup file, I accidentally splitted `htmlscrubber` to `html` and `scrubber`. +"""]] diff --git a/doc/forum/Calendar:_listing_multiple_entries_per_day.mdwn b/doc/forum/Calendar:_listing_multiple_entries_per_day.mdwn new file mode 100644 index 000000000..51c320067 --- /dev/null +++ b/doc/forum/Calendar:_listing_multiple_entries_per_day.mdwn @@ -0,0 +1,17 @@ +Hi, + +I'd very much like to be able to list my blog posts on a daily basis (used for logging work) - rather than have the Calendar plugin return the first post only. + +There was some effort to do this as detailed here. + +[[http://ikiwiki.info/todo/Set_arbitrary_date_to_be_used_by_calendar_plugin/]] + +I had a quick go at doing something similar on Debian Stable (Ikiwiki 3.0) but alas my Ikiwiki fu is not strong enough. + +I'm not sure how I go about swapping the link on the day number to a link to, I guess, a dynamically generated page of links? + + $linkcach{"$year/$mtag/$mday"}{$p} = ${p} + +and a suitable whilst loop looks to be all that's needed... + +Any pointers appreciated. diff --git a/doc/forum/Calendar:_listing_multiple_entries_per_day/comment_1_d3dd0b97c63d615e3dee22ceacaa5a30._comment b/doc/forum/Calendar:_listing_multiple_entries_per_day/comment_1_d3dd0b97c63d615e3dee22ceacaa5a30._comment new file mode 100644 index 000000000..ca287581a --- /dev/null +++ b/doc/forum/Calendar:_listing_multiple_entries_per_day/comment_1_d3dd0b97c63d615e3dee22ceacaa5a30._comment @@ -0,0 +1,83 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnXybLxkPMYpP3yw4b_I6IdC3cKTD-xEdU" + nickname="Matt" + subject="comment 1" + date="2011-11-29T00:52:49Z" + content=""" +So I ported the original patch mentioned to the latest Debian version. Well at least the bits that matter to me. See below. + +In doing so I realized that it does quite work how I imagined it would; instead of generating a dynamic page for a particular day with a list of links it actually fills in the calendar with the details of the posts (making for some ugly formatting). + +I'm hoping the tag generation pages will give me a clue how to alter this into what I want. + +<pre> +diff --git a/IkiWiki/Plugin/calendar.pm b/IkiWiki/Plugin/calendar.pm +index c7d2b7c..c931fe6 100644 +--- a/IkiWiki/Plugin/calendar.pm ++++ b/IkiWiki/Plugin/calendar.pm +@@ -75,6 +75,8 @@ sub format_month (@) { + my %params=@_; + + my %linkcache; ++ my @list; ++ my $detail = 1; + foreach my $p (pagespec_match_list($params{page}, + \"creation_year($params{year}) and creation_month($params{month}) and ($params{pages})\", + # add presence dependencies to update +@@ -88,7 +90,7 @@ sub format_month (@) { + my $mtag = sprintf(\"%02d\", $month); + + # Only one posting per day is being linked to. +- $linkcache{\"$year/$mtag/$mday\"} = $p; ++ $linkcache{\"$year/$mtag/$mday\"}{$p} = $IkiWiki::pagesources{$p}; + } + + my $pmonth = $params{month} - 1; +@@ -219,14 +221,38 @@ EOF + $tag='month-calendar-day-this-day'; + } + else { +- $tag='month-calendar-day-link'; ++ if ( $detail == 0 ) { ++ $tag='month-calendar-day-link'; ++ } ++ else{ ++ $tag='month-calendar-day'; ++ } + } + $calendar.=qq{\t\t<td class=\"$tag $downame{$wday}\">}; +- $calendar.=htmllink($params{page}, $params{destpage}, +- $linkcache{$key}, +- noimageinline => 1, +- linktext => $day, +- title => pagetitle(IkiWiki::basename($linkcache{$key}))); ++ if ( $detail == 0 ) { ++ $calendar.=htmllink($params{page}, $params{destpage}, ++ $linkcache{$key}, ++ noimageinline => 1, ++ linktext => $day, ++ title => pagetitle(IkiWiki::basename($linkcache{$key}))); ++ } ++ else { ++ my $day_label = qq{<span class=\"month-calendar-day-label\">$day</span>}; ++ $calendar.=qq{$day_label\n}; ++ my $srcpage; my $destpage; ++ while(($srcpage,$destpage) = each(%{$linkcache{$key}})) { ++ my $title = IkiWiki::basename(pagename($srcpage)); ++ if (exists $pagestate{$srcpage}{meta}{title} ) { ++ $title = $pagestate{$srcpage}{meta}{title}; ++ } ++ $calendar.=qq{\t\t<div class=\"$tag $downame{$wday}\">}; ++ $calendar.=htmllink($params{page}, $params{destpage}, ++ pagename($destpage), ++ linktext => $title); ++ push @list, pagename($linkcache{$key}{$srcpage}); ++ $calendar.=qq{\t\t</div>}; ++ } ++ } + $calendar.=qq{</td>\n}; + } + else { + +</pre> +"""]] diff --git a/doc/forum/Calendar:_listing_multiple_entries_per_day/comment_2_2311b96483bb91dc25d5e3695bbca513._comment b/doc/forum/Calendar:_listing_multiple_entries_per_day/comment_2_2311b96483bb91dc25d5e3695bbca513._comment new file mode 100644 index 000000000..ef100b555 --- /dev/null +++ b/doc/forum/Calendar:_listing_multiple_entries_per_day/comment_2_2311b96483bb91dc25d5e3695bbca513._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnXybLxkPMYpP3yw4b_I6IdC3cKTD-xEdU" + nickname="Matt" + subject="comment 2" + date="2011-11-29T01:30:09Z" + content=""" +To revert the changes made above it is necessary not only to switch the detail level back down but to also regenerate the side-bar index.html file + + ikiwiki --setup blog.setup + +should do it. +"""]] diff --git a/doc/forum/Calendar:_listing_multiple_entries_per_day/comment_3_d23f0cedd0b9e937eaf200eef55ac457._comment b/doc/forum/Calendar:_listing_multiple_entries_per_day/comment_3_d23f0cedd0b9e937eaf200eef55ac457._comment new file mode 100644 index 000000000..2433967e5 --- /dev/null +++ b/doc/forum/Calendar:_listing_multiple_entries_per_day/comment_3_d23f0cedd0b9e937eaf200eef55ac457._comment @@ -0,0 +1,166 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnXybLxkPMYpP3yw4b_I6IdC3cKTD-xEdU" + nickname="Matt" + subject="comment 3" + date="2011-11-30T20:42:55Z" + content=""" +I got to grip with things to make a patch to do this. :-) + +Here it is in case of use to anyone. + +<pre> +From f0554c5b61e1915086d5cf071f095ff233c2590d Mon Sep 17 00:00:00 2001 +From: Matt Ford <matt@dancingfrog.co.uk> +Date: Wed, 30 Nov 2011 19:40:10 +0000 +Subject: [PATCH] Patch to allow daily archival generation and link to them in + the calendar + +--- + IkiWiki/Plugin/calendar.pm | 17 ++++++++++++++++- + ikiwiki-calendar.in | 34 +++++++++++++++++++++++++++++++--- + templates/calendarday.tmpl | 5 +++++ + templates/calendarmonth.tmpl | 2 +- + templates/calendaryear.tmpl | 2 +- + 5 files changed, 54 insertions(+), 6 deletions(-) + create mode 100644 templates/calendarday.tmpl + +diff --git a/IkiWiki/Plugin/calendar.pm b/IkiWiki/Plugin/calendar.pm +index c7d2b7c..9999c03 100644 +--- a/IkiWiki/Plugin/calendar.pm ++++ b/IkiWiki/Plugin/calendar.pm +@@ -47,6 +47,13 @@ sub getsetup () { + safe => 1, + rebuild => 1, + }, ++ archiveday => { ++ type => \"boolean\", ++ example => 1, ++ description => \"enable archiving on a daily basis (otherwise monthly)\", ++ safe => 1, ++ rebuild => 1, ++ }, + archive_pagespec => { + type => \"pagespec\", + example => \"page(posts/*) and !*/Discussion\", +@@ -222,11 +229,19 @@ EOF + $tag='month-calendar-day-link'; + } + $calendar.=qq{\t\t<td class=\"$tag $downame{$wday}\">}; +- $calendar.=htmllink($params{page}, $params{destpage}, ++ if (exists $pagesources{\"$archivebase/$params{year}/$params{month}/\".sprintf(\"%02d\",$day)}) { ++ $calendar.=htmllink($params{page}, $params{destpage}, ++ \"$archivebase/$params{year}/$params{month}/\".sprintf(\"%02d\",$day), ++ noimageinline => 1, ++ linktext => \"$day\", ++ title => \"$key\"); ++ }else{ ++ $calendar.=htmllink($params{page}, $params{destpage}, + $linkcache{$key}, + noimageinline => 1, + linktext => $day, + title => pagetitle(IkiWiki::basename($linkcache{$key}))); ++ } + $calendar.=qq{</td>\n}; + } + else { +diff --git a/ikiwiki-calendar.in b/ikiwiki-calendar.in +index 037ef7d..af22bc5 100755 +--- a/ikiwiki-calendar.in ++++ b/ikiwiki-calendar.in +@@ -30,21 +30,44 @@ IkiWiki::checkconfig(); + my $archivebase = 'archives'; + $archivebase = $config{archivebase} if defined $config{archivebase}; + ++my $archiveday = 0; ++$archiveday = $config{archiveday} if defined $config{archiveday}; ++ + if (! defined $pagespec) { + $pagespec=$config{archive_pagespec} || \"*\"; + } + +-sub writearchive ($$;$) { ++sub is_leap_year { ++ my $year=shift; ++ return ($year % 4 == 0 && (($year % 100 != 0) || $year % 400 == 0)); ++} ++ ++sub month_days { ++ my $month=shift; ++ my $year=shift; ++ my $days_in_month = (31,28,31,30,31,30,31,31,30,31,30,31)[$month-1]; ++ if ($month == 2 && is_leap_year($year)) { ++ $days_in_month++; ++ } ++ return $days_in_month; ++} ++ ++sub writearchive ($$;$;$) { + my $template=template(shift); + my $year=shift; + my $month=shift; ++ my $day=shift; + +- my $page=defined $month ? \"$year/$month\" : $year; ++ my $page; ++ if (defined $year) {$page = \"$year\"}; ++ if (defined $month) {$page = \"$year/$month\"}; ++ if (defined $day) {$page = \"$year/$month/$day\"}; + + my $pagefile=newpagefile(\"$archivebase/$page\", $config{default_pageext}); + $template->param(pagespec => $pagespec); + $template->param(year => $year); + $template->param(month => $month) if defined $month; ++ $template->param(day => $day) if defined $day; + + if ($force || ! -e \"$config{srcdir}/$pagefile\") { + writefile($pagefile, $config{srcdir}, $template->output); +@@ -54,8 +77,13 @@ sub writearchive ($$;$) { + + foreach my $y ($startyear..$endyear) { + writearchive(\"calendaryear.tmpl\", $y); +- foreach my $m (qw{01 02 03 04 05 06 07 08 09 10 11 12}) { ++ foreach my $m (map {sprintf(\"%02d\",$_)} (1..12)) { + writearchive(\"calendarmonth.tmpl\", $y, $m); ++ if ($archiveday ) { ++ foreach my $d (map {sprintf(\"%02d\",$_)} (1..month_days($m,$y))) { ++ writearchive(\"calendarday.tmpl\", $y, $m, $d); ++ } ++ } + } + } + +diff --git a/templates/calendarday.tmpl b/templates/calendarday.tmpl +new file mode 100644 +index 0000000..ac963b9 +--- /dev/null ++++ b/templates/calendarday.tmpl +@@ -0,0 +1,5 @@ ++[[!sidebar content=\"\"\" ++[[!calendar type=month month=<TMPL_VAR MONTH> year=<TMPL_VAR YEAR> pages=\"<TMPL_VAR PAGESPEC>\"]] ++\"\"\"]] ++ ++[[!inline pages=\"creation_day(<TMPL_VAR DAY>) and creation_month(<TMPL_VAR MONTH>) and creation_year(<TMPL_VAR YEAR>) and <TMPL_VAR PAGESPEC>\" archive=\"yes\" show=0 feeds=no reverse=yes]] +diff --git a/templates/calendarmonth.tmpl b/templates/calendarmonth.tmpl +index 23cd954..c998c16 100644 +--- a/templates/calendarmonth.tmpl ++++ b/templates/calendarmonth.tmpl +@@ -2,4 +2,4 @@ + [[!calendar type=month month=<TMPL_VAR MONTH> year=<TMPL_VAR YEAR> pages=\"<TMPL_VAR PAGESPEC>\"]] + \"\"\"]] + +-[[!inline pages=\"creation_month(<TMPL_VAR MONTH>) and creation_year(<TMPL_VAR YEAR>) and <TMPL_VAR PAGESPEC>\" show=0 feeds=no reverse=yes]] ++[[!inline pages=\"creation_month(<TMPL_VAR MONTH>) and creation_year(<TMPL_VAR YEAR>) and <TMPL_VAR PAGESPEC>\" archive=\"yes\" show=0 feeds=no reverse=yes]] +diff --git a/templates/calendaryear.tmpl b/templates/calendaryear.tmpl +index 714bd6d..b6e33c5 100644 +--- a/templates/calendaryear.tmpl ++++ b/templates/calendaryear.tmpl +@@ -1 +1 @@ +-[[!calendar type=year year=<TMPL_VAR YEAR> pages=\"<TMPL_VAR PAGESPEC>\"]] ++[[!calendar type=year year=<TMPL_VAR YEAR> pages=\"<TMPL_VAR PAGESPEC>\" archive=\"yes\"]] +-- +1.7.7.3 + +: + +</pre> +"""]] diff --git a/doc/forum/Can_I_have_different_favicons_for_each_folder__63__.mdwn b/doc/forum/Can_I_have_different_favicons_for_each_folder__63__.mdwn new file mode 100644 index 000000000..0fefb3560 --- /dev/null +++ b/doc/forum/Can_I_have_different_favicons_for_each_folder__63__.mdwn @@ -0,0 +1 @@ +I would like to have different favicons for different parts (folders) of my Ikiwiki site, like you can have different CSS files via the localstyle plugin. Is this possible? If not, could it be made possible? diff --git a/doc/forum/Can_I_have_different_favicons_for_each_folder__63__/comment_1_a01112ba235e2f44a7655c36ef680e7e._comment b/doc/forum/Can_I_have_different_favicons_for_each_folder__63__/comment_1_a01112ba235e2f44a7655c36ef680e7e._comment new file mode 100644 index 000000000..dee6e610e --- /dev/null +++ b/doc/forum/Can_I_have_different_favicons_for_each_folder__63__/comment_1_a01112ba235e2f44a7655c36ef680e7e._comment @@ -0,0 +1,19 @@ +[[!comment format=mdwn + username="http://smcv.pseudorandom.co.uk/" + nickname="smcv" + subject="comment 1" + date="2011-11-21T11:37:02Z" + content=""" +You could use [[plugins/pagetemplate]] to override all of `page.tmpl`, but +that's using a sledgehammer to crack a nut. + +Another way to do it would be to modify `IkiWiki/Plugins/favicon.pm` +to use `bestlink` to find the favicon, like [[plugins/localstyle]] does. +If you made it a config option (`localfavicon => 1` or something) +it could probably be included in ikiwiki as part of the official +[[plugins/favicon]] plugin? + +Another way would be to have a new `localfavicon` plugin which overrides +the template variable from [[plugins/favicon]], using `last => 1` to +make sure it \"wins\". +"""]] diff --git a/doc/forum/Can_Ikiwiki_recognize_multimarkdown_meta_tags__63__.mdwn b/doc/forum/Can_Ikiwiki_recognize_multimarkdown_meta_tags__63__.mdwn new file mode 100644 index 000000000..3e5fc8bb5 --- /dev/null +++ b/doc/forum/Can_Ikiwiki_recognize_multimarkdown_meta_tags__63__.mdwn @@ -0,0 +1,4 @@ +[[!meta author=tjgolubi]] + +It would be nice, if configured for multimarkdown, for ikiwiki to recognize and use/remove meta information from multimarkdown documents. +Title, Author, and Date would be especially nice. -- [[tjgolubi]] diff --git a/doc/forum/Can__39__t_login_using_Google__44___or_openID__44___but_can_use_Ikiwiki_login.mdwn b/doc/forum/Can__39__t_login_using_Google__44___or_openID__44___but_can_use_Ikiwiki_login.mdwn new file mode 100644 index 000000000..11d8c23a8 --- /dev/null +++ b/doc/forum/Can__39__t_login_using_Google__44___or_openID__44___but_can_use_Ikiwiki_login.mdwn @@ -0,0 +1,5 @@ +I find that users can't login my Ikiwiki instance using Google, or openID, but can use Ikiwiki user name and password to login. + +Using the two formers get error + + Error: ... is locked and cannot be edited diff --git a/doc/forum/Can__39__t_login_using_Google__44___or_openID__44___but_can_use_Ikiwiki_login/comment_1_79127e3c09a1d798146088dee5a67708._comment b/doc/forum/Can__39__t_login_using_Google__44___or_openID__44___but_can_use_Ikiwiki_login/comment_1_79127e3c09a1d798146088dee5a67708._comment new file mode 100644 index 000000000..41ff2fc36 --- /dev/null +++ b/doc/forum/Can__39__t_login_using_Google__44___or_openID__44___but_can_use_Ikiwiki_login/comment_1_79127e3c09a1d798146088dee5a67708._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 1" + date="2011-12-22T16:15:34Z" + content=""" +That error message means that the user has logged in, but the lockedit plugin has been configured, via `locked_pages` to not let some pages be edited by them. + +Inability to log in with openid is a separate problem, I can only guess as you didn't say how it fails when you try to log in by openid, but perhaps you need to install the Net::OpenID::Consumer perl module from cpan. +"""]] diff --git a/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__.mdwn b/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__.mdwn new file mode 100644 index 000000000..50b5ea900 --- /dev/null +++ b/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__.mdwn @@ -0,0 +1,7 @@ +Unfortunately debian stable / squeeze repos are still on version 3.20100815.7 + +Do you think squeeze will update to a newer version soon? I am lacking support of the gallery plugin and 1 more that I forgot right now ;) + +Is everyone else upgrading by directly installing via dpkg (no updates, but yeah)? + +Regards diff --git a/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_1_5e916c8fa90470909064ea73531f79d4._comment b/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_1_5e916c8fa90470909064ea73531f79d4._comment new file mode 100644 index 000000000..e6d09b5ab --- /dev/null +++ b/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_1_5e916c8fa90470909064ea73531f79d4._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 1" + date="2012-01-16T14:52:22Z" + content=""" +Nothing wrong with 3.20100815.7 unless you need newer features. + +At Branchable we run Debian stable and backport the current ikiwiki to run on it. This is quite easy to do, it just builds and works. (Edit debian/control and s/markdown-discount/markdown/) + +It's probably time someone released a backport. I have historically not done that myself though. +"""]] diff --git a/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_2_2fa15f0eaf8c860b82e366130c8563c7._comment b/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_2_2fa15f0eaf8c860b82e366130c8563c7._comment new file mode 100644 index 000000000..07955ac38 --- /dev/null +++ b/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_2_2fa15f0eaf8c860b82e366130c8563c7._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawndsaC4GaIBw49WNdbk2Faqfm_mrtQgul8" + nickname="Christian" + subject="thats cool" + date="2012-01-16T15:31:22Z" + content=""" +thanks +"""]] diff --git a/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_3_c5af589dcdfe4f91dba50243762065e5._comment b/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_3_c5af589dcdfe4f91dba50243762065e5._comment new file mode 100644 index 000000000..3ab401eb8 --- /dev/null +++ b/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_3_c5af589dcdfe4f91dba50243762065e5._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawndsaC4GaIBw49WNdbk2Faqfm_mrtQgul8" + nickname="Christian" + subject="Great! It worked!" + date="2012-01-17T01:18:06Z" + content=""" +Thanks Joey, also for the replacement hint, had to install one or two dependencies and it worked like a charm. Version from the day before yesterday now. (Awesome!) + +I have not upgraded the mypage.setup file, yet. I included \"headinganchors\" which does not seem to work right now. The page compiles without errors but contains no anchors when viewed in browser. Hm.. + +Great job thanks again! +"""]] diff --git a/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_4_3090da7bafbf92a825edec8ffc45af20._comment b/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_4_3090da7bafbf92a825edec8ffc45af20._comment new file mode 100644 index 000000000..569a73546 --- /dev/null +++ b/doc/forum/Debian_squeeze_still_on_3.20100815.7_-_update_recommended__63__/comment_4_3090da7bafbf92a825edec8ffc45af20._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawndsaC4GaIBw49WNdbk2Faqfm_mrtQgul8" + nickname="Christian" + subject="updating setup file" + date="2012-01-17T01:30:32Z" + content=""" +just for the record - I created a new wiki and the setup file is then automatically in YAML format. I think I am going to just transfer the settings from the \"old\" setup file to the new one. + +If anyone has an idea why the headinganchors don't work, pls let me know. + +As for the rest - insanely cool piece of software - great +"""]] diff --git a/doc/forum/Different_behaviour_when_editing_with_editor_than_with_web-edit.mdwn b/doc/forum/Different_behaviour_when_editing_with_editor_than_with_web-edit.mdwn new file mode 100644 index 000000000..5440ddf73 --- /dev/null +++ b/doc/forum/Different_behaviour_when_editing_with_editor_than_with_web-edit.mdwn @@ -0,0 +1,24 @@ +Hi, + +today I encountered a strange behaviour of ikiwiki that I'm trying to understand... + +I linked to a subpage using + +\[[somename|/path/from/root/dir/filename]] + +and saved the file. Then I added it to the repo, committed it, and ran + + ikiwiki --setup setupfile.setup + +Afterwards some older links of the same style were displayed correctly, but one new link remained black - i.e. with no question mark to it. I figure that means ikiwiki has recognized the syntax but did not create a link in the html file. + +I messed around a bit, recompiling many times did not work. After a while I opened the file via the web editing formular and saved it from there ("Save Page"). + +After that the link was there. + +I dont know why. My question is - what does ikiwiki do differently when saved from the web form than when saving an editor and then running ikiwiki --setup setupfile.setup. + +Btw. my version is still 3.20100815.7 since I'm on squeeze and like to stick with the repo versions. + +Thanks in advance, +Chris diff --git a/doc/forum/Different_behaviour_when_editing_with_editor_than_with_web-edit/comment_1_ac6bda46ad00bfe980bc76c4a39aa796._comment b/doc/forum/Different_behaviour_when_editing_with_editor_than_with_web-edit/comment_1_ac6bda46ad00bfe980bc76c4a39aa796._comment new file mode 100644 index 000000000..91e7d9e7a --- /dev/null +++ b/doc/forum/Different_behaviour_when_editing_with_editor_than_with_web-edit/comment_1_ac6bda46ad00bfe980bc76c4a39aa796._comment @@ -0,0 +1,9 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnam4a8RtFwaWkKOX2BkA5I7cpGHcFw8E0" + nickname="Christian" + subject="comment 1" + date="2011-12-03T17:17:57Z" + content=""" +with \"no question mark to it\" means \"being no link (target exists) AND with no question mark to it\" +thx +"""]] diff --git a/doc/forum/Different_behaviour_when_editing_with_editor_than_with_web-edit/comment_3_10a46f8ee23c8935e20c70842671cee4._comment b/doc/forum/Different_behaviour_when_editing_with_editor_than_with_web-edit/comment_3_10a46f8ee23c8935e20c70842671cee4._comment new file mode 100644 index 000000000..a14752ffe --- /dev/null +++ b/doc/forum/Different_behaviour_when_editing_with_editor_than_with_web-edit/comment_3_10a46f8ee23c8935e20c70842671cee4._comment @@ -0,0 +1,13 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnam4a8RtFwaWkKOX2BkA5I7cpGHcFw8E0" + nickname="Christian" + subject="comment 3" + date="2011-12-03T17:25:58Z" + content=""" +One more thing: my syntax with the above post is not correct - the linking syntax was/is + + \[[somename|path/from/website/root/dir/filename]] + +ie. I got one slash too much above. + +"""]] diff --git a/doc/forum/Disable_account_creation_for_new_users.mdwn b/doc/forum/Disable_account_creation_for_new_users.mdwn new file mode 100644 index 000000000..4a24323b3 --- /dev/null +++ b/doc/forum/Disable_account_creation_for_new_users.mdwn @@ -0,0 +1,9 @@ +Hi, +I'm planning on abusing ikiwiki as a mini-CMS for a static website and think it's exactly the right system for it. Great stuff btw. + +But I still got a problem that I can't solve at the moment. For the static website (with commenting enabled tho) I want no one else to edit the pages, i.e. I want to turn off the editing function for everyone except me. + +That works with the lockedit plugin so far, and I can also hide the edit and preferences links on the pages. But if someone manually enters the link to the edit page he/she can still create an account (I have disabled openid and plan to use passwordauth only). The account can then not be used to edit pages but still, everyone can create accounts in userdb over and over. Is there a way to solve that? I just don't see it right now. + +Best regards, +Chris diff --git a/doc/forum/Disable_account_creation_for_new_users/comment_1_adafddb0aff7c2c1f4574101c4cf9073._comment b/doc/forum/Disable_account_creation_for_new_users/comment_1_adafddb0aff7c2c1f4574101c4cf9073._comment new file mode 100644 index 000000000..116b2a592 --- /dev/null +++ b/doc/forum/Disable_account_creation_for_new_users/comment_1_adafddb0aff7c2c1f4574101c4cf9073._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnam4a8RtFwaWkKOX2BkA5I7cpGHcFw8E0" + nickname="Christian" + subject="comment on my own question" + date="2011-11-30T15:15:21Z" + content=""" +REALLY great was what I wanted to say - all the essentials are there, including commenting and search function. What else can you want <3 +"""]] diff --git a/doc/forum/Disable_account_creation_for_new_users/comment_2_865591f77966f1657a9a4b2426318c51._comment b/doc/forum/Disable_account_creation_for_new_users/comment_2_865591f77966f1657a9a4b2426318c51._comment new file mode 100644 index 000000000..d04cfb6db --- /dev/null +++ b/doc/forum/Disable_account_creation_for_new_users/comment_2_865591f77966f1657a9a4b2426318c51._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="http://smcv.pseudorandom.co.uk/" + nickname="smcv" + subject="comment 2" + date="2011-11-30T16:09:16Z" + content=""" +Not currently possible, but you can configure [[plugins/passwordauth]] to + require an `account_creation_password`, and not tell anyone else what +it is; or you could use [[plugins/httpauth]] for authenticated editing. +(My mostly-static ikiwiki sites only allow [[plugins/httpauth]] over +HTTPS.) +"""]] diff --git a/doc/forum/Disable_account_creation_for_new_users/comment_3_05193e563682f634f13691ee0a8359db._comment b/doc/forum/Disable_account_creation_for_new_users/comment_3_05193e563682f634f13691ee0a8359db._comment new file mode 100644 index 000000000..66b521407 --- /dev/null +++ b/doc/forum/Disable_account_creation_for_new_users/comment_3_05193e563682f634f13691ee0a8359db._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnam4a8RtFwaWkKOX2BkA5I7cpGHcFw8E0" + nickname="Christian" + subject="thx" + date="2011-11-30T18:50:50Z" + content=""" +thank you for your quick reply, smcv! +"""]] diff --git a/doc/forum/Encoding_problem_in_french_with_ikiwiki-calendar.mdwn b/doc/forum/Encoding_problem_in_french_with_ikiwiki-calendar.mdwn new file mode 100644 index 000000000..472412de1 --- /dev/null +++ b/doc/forum/Encoding_problem_in_french_with_ikiwiki-calendar.mdwn @@ -0,0 +1,20 @@ +Hi! + +I'm using the ikiwiki calendar plugin. + +My website is in french (locale fr_FR.UTF-8), and calendars that are generated by the plugin makes some encodi$ + +I don't know how the plugin generate translation for dates, but I've seen that there is no ikiwiki translation$ + +That's why I suppose (but I'm not sure) that it use date unix command to insert date into the html page, witho$ + +Could I have forgotten some options to make it nice or not? + +Is someone could test it and verify if it works or not? + +Thanks. + +Zut + +> This was discussed in [[bugs/Encoding_problem_in_calendar_plugin]] +> and is now fixed. --[[Joey]] diff --git a/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_.mdwn b/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_.mdwn new file mode 100644 index 000000000..c6af80ab1 --- /dev/null +++ b/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_.mdwn @@ -0,0 +1,5 @@ +I installed a new wiki on my local machine. When I click on edit, I get the following error: + +`Error: cannot write to /home/user/myiki2/.ikiwiki/lockfile: Permission denied` + +I checked the permissions of that file and assured that they are the same as in my other working ikiwiki, but it doesn't help. Any idea? diff --git a/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_/comment_1_64146f306ec8c10614521359b6de4f82._comment b/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_/comment_1_64146f306ec8c10614521359b6de4f82._comment new file mode 100644 index 000000000..02f70860d --- /dev/null +++ b/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_/comment_1_64146f306ec8c10614521359b6de4f82._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="https://launchpad.net/~tale" + nickname="tale" + subject="What are the permissions?" + date="2011-12-28T19:35:25Z" + content=""" +What exactly are the permissions for the lockfile and the directory it is in? + +What user is the ikiwiki running as? +"""]] diff --git a/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_/comment_2_ed2b4b8f7122b42bbde1189fbd2969dd._comment b/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_/comment_2_ed2b4b8f7122b42bbde1189fbd2969dd._comment new file mode 100644 index 000000000..cc1a30adb --- /dev/null +++ b/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_/comment_2_ed2b4b8f7122b42bbde1189fbd2969dd._comment @@ -0,0 +1,23 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawk_MMtLPS7osC5MjX00q2ATjvvXPWqm0ik" + nickname="micheal" + subject="comment 2" + date="2011-12-28T23:06:06Z" + content=""" +<code> +stat -c '%A %a %U %G %n' myiki2 myiki1 +drwxr-xr-x 755 user user myiki2 +drwxr-xr-x 755 user user myiki1 + +stat -c '%A %a %U %G %n' myiki2/.ikiwiki myiki1/.ikiwiki +drwxr-xr-x 755 user user myiki2/.ikiwiki +drwxr-xr-x 755 user user myiki1/.ikiwiki + +stat -c '%A %a %U %G %n' myiki2/.ikiwiki/lockfile myiki1/.ikiwiki/lockfile +-rw-r--r-- 644 user user myiki2/.ikiwiki/lockfile +-rw-r--r-- 644 user user myiki1/.ikiwiki/lockfile +</code> + +As you see, myiki2 has the same permissions as myiki1, but myiki1 works. + +"""]] diff --git a/doc/forum/Help_with_tag__95__autocreate.mdwn b/doc/forum/Help_with_tag__95__autocreate.mdwn new file mode 100644 index 000000000..f470c57cf --- /dev/null +++ b/doc/forum/Help_with_tag__95__autocreate.mdwn @@ -0,0 +1,9 @@ +I have the tag plugin enabled, and these additional lines in my setup file: + + tagbase => "tags", + tag_autocreate => 1, + tag_autocreate_commit => 1, + +However, when I use a !tag or !taglink directive, nothing gets autocreated in the tags/ directory. What am I doing wrong? + +Edit: I'm using ikiwiki version 3.20100122ubuntu1 on Ubuntu 10.04.3 LTS... upgraded to ikiwiki_3.20110905_all from the debian repository and that solved my problem. Oops. :) diff --git a/doc/forum/How_to_allow_.markdown_and_.md_at_the_same_time_as_valid_extensions_for_source_files__63__.mdwn b/doc/forum/How_to_allow_.markdown_and_.md_at_the_same_time_as_valid_extensions_for_source_files__63__.mdwn new file mode 100644 index 000000000..d5f144957 --- /dev/null +++ b/doc/forum/How_to_allow_.markdown_and_.md_at_the_same_time_as_valid_extensions_for_source_files__63__.mdwn @@ -0,0 +1 @@ +How to allow .markdown and .md (at the same time) as valid extensions for source files? The default is .mdwn. diff --git a/doc/forum/How_to_change_registration_page.mdwn b/doc/forum/How_to_change_registration_page.mdwn new file mode 100644 index 000000000..f339f71c4 --- /dev/null +++ b/doc/forum/How_to_change_registration_page.mdwn @@ -0,0 +1,9 @@ +Well, I simply don't see it. +I would like to change the "account registration" page, where it says user, password, repeat password, Account Creation Password, E-Mail. + +I simply want it to ask a question like "Who's your daddy" or "What are we all working on" instead of "Account creation password". + +I already grepped through the files of the source which I compiled ikiwiki from - I just can't find it. I'm a noob in cgi, it seems to be somewhat in there, but that could also be totally wrong. + +Can you tell me where to look? + diff --git a/doc/forum/How_to_change_registration_page/comment_1_43758a232e4360561bc84f710862ff40._comment b/doc/forum/How_to_change_registration_page/comment_1_43758a232e4360561bc84f710862ff40._comment new file mode 100644 index 000000000..5edd993d7 --- /dev/null +++ b/doc/forum/How_to_change_registration_page/comment_1_43758a232e4360561bc84f710862ff40._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 1" + date="2012-01-30T19:30:20Z" + content=""" +Sure.. You're looking for the file `IkiWiki/Plugin/passwordauth.pm` + +This line in particular is the text that gets modified and displayed to the user. + +<pre> + name => \"account_creation_password\", +</pre> +"""]] diff --git a/doc/forum/How_to_configure_po_plugin__63__.mdwn b/doc/forum/How_to_configure_po_plugin__63__.mdwn new file mode 100644 index 000000000..a03358ddd --- /dev/null +++ b/doc/forum/How_to_configure_po_plugin__63__.mdwn @@ -0,0 +1,21 @@ +I put + + # po plugin + po_master_language => 'en|English', + + po_slave_languages => [ 'zh|Chinese'] + + +in page.setup. And did + + $ikiwiki --setup ./page.setup + +but get errors: + + Can't use string ("en|English") as a HASH ref while "strict refs" in use at /usr/share/perl5/IkiWiki/Plugin/po.pm line 162. + +Line 162 of the file reads + + delete $config{po_slave_languages}{$config{po_master_language}{code}};; + +What's wrong? How to fix it? diff --git a/doc/forum/How_to_configure_po_plugin__63__/comment_1_5e0cc4cdfd126f2f4af64104f02102d6._comment b/doc/forum/How_to_configure_po_plugin__63__/comment_1_5e0cc4cdfd126f2f4af64104f02102d6._comment new file mode 100644 index 000000000..fc194b3e6 --- /dev/null +++ b/doc/forum/How_to_configure_po_plugin__63__/comment_1_5e0cc4cdfd126f2f4af64104f02102d6._comment @@ -0,0 +1,9 @@ +[[!comment format=mdwn + username="intrigeri" + ip="88.80.28.70" + subject="Please upgrade" + date="2011-12-20T09:34:56Z" + content=""" +You seem to be using an older version of ikiwiki. Either use a hash ref (see [old documentation](http://source.ikiwiki.branchable.com/?p=source.git;a=blobdiff;f=doc/plugins/po.mdwn;h=c36414c8e85f5bb11e2c3a7c3bd41e829abe15a6;hp=53327c1dae94ef5896119cc874133a9a3c1a9b4e;hb=862fc7c1ab1f7d709561bcb02fc8ede57b90a51b;hpb=e50df5ea7601b6a1fc03994650ddff728aba7b57)) or upgrade. + +"""]] diff --git a/doc/forum/How_to_create_first_translation_page_using_po_plugin__63__.mdwn b/doc/forum/How_to_create_first_translation_page_using_po_plugin__63__.mdwn new file mode 100644 index 000000000..e9dd6654b --- /dev/null +++ b/doc/forum/How_to_create_first_translation_page_using_po_plugin__63__.mdwn @@ -0,0 +1,24 @@ +I followed instructions at + + http://ikiwiki.info/plugins/po/ + +and added to `configfile` + + po_master_language => 'en|English', + po_slave_languages => [ 'zh|Chinese' ], + po_translatable_pages => '(* and !*/Discussion and !blog/*/comment_*)', + po_link_to => 'current' + +and did + + ikiwiki --setup configfile + +But I don't seem to see any change in the newly built site. + +How do I actually use po to create translation pages? + +1) I have existing pages that's in English. How do I add translated versions of some of those pages in the slave language? + +2) How do I add new pages with the primary language version and alternative versions in slave languages? + +The documentation of po is not explicit with what are the concrete steps. diff --git a/doc/forum/How_to_use___126____47__bin__47__multimarkdown_instead_of_Text::MultiMarkdown.mdwn b/doc/forum/How_to_use___126____47__bin__47__multimarkdown_instead_of_Text::MultiMarkdown.mdwn new file mode 100644 index 000000000..5dadb600d --- /dev/null +++ b/doc/forum/How_to_use___126____47__bin__47__multimarkdown_instead_of_Text::MultiMarkdown.mdwn @@ -0,0 +1,5 @@ +[[!meta author=tjgolubi]] + +I want to configure IkiWiki to use Fletcher Penney's recent version of [[MultiMarkdown|http://fletcherpenney.net/multimarkdown]] instead of the default perl implementation. +I don't know perl, but I think I need to replace the mdwn.pm plugin with something that uses "open2". +Please help me get started. -- [[tjgolubi]] diff --git a/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__.mdwn b/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__.mdwn new file mode 100644 index 000000000..e23d3fddf --- /dev/null +++ b/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__.mdwn @@ -0,0 +1,14 @@ +Since ikiwiki doesn't have much of a chance of working in windows, how about we compromise by making an offline ikiwiki editor for Windows? In fact, it might be advantageous to use it in Linux, too... + +It should be very simple: It would enter the source wiki and show the Markdown code by default, but would have an option to preview your page in another tab. + +Basic features: + +* wikilinks, maps, images, inlinepages, and other basic functions should all work in the preview +* perhaps use local.css to format preview +* See the DVCS history with diffs and all +* have a discussion tab to easily see what other people have said about the page + +If we want to add some more bells and whistles, maybe we could throw in some buttons to insert markdown formatting (like in forums, mediawiki, or RES). + +Any thoughts on this? diff --git a/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_1_a66fd9d7ab4359784a5420cd899a1057._comment b/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_1_a66fd9d7ab4359784a5420cd899a1057._comment new file mode 100644 index 000000000..20fd763e2 --- /dev/null +++ b/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_1_a66fd9d7ab4359784a5420cd899a1057._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="http://kerravonsen.dreamwidth.org/" + ip="202.173.183.92" + subject="comment 1" + date="2012-01-13T22:32:47Z" + content=""" +It would probably be quite complex to write, and difficult to maintain. I don't think much of your chances of getting someone to write it. If you want to write it yourself, have fun doing so! +"""]] diff --git a/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_2_3351ff773fea3f640f4036bb8c7c7efd._comment b/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_2_3351ff773fea3f640f4036bb8c7c7efd._comment new file mode 100644 index 000000000..b83042c36 --- /dev/null +++ b/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_2_3351ff773fea3f640f4036bb8c7c7efd._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkr8GVPw30JBR34Btg-SKcS8gxEf7zpSJQ" + nickname="Lawrence" + subject="comment 2" + date="2012-01-14T03:14:38Z" + content=""" +Eh, ok, lol. I know that implementing most of the wiki features over again could be difficult, and so would a Git diff reader, but it shouldn't be that hard to get Wikilinking or a markdown previewer working. + +Could you point out some specific problems of this approach, so that it would help me out to do so? +"""]] diff --git a/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_3_273b2b63a9af2bc4eeb030e026436687._comment b/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_3_273b2b63a9af2bc4eeb030e026436687._comment new file mode 100644 index 000000000..e5eaf2c4c --- /dev/null +++ b/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_3_273b2b63a9af2bc4eeb030e026436687._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkr8GVPw30JBR34Btg-SKcS8gxEf7zpSJQ" + nickname="Lawrence" + subject="comment 3" + date="2012-01-14T17:41:52Z" + content=""" +Like, there's already a whole host of Markdown previewer apps that are pretty good. [Here's a](http://www.macworld.com/article/164744/2012/01/marked_excels_at_previewing_markdown_and_html_documents.html) popular one on Mac, and there are many more... + +There's also a plugin for Emacs that does so, and even resolves wikilinks (in some way..). + +But I'd have to say that I probably made a misleading title, WYSIWYG would probably be low on the list of needed features. And I'm just dumping an idea I have here in case anyone has any suggestions or comments, I'll probably do it myself in my free time. +"""]] diff --git a/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_4_546771c13ea1b550301586e187d82cb5._comment b/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_4_546771c13ea1b550301586e187d82cb5._comment new file mode 100644 index 000000000..472417457 --- /dev/null +++ b/doc/forum/If_there__39__s_no_Windows_ikiwiki__44___how_about_a_WYSIWYG_ikiwiki_editor_for_Windows__63__/comment_4_546771c13ea1b550301586e187d82cb5._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawndsaC4GaIBw49WNdbk2Faqfm_mrtQgul8" + nickname="Christian" + subject="just my 2 cents" + date="2012-01-17T11:10:09Z" + content=""" +why? +"""]] diff --git a/doc/forum/Last_visited_pages.mdwn b/doc/forum/Last_visited_pages.mdwn new file mode 100644 index 000000000..ae87cf177 --- /dev/null +++ b/doc/forum/Last_visited_pages.mdwn @@ -0,0 +1 @@ +Is it possible to add a list of the n last visited pages on the bottom of each ikiwiki page (or maybe on a sidebar)? diff --git a/doc/forum/Last_visited_pages/comment_1_e34650064dd645b35da98e80c0311df9._comment b/doc/forum/Last_visited_pages/comment_1_e34650064dd645b35da98e80c0311df9._comment new file mode 100644 index 000000000..c5e2cc8ad --- /dev/null +++ b/doc/forum/Last_visited_pages/comment_1_e34650064dd645b35da98e80c0311df9._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="http://kerravonsen.dreamwidth.org/" + ip="202.173.183.92" + subject="comment 1" + date="2011-11-27T11:09:55Z" + content=""" +Only if you could do it with JavaScript or SSI; remember IkiWiki is a wiki *compiler* - all the pages are generated beforehand, their content remains the same no matter what your visitor is doing. +"""]] diff --git a/doc/forum/Last_visited_pages/comment_2_2a0c4e844da1deaa2c286e87c8eab84d._comment b/doc/forum/Last_visited_pages/comment_2_2a0c4e844da1deaa2c286e87c8eab84d._comment new file mode 100644 index 000000000..c5e90752d --- /dev/null +++ b/doc/forum/Last_visited_pages/comment_2_2a0c4e844da1deaa2c286e87c8eab84d._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawk_MMtLPS7osC5MjX00q2ATjvvXPWqm0ik" + nickname="micheal" + subject="comment 2" + date="2011-11-27T12:23:31Z" + content=""" +How to to it with JavaScript OR SSI? +"""]] diff --git a/doc/forum/Let__39__s_just_rely_on_backlinks_for_this__63__.mdwn b/doc/forum/Let__39__s_just_rely_on_backlinks_for_this__63__.mdwn deleted file mode 100644 index 35940cf33..000000000 --- a/doc/forum/Let__39__s_just_rely_on_backlinks_for_this__63__.mdwn +++ /dev/null @@ -1,3 +0,0 @@ -Re [Let's just rely on backlinks for this?](http://git.ikiwiki.info/?p=ikiwiki;a=blobdiff;f=doc/ikiwiki/pagespec/discussion.mdwn;h=4eed3722ccc744595fc8380e68e69dc9e1ad6450;hp=f4fdd764ed61c34c09af9df046a1a134b7d0ffe6;hb=a4ce0468f6f562ad4ec749f156528aa5b3f2fe39;hpb=23a4ee6d15dbd9b8e8c6588a829dd30a26a8de32) and [2](http://git.ikiwiki.info/?p=ikiwiki;a=blobdiff;f=doc/ikiwiki/wikilink/discussion.mdwn;h=0677ff7ded6a86be7d010dfd97affdb6b266832a;hp=274c8aaf1d075adbf3b76496e1945348aefe836a;hb=4f4666c4ae5cdf5e04ac42cc52a97d90e978adb0;hpb=a4ce0468f6f562ad4ec749f156528aa5b3f2fe39): - -I simply didn't notice there is an "add a new bug" form at [[bugs]], so I used the obvious way to create a page through the web-interface: to put first a wikilink pointing at the new page. --Ivan Z. diff --git a/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated.mdwn b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated.mdwn new file mode 100644 index 000000000..b659212b6 --- /dev/null +++ b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated.mdwn @@ -0,0 +1,27 @@ +I copied ikiwiki from old host to new. Old is Debian GNU/Linux version 5.0.7, with ikiwiki 3.1415926~bpo50+1 +New host is 5.0.8 with ikiwiki 3.20100815~bpo50+1 + +I have ikiwiki.setup and both GIT repos from old host, src and src.git, the latter is bare repo. + +I suspect I have messed up things in the old host, since the src directory tree is much larger than the src.git. +tale@tugelbend:~/wiki$ du -sh src src.git/ +8,3M src +2,6M src.git/ + +If I clone the src.git to the new host, I get after ikiwiki --setup web pages from year 2009. So I did the migration like this: + +Copy the src directory to the new host to temp dir; git clone --bare /tmp/Foo/src ~/wiki/wiki.git +cd ~/wiki +git clone wiki.git wiki.src +cd .. +ikiwiki --setup ikiwiki.setup + +I believe I have modified the ikiwiki.setup file correctly, I get no error messages and it makes the web page with the +same content as on old host. But when I git clone wiki.git a working copy for myself, and edit it, git commit -a ; git push +I am sad to see the web page is not updated. + +How can I see what is wrong? The hook seems OK: +taleman@porixi:~/wiki$ ls -lh wiki.git/hooks/post-update +-rwsr-sr-x 1 taleman taleman 14K 23.12. 17:42 wiki.git/hooks/post-update + +ikiwiki --setup created that and did not claim any errors. diff --git a/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_2_b44a492c7f10395a31f3c0830ef33f0c._comment b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_2_b44a492c7f10395a31f3c0830ef33f0c._comment new file mode 100644 index 000000000..576d11f0b --- /dev/null +++ b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_2_b44a492c7f10395a31f3c0830ef33f0c._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 2" + date="2011-12-25T00:07:28Z" + content=""" +Try running the post-update hook by hand and see if it pulls the changes into ~/wiki/wiki.src and see if it updates the site. + +Make sure `gitorigin_branch` is set in the setup file. +"""]] diff --git a/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_2_f9240b217b2d1ee8d51dada9cb1186b3._comment b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_2_f9240b217b2d1ee8d51dada9cb1186b3._comment new file mode 100644 index 000000000..635aa9340 --- /dev/null +++ b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_2_f9240b217b2d1ee8d51dada9cb1186b3._comment @@ -0,0 +1,28 @@ +[[!comment format=mdwn + username="https://launchpad.net/~tale" + nickname="tale" + subject="comment 2" + date="2011-12-27T16:18:31Z" + content=""" +In both old and new host gitorigin_branch is empty string in ikiwiki.setup. + + tale@tugelbend:~$ grep -i gitorigin ikiwiki.setup + gitorigin_branch => '', + +The branches subdir is empty on both hosts: + + tale@tugelbend:~$ LANG=C ls -lha wiki/src.git/branches/ + total 8.0K + drwxr-xr-x 2 tale tale 4.0K Dec 24 2009 . + drwxr-xr-x 7 tale tale 4.0K Dec 24 2009 .. + tale@tugelbend:~$ + +I do not know what value I should assign to gitorigin_branch. + +I tried + + wiki.git/hooks/post-update + +but nothing seems to happen. No output, web page stays the same. File timestamps are not updated +on the dest directory. +"""]] diff --git a/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_3_c3c5c41a4c220793c6d16f3fd6132272._comment b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_3_c3c5c41a4c220793c6d16f3fd6132272._comment new file mode 100644 index 000000000..f845f130f --- /dev/null +++ b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_3_c3c5c41a4c220793c6d16f3fd6132272._comment @@ -0,0 +1,15 @@ +[[!comment format=mdwn + username="https://launchpad.net/~tale" + nickname="tale" + subject="Editing via browser works" + date="2011-12-27T18:47:16Z" + content=""" +I now set up virtual host in apache2 and fudged the ipnumber to correspond to hostnames the ikiwiki uses. I do not want to update DNS before I have checked the site works. + +Now I can log in using OpenID and edit the wiki via browser. This time the web pages are updated and the changes I made appear in the wiki. + +I cheched the gitorigin_branch setting was empty string even in 2009 when I got this wiki. I begin to suspect editing the wiki using a git checkout would not work even in the host the ikiwiki is currently running on, and maybe did not work in the host it was running on in 2009. + +It looks to me like ikiwiki is working on this new host except git configuration is somehow messed up. It is possible I never did use git checkout on the old host. + +"""]] diff --git a/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_4_1f6f9e3939a454c1eb8d2fb29bd519de._comment b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_4_1f6f9e3939a454c1eb8d2fb29bd519de._comment new file mode 100644 index 000000000..1a5a91466 --- /dev/null +++ b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_4_1f6f9e3939a454c1eb8d2fb29bd519de._comment @@ -0,0 +1,16 @@ +[[!comment format=mdwn + username="https://launchpad.net/~tale" + nickname="tale" + subject="Checked old host, git messed up there, too" + date="2011-12-27T18:59:38Z" + content=""" +I did + git clone src.git +on the host ikiwiki is currently running on, and got an old version of the wiki, not the one that is diplayed on the web page. + +So even there editing via browser works, but git checks out an old version and the changes I make do not get shown on the web page after git push. + +This new host I set up is thus no worse, actually slighty better now because git clone at least gets me the sources the web pages are generated from. + +How to figure out what is wrong with ikiwiki setup in the using git part? +"""]] diff --git a/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_5_8611fc62797e70a0d2a61d94fcb03170._comment b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_5_8611fc62797e70a0d2a61d94fcb03170._comment new file mode 100644 index 000000000..137c198cc --- /dev/null +++ b/doc/forum/Migrated_ikiwiki_to_new_host._Web_page_is_not_updated/comment_5_8611fc62797e70a0d2a61d94fcb03170._comment @@ -0,0 +1,22 @@ +[[!comment format=mdwn + username="https://launchpad.net/~tale" + nickname="tale" + subject="branch = master, still no luck" + date="2011-12-28T03:22:57Z" + content=""" +I learned from docs setting gitorigin_branch to empty string disables git pushing and pulling. So guessing + +gitorigin_branch => 'master', + +seemed a good idea. + +However, now ikiwiki -setup gives: + + taleman@porixi:~$ ikiwiki -setup ikiwiki.setup + successfully generated /var/www/ikiwiki/debian.fi/ikiwiki.cgi + successfully generated /home/taleman/wiki/wiki.git/hooks/post-update + fatal: 'master': unable to chdir or not a git archive + fatal: The remote end hung up unexpectedly + 'git pull master' failed: at /usr/share/perl5/IkiWiki/Plugin/git.pm line 195. + taleman@porixi:~$ +"""]] diff --git a/doc/forum/Migrating_old_repository_to_new_ikiwiki_system__63__/comment_1_e5ce524c5d34b1d4218172296bd99100._comment b/doc/forum/Migrating_old_repository_to_new_ikiwiki_system__63__/comment_1_e5ce524c5d34b1d4218172296bd99100._comment new file mode 100644 index 000000000..78703bc27 --- /dev/null +++ b/doc/forum/Migrating_old_repository_to_new_ikiwiki_system__63__/comment_1_e5ce524c5d34b1d4218172296bd99100._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://launchpad.net/~tale" + nickname="tale" + subject="When is ikiwiki --setup run?" + date="2011-12-23T13:49:54Z" + content=""" +Am I to run ikiwiki --setup after all the three steps? +"""]] diff --git a/doc/forum/Migrating_old_repository_to_new_ikiwiki_system__63__/comment_3_65c4a4895f6541ff0ff2d094ff447bba._comment b/doc/forum/Migrating_old_repository_to_new_ikiwiki_system__63__/comment_3_65c4a4895f6541ff0ff2d094ff447bba._comment new file mode 100644 index 000000000..a9bb2791a --- /dev/null +++ b/doc/forum/Migrating_old_repository_to_new_ikiwiki_system__63__/comment_3_65c4a4895f6541ff0ff2d094ff447bba._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 3" + date="2011-12-25T00:08:22Z" + content=""" +You run ikiwiki -setup when you have all the files in place for ikiwiki and would like it to rebuild the site and generate the wrappers. +"""]] diff --git a/doc/forum/Need_some_help_on_starting_to_use_po_plugin_for_creating_pages_in_multiple_languages.mdwn b/doc/forum/Need_some_help_on_starting_to_use_po_plugin_for_creating_pages_in_multiple_languages.mdwn new file mode 100644 index 000000000..5e4e56fde --- /dev/null +++ b/doc/forum/Need_some_help_on_starting_to_use_po_plugin_for_creating_pages_in_multiple_languages.mdwn @@ -0,0 +1,6 @@ +I've installed the po plugin. I'm still trying to figure out how to use it. + +I have a Ikiwiki instance with multiple existing pages in English. + +How do I use po to create alternative pages in slave languages for these existing pages? + diff --git a/doc/forum/OpenID_not_working___47___where_to_define_wiki__39__s_ID__63__.mdwn b/doc/forum/OpenID_not_working___47___where_to_define_wiki__39__s_ID__63__.mdwn new file mode 100644 index 000000000..e58844bac --- /dev/null +++ b/doc/forum/OpenID_not_working___47___where_to_define_wiki__39__s_ID__63__.mdwn @@ -0,0 +1,12 @@ +Hi, + +unfortunately, openID is not working at my wiki. I get the error + +no_identity_server: The provided URL doesn't declare its OpenID identity server. + +I think this is related to the ID of my wiki not being defined right. Where and how do I have to define it? I have used the !meta openid as described on ikiwiki.info (are there two quotes at the end where only one should be (joeyh example) on index.html. + +Somehow I think its not transferred right to the openID provider of the user upon login. + +thanks in advance +chris diff --git a/doc/forum/OpenID_not_working___47___where_to_define_wiki__39__s_ID__63__/comment_1_bf1bec748d6ab419276a73a7001024cf._comment b/doc/forum/OpenID_not_working___47___where_to_define_wiki__39__s_ID__63__/comment_1_bf1bec748d6ab419276a73a7001024cf._comment new file mode 100644 index 000000000..06d2a332b --- /dev/null +++ b/doc/forum/OpenID_not_working___47___where_to_define_wiki__39__s_ID__63__/comment_1_bf1bec748d6ab419276a73a7001024cf._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawndsaC4GaIBw49WNdbk2Faqfm_mrtQgul8" + nickname="Christian" + subject="apache module?" + date="2012-01-18T15:40:57Z" + content=""" +Do I have to install the openid apache module, load it, and configure apache to use my openid? Except that in my case I can get it from the package system, there is a description <a href=\"http://findingscience.com/mod_auth_openid/\">here</a> what I mean. I got a feeling that's it. +"""]] diff --git a/doc/forum/OpenID_not_working___47___where_to_define_wiki__39__s_ID__63__/comment_2_14a1b269be6dbcc9b2068d3e18b55711._comment b/doc/forum/OpenID_not_working___47___where_to_define_wiki__39__s_ID__63__/comment_2_14a1b269be6dbcc9b2068d3e18b55711._comment new file mode 100644 index 000000000..3078a1473 --- /dev/null +++ b/doc/forum/OpenID_not_working___47___where_to_define_wiki__39__s_ID__63__/comment_2_14a1b269be6dbcc9b2068d3e18b55711._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 2" + date="2012-01-30T19:34:00Z" + content=""" +Yes, good spotting, [[ikiwiki/directive/meta]] had a doubled quote in the openid example. + +Otherwise, that example will work. You don't need anything installed on your server to add openid delegation to a page. +"""]] diff --git a/doc/forum/Perhaps_I__39__m_doing_it_wrong_-_tracking_non-post_files_in_a_blog.mdwn b/doc/forum/Perhaps_I__39__m_doing_it_wrong_-_tracking_non-post_files_in_a_blog.mdwn new file mode 100644 index 000000000..383ae17cc --- /dev/null +++ b/doc/forum/Perhaps_I__39__m_doing_it_wrong_-_tracking_non-post_files_in_a_blog.mdwn @@ -0,0 +1,7 @@ +I've been searching on this topic for a while and haven't found a solution, so I'd like to ask here. + +I have a blog which I mostly use as a tech-note reminder system for myself (how did I setup my server, etc). Occasionally I find it useful to include files which are not posts, and links to those files. + +Right now, I scp the files to the server to get them in a place accessible by the web server, then use a relative link within the post. This works, but it strikes me that the files are as much a part of the post as the post itself, and therefore should be tracked. The problem with tracking the files is the inline directive gives those files their own entries as posts in the blog. I do not want them to have their own entries, but I *do* want them co-located with the file containing the post from which they are referenced. + +So, is there a way to have *only* `*.mdwn` files be picked up as posts by the inline directive (I tried using a PageSpec of `*.mdwn`, but that didn't work)? Or, conversely, to exclude other files from being picked up as posts? Or am I not seeing another way to go about this task? diff --git a/doc/forum/Perhaps_I__39__m_doing_it_wrong_-_tracking_non-post_files_in_a_blog/comment_1_45ecaf6efa2065837fa54a42737f0a66._comment b/doc/forum/Perhaps_I__39__m_doing_it_wrong_-_tracking_non-post_files_in_a_blog/comment_1_45ecaf6efa2065837fa54a42737f0a66._comment new file mode 100644 index 000000000..4d2c93238 --- /dev/null +++ b/doc/forum/Perhaps_I__39__m_doing_it_wrong_-_tracking_non-post_files_in_a_blog/comment_1_45ecaf6efa2065837fa54a42737f0a66._comment @@ -0,0 +1,18 @@ +[[!comment format=mdwn + username="http://smcv.pseudorandom.co.uk/" + nickname="smcv" + subject="comment 1" + date="2012-01-03T11:29:59Z" + content=""" +Change the [[ikiwiki/pagespec]] in the `inline`, for instance from +`posts/*` to `page(posts/*)`. + +`page(*)` only matches \"pages\" (things that get rendered to HTML, which is just +`.mdwn` files in a default ikiwiki, but can include other things with the right +plugins). + +On my blog I use \"`2* and copyright(*)`\", which is a bit of a hack: it matches +files in the directories I use for posts (which are year-based), but only if +they have an explicit copyright statement - which my blog posts do, but +\"structural\" pages (like a list of all posts from 2011) don't. +"""]] diff --git a/doc/forum/Perhaps_I__39__m_doing_it_wrong_-_tracking_non-post_files_in_a_blog/comment_2_45ca7ef4190c281d703c8c7ca6979298._comment b/doc/forum/Perhaps_I__39__m_doing_it_wrong_-_tracking_non-post_files_in_a_blog/comment_2_45ca7ef4190c281d703c8c7ca6979298._comment new file mode 100644 index 000000000..ecb6f5df9 --- /dev/null +++ b/doc/forum/Perhaps_I__39__m_doing_it_wrong_-_tracking_non-post_files_in_a_blog/comment_2_45ca7ef4190c281d703c8c7ca6979298._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="dave" + ip="24.209.97.191" + subject="comment 2" + date="2012-01-04T04:01:54Z" + content=""" +Thank you sir, that was exactly what I needed! + +Don't know why I didn't think to try page - apparently I have a special blindness which applies to looking at the pagespec help page. ;) + +Anyway, thanks again, that fixed it. +"""]] diff --git a/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar.mdwn b/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar.mdwn new file mode 100644 index 000000000..0c328a9f1 --- /dev/null +++ b/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar.mdwn @@ -0,0 +1 @@ +Is it possible to display the recent changes on the main site of the wiki or on a sidebar? diff --git a/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_1_018b977ff7ee59fc53838e0c20c3a9a7._comment b/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_1_018b977ff7ee59fc53838e0c20c3a9a7._comment new file mode 100644 index 000000000..1bc0cc509 --- /dev/null +++ b/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_1_018b977ff7ee59fc53838e0c20c3a9a7._comment @@ -0,0 +1,11 @@ +[[!comment format=mdwn + username="jean_magnan" + ip="81.56.145.104" + subject="comment 1" + date="2011-12-19T10:20:59Z" + content=""" +Hi, +I have this line in the sidebar file, it says to show the titles and dates of the last 5 pages: + +[[!inline pages=\"*\" archive=\"yes\" show=\"5\"]] +"""]] diff --git a/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment b/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment new file mode 100644 index 000000000..2b6237bc4 --- /dev/null +++ b/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 2" + date="2011-12-20T15:13:48Z" + content=""" +The [[RecentChanges]] page is a regular wiki page that inlines a few special pages with a special template. That content can be copied anywhere else in the wiki to get the same effect. +"""]] diff --git a/doc/forum/Run_script_on_markdown_source.mdwn b/doc/forum/Run_script_on_markdown_source.mdwn new file mode 100644 index 000000000..614815c9b --- /dev/null +++ b/doc/forum/Run_script_on_markdown_source.mdwn @@ -0,0 +1 @@ +How can I add a button to each wiki page which launches an external application or script with the markdown code of the current page as input? diff --git a/doc/forum/Should_files_in_.ikiwiki_be_committed_and_pushed__63__.mdwn b/doc/forum/Should_files_in_.ikiwiki_be_committed_and_pushed__63__.mdwn new file mode 100644 index 000000000..f5b1d58d1 --- /dev/null +++ b/doc/forum/Should_files_in_.ikiwiki_be_committed_and_pushed__63__.mdwn @@ -0,0 +1,14 @@ +In my local working copy, I discovered a .ikiwiki directory with files and subdirectories. What are they for in a working copy? Should them be committed to central repository (origin) on remote server? + + $ git status + # On branch master + # Changes to be committed: + # (use "git reset HEAD <file>..." to unstage) + # + # new file: .ikiwiki/commitlock + # new file: .ikiwiki/indexdb + # new file: .ikiwiki/lockfile + # new file: .ikiwiki/transient/recentchanges/change_0326ad7c7aa2c40b8db5d59033ecda7ed4d61295._change + <snip> + +Should these be committed and pushed? diff --git a/doc/forum/Should_files_in_.ikiwiki_be_committed_and_pushed__63__/comment_1_8e65d7d8298e3c31d2a16446a71c8049._comment b/doc/forum/Should_files_in_.ikiwiki_be_committed_and_pushed__63__/comment_1_8e65d7d8298e3c31d2a16446a71c8049._comment new file mode 100644 index 000000000..43e7a0068 --- /dev/null +++ b/doc/forum/Should_files_in_.ikiwiki_be_committed_and_pushed__63__/comment_1_8e65d7d8298e3c31d2a16446a71c8049._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 1" + date="2011-12-22T16:12:42Z" + content=""" +Absolutely not. If you use ikiwiki-makerepo to set up ikiwiki, it makes a `.gitignore` containing `/.ikiwiki` + +The `.ikiwiki` directory is where ikiwiki stores all the state it needs to track about a given build of a wiki. +"""]] diff --git a/doc/forum/Split_a_wiki.mdwn b/doc/forum/Split_a_wiki.mdwn new file mode 100644 index 000000000..f1c7e50da --- /dev/null +++ b/doc/forum/Split_a_wiki.mdwn @@ -0,0 +1,21 @@ +Is it possible to split an ikiwiki (with git backend) in to two? + +Suppose I have an ikiwiki called myiki + +which contains the pages + +pageA1,pageA2,...,pageB1,pageB2,... + +now I want to have two wikis called myikiA and myikiB + +such that + +myikiA contains pageA1,pageA2,... + +The history of myikiA should contain the whole history of those pages but no history of pageB1,pageB2,... + +and + +myikiB contains pageB1,pageB2,... + +The history of myikiB should contain the whole history of those pages but no history of pageA1,pageA2,... diff --git a/doc/forum/Split_a_wiki/comment_1_1599c26891b2071a2f1ca3fd90627fc4._comment b/doc/forum/Split_a_wiki/comment_1_1599c26891b2071a2f1ca3fd90627fc4._comment new file mode 100644 index 000000000..66401914a --- /dev/null +++ b/doc/forum/Split_a_wiki/comment_1_1599c26891b2071a2f1ca3fd90627fc4._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="http://kerravonsen.dreamwidth.org/" + ip="202.173.183.92" + subject="comment 1" + date="2011-12-03T19:45:06Z" + content=""" +The only thing I can think of is to clone the wiki, and for WikiA, delete PageB, and for WikiB, delete PageA. This won't remove the histories of those pages, but it will at least remove those pages. +"""]] diff --git a/doc/forum/Split_a_wiki/comment_2_1c54d3594f0350340f8dfb3e95c29ffd._comment b/doc/forum/Split_a_wiki/comment_2_1c54d3594f0350340f8dfb3e95c29ffd._comment new file mode 100644 index 000000000..8040ad5e2 --- /dev/null +++ b/doc/forum/Split_a_wiki/comment_2_1c54d3594f0350340f8dfb3e95c29ffd._comment @@ -0,0 +1,20 @@ +[[!comment format=mdwn + username="http://smcv.pseudorandom.co.uk/" + nickname="smcv" + subject="comment 2" + date="2011-12-04T13:37:27Z" + content=""" +If just deleting the unwanted pages is insufficient (e.g. perhaps they +contain information that must not be made public), you can split a git +repository (including ikiwiki repositories) with `git filter-branch` (see +[this stackoverflow question](http://stackoverflow.com/questions/359424/detach-subdirectory-into-separate-git-repository), +for instance). + +This preserves the history of each individual page, but rewrites the +entire history of the repository (it re-does every commit, pretending +that the addition of the omitted pages and every subsequent edit to +them had never happened); it's like `git rebase` but more so. + +As a result, existing branches will no longer be able to push to the +rewritten repository. +"""]] diff --git a/doc/forum/Split_a_wiki/comment_3_9eac1d1b93df27d849acc574b1f0f26d._comment b/doc/forum/Split_a_wiki/comment_3_9eac1d1b93df27d849acc574b1f0f26d._comment new file mode 100644 index 000000000..e2dbd2546 --- /dev/null +++ b/doc/forum/Split_a_wiki/comment_3_9eac1d1b93df27d849acc574b1f0f26d._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawk_MMtLPS7osC5MjX00q2ATjvvXPWqm0ik" + nickname="micheal" + subject="comment 3" + date="2011-12-04T14:03:55Z" + content=""" +@smcv: Thanks, that looks promising. The example from stackoverflow is with subdirectories. What do I have to change to match a list of single files (pages) instead? +"""]] diff --git a/doc/forum/Split_a_wiki/comment_4_e193ba447c0188f72ba589180b5d529e._comment b/doc/forum/Split_a_wiki/comment_4_e193ba447c0188f72ba589180b5d529e._comment new file mode 100644 index 000000000..450529697 --- /dev/null +++ b/doc/forum/Split_a_wiki/comment_4_e193ba447c0188f72ba589180b5d529e._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawk_MMtLPS7osC5MjX00q2ATjvvXPWqm0ik" + nickname="micheal" + subject="comment 4" + date="2011-12-09T09:21:05Z" + content=""" +I have put the question on stackoverflow: http://stackoverflow.com/questions/8443372/split-an-ikiwiki +"""]] diff --git a/doc/forum/Xapian_search:_empty_postlist_table.mdwn b/doc/forum/Xapian_search:_empty_postlist_table.mdwn new file mode 100644 index 000000000..704f017ca --- /dev/null +++ b/doc/forum/Xapian_search:_empty_postlist_table.mdwn @@ -0,0 +1,34 @@ +Hi, + +I'm trying to set up a personal wiki and I'm having trouble getting +search to work. All my searches give zero results. I eventually +figured out that the Xapian database that's being created has an empty +postlist table. The position and termlist tables are all fine, and +when I add new content to the wiki I can see the database is updated +and the search terms are in the position table in plaintext. But I +can't query for them, even using Xapian's command line tools. + +<pre> +mexon:~/Test/.ikiwiki/xapian/default$ ls -l +total 76 +-rw-rw-r-- 1 mexon mexon 0 Dec 16 15:56 flintlock +-rw-rw-r-- 1 mexon mexon 28 Dec 16 15:55 iamchert +-rw-rw-r-- 1 mexon mexon 13 Dec 16 15:55 position.baseA +-rw-rw-r-- 1 mexon mexon 49152 Dec 16 15:55 position.DB +-rw-rw-r-- 1 mexon mexon 13 Dec 16 15:55 postlist.baseA +-rw-rw-r-- 1 mexon mexon 0 Dec 16 15:55 postlist.DB +-rw-rw-r-- 1 mexon mexon 13 Dec 16 15:55 record.baseA +-rw-rw-r-- 1 mexon mexon 0 Dec 16 15:55 record.DB +-rw-rw-r-- 1 mexon mexon 13 Dec 16 15:55 termlist.baseA +-rw-rw-r-- 1 mexon mexon 16384 Dec 16 15:55 termlist.DB +mexon:~/Test/.ikiwiki/xapian/default$ delve -a . +All terms in database: +mexon:~/Test/.ikiwiki/xapian/default$ +</pre> + +I don't know how to debug from here. Clearly ikiwiki is doing +something right when it's building the database, but one of the tables +is missing. Can anyone guess what's wrong, or tell me where to start +troubleshooting? + +I'm using Centos 5. Xapian is version 1.2.5. Ikiwiki version 3.20111107. diff --git a/doc/forum/Xapian_search:_empty_postlist_table/comment_1_de9a7c94beec2707eda0924ca58be9df._comment b/doc/forum/Xapian_search:_empty_postlist_table/comment_1_de9a7c94beec2707eda0924ca58be9df._comment new file mode 100644 index 000000000..23e539f06 --- /dev/null +++ b/doc/forum/Xapian_search:_empty_postlist_table/comment_1_de9a7c94beec2707eda0924ca58be9df._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 1" + date="2011-12-16T18:51:16Z" + content=""" +Perhaps you should try a current verison of xapian, 1.2.7 works here. You don't say what version of the xapian perl module you have; 1.2.7.0 is working here. The \"postlist\" is an internal part of xapian AFAICS, not something that has to be explicitly set up, and it gets populated here. +"""]] diff --git a/doc/forum/Xapian_search:_empty_postlist_table/comment_2_55f191e4b1306a318a30319f01802229._comment b/doc/forum/Xapian_search:_empty_postlist_table/comment_2_55f191e4b1306a318a30319f01802229._comment new file mode 100644 index 000000000..41cdf3d4a --- /dev/null +++ b/doc/forum/Xapian_search:_empty_postlist_table/comment_2_55f191e4b1306a318a30319f01802229._comment @@ -0,0 +1,15 @@ +[[!comment format=mdwn + username="https://me.yahoo.com/a/2d7oNP9wlop3PaHlGlGS1J2ppVqXf4zQAw--#17b9b" + nickname="Matthew" + subject="comment 2" + date="2011-12-17T09:10:38Z" + content=""" +I'm using RPMs to install Xapian packages, xapian-omega and xapian-bindings-perl, and they're all 1.2.5. I originally tried building and installing Xapian 1.2.7 from source, but found that ikiwiki failed like this: + +<pre> +Use of inherited AUTOLOAD for non-method Search::Xapian::DB_CREATE_OR_OPEN() is deprecated at /home/mexon/system/Linux//lib/perl5/site_perl/5.8.8/IkiWiki/Plugin/search.pm line 220. +Can't locate auto/Search/Xapian/DB_CREATE_O.al in @INC (@INC contains: /home/mat/.ikiwiki /home/mexon/system/Linux//lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /home/mexon/system/Linux//lib/perl5/site_perl/5.8.8 /home/mexon/system/perl5lib /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /home/mexon/system/Linux//lib/perl5/site_perl/5.8.8/IkiWiki/Plugin/search.pm line 220 +</pre> + +Much fruitless googling later I found that there were these 1.2.5 RPMs lying around so I switched to those. If you know a solution to the DB_CREATE_O problem I could give 1.2.7 another go. +"""]] diff --git a/doc/forum/Xapian_search:_empty_postlist_table/comment_3_0bd424a89c3a52ff393a1e7e00c806be._comment b/doc/forum/Xapian_search:_empty_postlist_table/comment_3_0bd424a89c3a52ff393a1e7e00c806be._comment new file mode 100644 index 000000000..05f9c874e --- /dev/null +++ b/doc/forum/Xapian_search:_empty_postlist_table/comment_3_0bd424a89c3a52ff393a1e7e00c806be._comment @@ -0,0 +1,24 @@ +[[!comment format=mdwn + username="https://me.yahoo.com/a/2d7oNP9wlop3PaHlGlGS1J2ppVqXf4zQAw--#17b9b" + nickname="Matthew" + subject="comment 3" + date="2011-12-19T06:18:56Z" + content=""" +I had another go, this time with Xapian 1.2.8.0, and I finally got it working. The errors I was seeing earlier were because Xapian installs itself in /usr/local, but the default CentOS environment doesn't have /usr/local/lib in the LD_LIBRARY_PATH. As usual, the problem and solution are very duh, it's the error messages that make everything hard. It's a lot more clear if you do a \"make test\" while building Search::Xapian: + +<pre> +mexon:~/ikiwiki-temp/Search-Xapian-1.2.8.0$ make test +PERL_DL_NONLAZY=1 /usr/bin/perl \"-MExtUtils::Command::MM\" \"-e\" \"test_harness(0, 'blib/lib', 'blib/arch')\" t/*.t +t/01use............... +# Failed test 'use Search::Xapian;' +# in t/01use.t at line 3. +# Tried to use 'Search::Xapian'. +# Error: Can't load '/home/mexon/ikiwiki-temp/Search-Xapian-1.2.8.0/blib/arch/auto/Search/Xapian/Xapian.so' for module Search::Xapian: libxapian.so.22: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230. +# at (eval 3) line 2 +# Compilation failed in require at (eval 3) line 2. +# BEGIN failed--compilation aborted at t/01use.t line 3. +# Looks like you failed 1 test of 3. +</pre> + +So yeah. Worth noting that Xapian 1.2.5 is apparently broken with ikiwiki. Maybe some kind of warning? +"""]] diff --git a/doc/forum/ikiwiki_generates_html_files_with_600_permission..mdwn b/doc/forum/ikiwiki_generates_html_files_with_600_permission..mdwn new file mode 100644 index 000000000..70383372b --- /dev/null +++ b/doc/forum/ikiwiki_generates_html_files_with_600_permission..mdwn @@ -0,0 +1,8 @@ +I installed ikiwiki the usual way, my rcs is git, i configure the post-update hook in the bare-repo and use the cgi script in the non-bare. + +I update my wiki through git (clone the bare repo on my laptop (WORKING CLONE), make a change and push it back to origin ($REPOSITORY)). Then the post-update hook (configured in my ikiwiki.config) kicks in and updates the checked out wiki ($DESTDIR) and the cgi script there generates html. See [[rcs/git]] if something is not clear. + +My problem is: every generated html/css/favicon file is only write and readable by the user (600) and no one else. + + - Edit: If i edit the wiki through the webinterface everything is fine. + - Edit2: Set _everything_ to chmod 0755 but when i run --setup or push to the bare repo; **then pages that are generated through the post update hook still have the wrong permissions.** diff --git a/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_1_6d73d412a9cc6f6ae426b62885c1f157._comment b/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_1_6d73d412a9cc6f6ae426b62885c1f157._comment new file mode 100644 index 000000000..7008a05ac --- /dev/null +++ b/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_1_6d73d412a9cc6f6ae426b62885c1f157._comment @@ -0,0 +1,19 @@ +[[!comment format=mdwn + username="http://smcv.pseudorandom.co.uk/" + nickname="smcv" + subject="your shell has a restrictive umask" + date="2011-11-27T13:24:57Z" + content=""" +Your shell login to the server (presumably SSH?) is running under a +restrictive `umask`, and by default ikiwiki doesn't overrule that. +For instance, perhaps you're using the `pam_umask` module, or +perhaps your `.bashrc` sets a restrictive mask. This is generally +a good thing for privacy from other users of a shared server, but +counterproductive when you're publishing things! + +You can configure ikiwiki to set a less restrictive `umask` with +the `umask` option in your setup file. 18 is probably a good value +(18 decimal = 022 octal, and a `umask` of 022 octal corresponds +to `chmod 0755`, because the `umask` is subtracted from 0777 octal +to get the default permissions). +"""]] diff --git a/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_2_1392fcde369d11a264f31f6b8993ccec._comment b/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_2_1392fcde369d11a264f31f6b8993ccec._comment new file mode 100644 index 000000000..7e0818ce6 --- /dev/null +++ b/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_2_1392fcde369d11a264f31f6b8993ccec._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="http://smcv.pseudorandom.co.uk/" + nickname="smcv" + subject="comment 2" + date="2011-11-27T13:46:16Z" + content=""" +See also [[bugs/octal umask setting is unintuitive]] for more about 18 vs. 022. +"""]] diff --git a/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_3_962306f22ceb17afb4150e766e9a05b3._comment b/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_3_962306f22ceb17afb4150e766e9a05b3._comment new file mode 100644 index 000000000..6ed955061 --- /dev/null +++ b/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_3_962306f22ceb17afb4150e766e9a05b3._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="ikiwikert" + ip="134.99.22.236" + subject="comment 3" + date="2011-11-27T16:54:05Z" + content=""" +thank you for your enlighting post! i set the umask option to 022 (octal) and the wrapper to 0755 and it worked. However i guess it is not a good thing to mix modes and i would appreciate it, if you implemented the \"keyword-approach\" you mentioned. + +Or at least one way of defining modes would be okay for average joes like me. +"""]] diff --git a/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_4_8b988d85cfde123798238d0348764c79._comment b/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_4_8b988d85cfde123798238d0348764c79._comment new file mode 100644 index 000000000..838b13756 --- /dev/null +++ b/doc/forum/ikiwiki_generates_html_files_with_600_permission./comment_4_8b988d85cfde123798238d0348764c79._comment @@ -0,0 +1,22 @@ +[[!comment format=mdwn + username="http://smcv.pseudorandom.co.uk/" + nickname="smcv" + subject="comment 4" + date="2011-11-28T09:52:38Z" + content=""" +Joey merged my branch, so from the next release of ikiwiki you'll be able +to say `umask => 'public'` (or `private` or `group` for the other two +potentially-useful umasks). + +I'm not sure what you mean about mixing modes? The wrapper modes are +something else - the wrapper modes are about who can run the CGI (or the +git commit hook) and whether they're setuid (run as the user who owns +the wiki) or not (run as the web server user or the git push user), +whereas `umask` is about the permissions that ikiwiki will assign to +new files it creates (like the HTML). + +A typical public wiki like this one will have `umask => 'public'`; +the wrapper modes will either be `0755` or `04755` (both octal), +depending on the details of how the web server runs the CGI +and how git pushes are done. +"""]] diff --git a/doc/forum/index_attachments.mdwn b/doc/forum/index_attachments.mdwn new file mode 100644 index 000000000..8167a60f8 --- /dev/null +++ b/doc/forum/index_attachments.mdwn @@ -0,0 +1,9 @@ +Why doesn't the [[plugins/search]] plugin index attachments? are there any +technical reasons for not including this feature/option? (besides increased +processing time, and depending from external programs.) + +One could check for all non-mdwn files, convert them to text, if such thing is +possible, and add them as documents; I guess `needsbuild` would be a good site +for that. + +--[[jerojasro]] diff --git a/doc/forum/index_attachments/comment_1_18b9531d273292b45051eef6a306ca26._comment b/doc/forum/index_attachments/comment_1_18b9531d273292b45051eef6a306ca26._comment new file mode 100644 index 000000000..056c4139a --- /dev/null +++ b/doc/forum/index_attachments/comment_1_18b9531d273292b45051eef6a306ca26._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 1" + date="2012-01-13T17:46:49Z" + content=""" +I don't think there are really any reasons, other than noone having done it. + +Although it is worth noting that using additional libraries/programs to eg, pull exif data and comments out of image files and make it searchable, does potentially increase ikiwiki's attack surface. +"""]] diff --git a/doc/forum/index_attachments/comment_2._comment b/doc/forum/index_attachments/comment_2._comment new file mode 100644 index 000000000..a7eec29cb --- /dev/null +++ b/doc/forum/index_attachments/comment_2._comment @@ -0,0 +1,31 @@ +[[!comment format=mdwn + username="jerojasro" + nickname="jerojasro" + subject="RE: comment 1" + date="2012-01-15T23:49:49Z" + content=""" +I've modified the plugin adding the possibility of indexing attachments. Only +PDF attachments for now, but support for other filetypes should be real easy to add. + +The changes to `IkiWiki/Plugin/search.pm` are available at +<http://git.devnull.li/ikiwiki.git>, in the `srchatt` branch. + +I have a small question about filenames and security: I'm using `qx` to execute +the program that extracts the text from the PDF files, but `qx` executes a +whole string, and passes it not to the program I want to run, but to a shell, +so it is possible (I think) to craft a filename that, in a shell, expands to +something nasty. + +How do the Perl/IkiWiki experts suggest to handle these potentially unsafe +filenames? I've thought of the following options: + + * Running the text extractor program using `Proc::Safe`. I could not find a + Debian package for it, and I'd rather avoid adding another dependency to + IkiWiki. + * Running the text extractor program as suggested in the `perlipc` document, + using `fork` + `exec`. + +I haven't done any of those because I'd like to check if there are any helpers +in IkiWiki to do this. Perhaps the `IkiWiki::possibly_foolish_untaint` function +does it? (I didn't really understand what it does...) +"""]] diff --git a/doc/forum/index_attachments/comment_3_050e5847641a27e0c14232632f3e700a._comment b/doc/forum/index_attachments/comment_3_050e5847641a27e0c14232632f3e700a._comment new file mode 100644 index 000000000..b589ae823 --- /dev/null +++ b/doc/forum/index_attachments/comment_3_050e5847641a27e0c14232632f3e700a._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawljSQThLsc4vHz0jw1aSR74Dj9K5J_NKqk" + nickname="Michal" + subject="comment 3" + date="2012-01-17T16:45:37Z" + content=""" +Maybe it could be sufficient to run a command similar to + + omindex --db /path/to/.ikiwiki/xapian/default --url http://webserver/ikiwiki /path/to/public_html +"""]] diff --git a/doc/forum/index_attachments/comment_4._comment b/doc/forum/index_attachments/comment_4._comment new file mode 100644 index 000000000..1a2726290 --- /dev/null +++ b/doc/forum/index_attachments/comment_4._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="jerojasro" + nickname="jerojasro" + subject="RE: comment 1" + date="2012-01-21T21:44:00" + content=""" +[[Michal]], that's not a bad idea IMO, but we would lose some [[searching +keywords|ikiwiki/searching]] and would also index structural elements +(navigation text, and so on) +"""]] diff --git a/doc/forum/pandoc-iki_plugin.mdwn b/doc/forum/pandoc-iki_plugin.mdwn index 6a25fd723..b9cc6b3d2 100644 --- a/doc/forum/pandoc-iki_plugin.mdwn +++ b/doc/forum/pandoc-iki_plugin.mdwn @@ -1,4 +1,4 @@ -I've updated [[Jason Blevin|users/jasonblevins]]'s pandoc plugin to permit tighter integration between Ikiwiki and [Pandoc](http://johnmacfarlane.net/pandoc/). Given the features Pandoc has added over the past 6-12 months, this makes for a very powerful combination, e.g. with code block syntax highlighting and lots of options for how to process and display inline TeX. See <https://github.com/profjim/pandoc-iki> for details. +I've updated [[Jason Blevin|users/jasonblevins]]'s pandoc plugin to permit tighter integration between Ikiwiki and [Pandoc](http://johnmacfarlane.net/pandoc/). Given the features Pandoc has added over the past 6-12 months, this makes for a very powerful combination, e.g. with code block syntax highlighting and lots of options for how to process and display inline TeX. See <https://github.com/dubiousjim/pandoc-iki> for details. How do I get this added to the contrib section of the plugin list? --Profjim diff --git a/doc/forum/two_new_contrib_plugins:_newpage__44___jssearchfield.mdwn b/doc/forum/two_new_contrib_plugins:_newpage__44___jssearchfield.mdwn new file mode 100644 index 000000000..8293b098f --- /dev/null +++ b/doc/forum/two_new_contrib_plugins:_newpage__44___jssearchfield.mdwn @@ -0,0 +1,20 @@ +Just thought people might like to know I've added a couple more plugins to contrib. + +[[plugins/contrib/newpage]]: This plugin adds a new action to the "ACTIONS" section of a page; a button labelled "create" and an input field next to it. + +The common way of creating a new page is to edit a different page and add a link to the new page. However, there are some situations where that is a nuisance; for example, where pages are listed using a map directive. The newpage plugin enables one to simply type the name of the new page, click the "create" button, and one is then taken to the standard IkiWiki create-page form. + +[[plugins/contrib/jssearchfield]]: This plugin provides the [[plugins/contrib/ikiwiki/directive/jssearchfield]] directive. This +enables one to search the structured data ("field" values) of multiple pages. +This uses Javascript for the searching, which means that the entire thing +is self-contained and does not require a server or CGI access, unlike +the default IkiWiki search. This means that it can be used in places such +as ebook readers. The disadvantage is that because Javascript runs +in the browser, the searching is only as fast as the machine your browser +is running on. + +Because this uses Javascript, the htmlscrubber must be turned off for any page where the directive is used. + +This plugin depends on the [[!iki plugins/contrib/field]] plugin. + +--[[KathrynAndersen]] diff --git a/doc/forum/w3mmode___91__Save_Page__93___results_in_403.mdwn b/doc/forum/w3mmode___91__Save_Page__93___results_in_403.mdwn new file mode 100644 index 000000000..6c7a59b62 --- /dev/null +++ b/doc/forum/w3mmode___91__Save_Page__93___results_in_403.mdwn @@ -0,0 +1,9 @@ +My setup matches w3mmode [[w3mmode/ikiwiki.setup]] exactly. +My doc/index.mdwn just has a line or two of plain text. +When I try to edit that page in w3m, it works fine until I push [Save Page]. +Then I just get a page that only contains "403". + +ikiwiki version is 3.20110715ubuntu1. +w3m is 0.5.3. + +-- [[terry|tjgolubi]] diff --git a/doc/git.mdwn b/doc/git.mdwn index eb3cc439b..2e58c6992 100644 --- a/doc/git.mdwn +++ b/doc/git.mdwn @@ -73,6 +73,7 @@ think about merging them. This is recommended. :-) * [[sajolida]] `http://un.poivron.org/~sajolida/ikiwiki.git/` * nezmer `git://gitorious.org/ikiwiki-nezmer/ikiwiki-nezmer.git` * [[yds]] `git://github.com/yds/ikiwiki.git` +* [[pelle]] `git://github.com/hemmop/ikiwiki.git` ## branches diff --git a/doc/ikiwiki/directive/graph.mdwn b/doc/ikiwiki/directive/graph.mdwn index 433187268..8b066c2f2 100644 --- a/doc/ikiwiki/directive/graph.mdwn +++ b/doc/ikiwiki/directive/graph.mdwn @@ -1,13 +1,22 @@ The `graph` directive is supplied by the [[!iki plugins/graphviz desc=graphviz]] plugin. -This directive allows embedding [graphviz](http://www.graphviz.org/) graphs in a -page. Example usage: +This directive allows embedding [graphviz](http://www.graphviz.org/) +graphs in a page. Example usage: \[[!graph src="a -> b -> c; a -> c;"]] -Note that graphs will only show up in previews if your browser has -[[!wikipedia data: URI]] support, or if the same graph already exists on that -page. +Nodes on the graph can link to external urls using regular graphviz syntax, +and a clickable imagemap will be created. As a special extension for +ikiwiki, [[WikiLinks|ikiwiki/wikilink]] can also be used. For example: + + \[[!graph src="""" + google [ href="http://google.com/" ] + sandbox [ href=\[[SandBox]] ] + help [ href=\[[ikiwiki/formatting]] ] + newpage [ href=\[[NewPage]] ] + + google -> sandbox -> help -> newpage -> help -> google; + """"]] The `graph` directive supports the following parameters: diff --git a/doc/ikiwiki/directive/meta.mdwn b/doc/ikiwiki/directive/meta.mdwn index 6b381f138..72cfc6f56 100644 --- a/doc/ikiwiki/directive/meta.mdwn +++ b/doc/ikiwiki/directive/meta.mdwn @@ -109,7 +109,7 @@ Supported fields: \[[!meta openid="http://joeyh.myopenid.com/" server="http://www.myopenid.com/server" - xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com""]] + xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com"]] * link @@ -162,14 +162,13 @@ Supported fields: * guid - Specifies a globally unique ID for a page. This guid should be a URI - (in particular, it can be `urn:uuid:` followed by a UUID, as per - [[!rfc 4122]]), and it will be used to identify the page's entry in RSS + Specifies a globally unique ID for a page. This guid should be a URI, + and it will be used to identify the page's entry in RSS and Atom feeds. If not given, the default is to use the page's URL as its guid. This is mostly useful when a page has moved, to keep the guids for - pages unchanged and avoid_flooding_aggregators + pages unchanged and avoid flooding aggregators (see [[!iki tips/howto_avoid_flooding_aggregators]]). * updated diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn index e9853129c..96b94a163 100644 --- a/doc/ikiwikiusers.mdwn +++ b/doc/ikiwikiusers.mdwn @@ -30,14 +30,11 @@ Projects & Organizations * [Debian Mentors wiki](http://jameswestby.net/mentors/) * [The BSD Associate Admin Book Project](http://bsdwiki.reedmedia.net/) * The [maildirman wiki](http://svcs.cs.pdx.edu/maildirman) -* The [linuxbierwanderung wiki/homepage](http://www.linuxbierwanderung.org) * The [Relativistic Programming research wiki](http://wiki.cs.pdx.edu/rp). * [Debian-IN](http://debian-in.alioth.debian.org/) * [Braawi Ltd](http://braawi.com/) and the community site [Braawi.org](http://braawi.org/) * [Webconverger](http://webconverger.org/) (a Web only linux distribution) with a [blog](http://webconverger.org/blog/) -* [debian-community.org](http://debian-community.org/) * [DebTorrent](http://debtorrent.alioth.debian.org) -* The [netconf project](http://netconf.alioth.debian.org) * The [Debian Packaging Handbook project](http://packaging-handbook.alioth.debian.org/wiki/) * The [libkdtree project](http://libkdtree.alioth.debian.org) * The [pcc](http://pcc.ludd.ltu.se/) (Portable C Compiler) project. (Simple rcs backend) @@ -49,18 +46,14 @@ Projects & Organizations * [Børneuniversitetet](http://support.borneuni.dk/) ([source](http://source.borneuni.dk/)) * [CampusGrün Hamburg](http://www.campusgruen.org/) * The [awesome window manager homepage](http://awesome.naquadah.org/) -* [Enemies of Carlotta](http://www.e-o-c.org/) * [vcs-pkg](http://vcs-pkg.org) * [vcs-home](http://vcs-home.madduck.net) -* [Query Object Framework](http://qof.alioth.debian.org/) -* [Estron - Object Relational Mapping interpreter](http://estron.alioth.debian.org/) * [Public Domain collection of Debian related tips & tricks](http://dabase.com/tips/) - please add any tips too * [Finnish Debian community](http://debian.fi) * [INCL intranuclear cascade and ABLA evaporation/fission](http://www.cs.helsinki.fi/u/kaitanie/incl/) * [dist-bugs](http://dist-bugs.kitenet.net/) * [Chaos Computer Club Düsseldorf](https://www.chaosdorf.de) * [monkeysphere](http://web.monkeysphere.info/) -* [The Walden Effect](http://www.waldeneffect.org/) * [St Hugh of Lincoln Catholic Primary School in Surrey](http://www.sthugh-of-lincoln.surrey.sch.uk/) * [Cosin Homepage](http://cosin.ch) uses an Ikiwiki with a subversion repository. * [Bosco Free Orienteering Software](http://bosco.durcheinandertal.ch) @@ -76,7 +69,6 @@ Projects & Organizations * [Serialist](http://serialist.net/)'s static pages (documentation, blog). We actually have ikiwiki generate its static content as HTML fragments using a modified page.tmpl template, and then the FastCGI powering our site grabs those fragments and embeds them in the standard dynamic site template. * [Apua IT](http://apua.se/) * [PDFpirate Community](http://community.pdfpirate.org/) -* [Banu](https://banu.com/) uses Ikiwiki for its website, to convert static Markdown pages into PHP scripts which are served along with non-Ikiwiki PHP generated contents. The static contents benefit from use of Ikiwiki's plugins. Ikiwiki is purely used as a CMS and no wiki or web-based editing is allowed. Ikiwiki is run offline, and the resulting scripts are uploaded using rsync to the website. * [Software in the Public Interest](http://spi-inc.org/) * [NXT Improved Firmware](http://nxt-firmware.ni.fr.eu.org/) * [The FreedomBox Foundation](http://www.freedomboxfoundation.org/) @@ -85,6 +77,8 @@ Projects & Organizations * [The Amnesic Incognito Live System](https://tails.boum.org/index.en.html) * [The Progress Linux OS wiki](http://wiki.progress-linux.org/) * [Oxford Computer Society](http://www.ox.compsoc.net/) +* [Russian OpenBSD Community wiki](http://wiki.openbsd.ru/) +* [Arcada Project](http://arcadaproject.org/) Personal sites and blogs ======================== @@ -94,7 +88,6 @@ Personal sites and blogs * [Ulrik's personal web page](http://kaizer.se/wiki/) * [kite](http://kitenet.net) * [Paul Collins's as-yet purposeless wiki](http://wiki.ondioline.org/) -* [Andre Luis Lopes's personal website](http://www.andrelop.org/). Brazilian Portuguese only * [Alessandro Dotti Contra's personal website](http://www.dotticontra.org/) and [weblog](http://www.dotticontra.org/blog) * [Kelly Clowers' personal website](http://www.clowersnet.net/) * [Anna's nature features](http://kitenet.net/~anna/nature-feature/) @@ -105,8 +98,6 @@ Personal sites and blogs * [Adam Shand's homepage](http://adam.shand.net/iki/) * [Hess family wiki](http://kitenet.net/~family/) * [Zack](http://upsilon.cc/~zack)'s homepage, including [his weblog](http://upsilon.cc/~zack/blog/) -* [Taquiones: Victor Moral's personal website in Spanish](http://taquiones.net) - * [Venexma Europa, S.L.](http://www.venexma.net): It's a small company dedicated to the distribution of shoe accessories. We use ikiwiki for development of internal applications (some areas are password protected). In spanish, of course. * [betacantrips, the personal website of Ethan Glasser-Camp](http://www.betacantrips.com/) * [Keith Packard's homepage and blog](http://keithp.com/). * [Christian Mock's homepage](http://www.tahina.priv.at/). @@ -114,19 +105,13 @@ Personal sites and blogs * [Tales from the Gryphon](http://www.golden-gryphon.com/blog/manoj/), Manoj Srivastava's free software blog. * [Proper Treatment 正當作法](http://conway.rutgers.edu/~ccshan/wiki/) * [lost scraps](http://web.mornfall.net), pages/blog of Petr Ročkai aka mornfall -* [formorers blog and website](http://www.formorer.de/webwiki/) -* [Mark Jaroski's blog](http://movemearound.org/) * [Schabis blaue Seite](http://schabi.de) - I abuse ikiwiki as blog/cms combo, and will migrate all existing content into ikiwiki eventually. -* [Ben Coffey's blog and personal site](http://inelegant.org/). * [blog of LukClaes](http://zomers.be/~luk/blog/). -* [Effective Programming](http://effectiveprogramming.com/) * [Embedded Moose](http://embeddedmoose.com), Andrew Greenberg's personal and consulting page. -* [Chez Fred](http://fred.ccheznous.org) * [Cameron Dale](http://www.camrdale.org/) * [[KarlMW]]'s [homepage](http://mowson.org/karl/), generated with an ikiwiki [asciidoc plugin](http://mowson.org/karl/colophon/). * [Carl Worth's Boring Web Pages](http://www.cworth.org) -* I keep my personal and project notes in a private ikiwiki - it's the perfect tool for this task. - [h01ger](http://layer-acht.org/) * [[NicolasLimare]] ([nil](http://poivron.org/~nil/)+[lab](http://www.ann.jussieu.fr/~limare/)+[id](http://nicolas.limare.net/)+[french translation of the basewiki](http://poivron.org/~nil/ikiwiki-fr/)) * Andrew Sackville-West has setup a [family wiki](http://wiki.swclan.homelinux.org) * [Simon Ward's site](http://bleah.co.uk/) and [blog](http://bleah.co.uk/blog/). @@ -134,13 +119,10 @@ Personal sites and blogs * [Martin's PhD wiki](http://phd.martin-krafft.net/wiki) * [David Riebenbauer's page](http://liegesta.at/) * [Thomas Harning's 'eHarning' wiki](http://www.eharning.us/wiki/) -* [David Bremner's blog](http://www.cs.unb.ca/~bremner/wiki/blog) * [madduck's (new) homepage](http://madduck.net) * [Olivier Berger's professional homepage](http://www-public.it-sudparis.eu/~berger_o/) -* [Andrey Tarantsov's homepage](http://www.tarantsov.com/) * [Don Marti's blog](http://zgp.org/~dmarti/) * [[users/Jon]]'s [homepage](http://jmtd.net/) -* [[xma]] is using ikiwiki (<http://maillard.mobi/~xma/>) * [[JanWalzer|jwalzer]]'s [homepage](http://wa.lzer.net/) -- Work in Progress * [[Adam_Trickett|ajt]]'s home intranet/sanbox system ([Internet site & blog](http://www.iredale.net/) -- not ikiwiki yet) * [[Simon_McVittie|smcv]]'s [website](http://www.pseudorandom.co.uk/) and @@ -150,16 +132,13 @@ Personal sites and blogs * [Per Bothner's blog](http://per.bothner.com/blog/) * [Bernd Zeimetz (bzed)](http://bzed.de/) * [Gaudenz Steinlin](http://gaudenz.durcheinandertal.ch) -* [Simon C.](http://simon.kisikew.org/) - several other sites, too. * [NeoCarz Wiki](http://www.neocarz.com/wiki/) Yes - its actually Ikiwiki behind that! I'm using Nginx and XSL to transform the ikiwiki renderings thanks to the valid XHTML output of ikiwiki. Great work Joey!! * [Natalian - Kai Hendry's personal blog](http://natalian.org/) * [Mick Pollard aka \_lunix_ - Personal sysadmin blog and wiki](http://www.lunix.com.au) -* [tumashu's page](http://tumashu.github.com) This is my personal site in github created with ikiwiki and only a page,you can get the [source](http://github.com/tumashu/tumashu/tree/master) * [Skirv's Wiki](http://wiki.killfile.org) - formerly Skirv's Homepage * [Jimmy Tang - personal blog and wiki](http://www.sgenomics.org/~jtang) * [Nico Schottelius' homepage](http://www.nico.schottelius.org) * [Andreas Zwinkaus homepage](http://beza1e1.tuxen.de) -* [Salient Dream](http://salient.dre.am) * [Walden Effect](http://waldeneffect.org) * [Avian Aqua Miser](http://www.avianaquamiser.com/) * [Cosmic Cookout](http://www.cosmiccookout.com/) @@ -168,7 +147,6 @@ Personal sites and blogs * [Andreas's homepage](http://0x7.ch/) - Ikiwiki, Subversion and CSS template * [Chris Dombroski's boring bliki](https://www.icanttype.org/) * [Josh Triplett's homepage](http://joshtriplett.org/) - Git backend with the CGI disabled, to publish a static site with the convenience of ikiwiki. -* [Ertug Karamatli](http://pages.karamatli.com) * [Jonatan Walck](http://jonatan.walck.i2p/) a weblog + wiki over [I2P](http://i2p2.de/). Also [mirrored](http://jonatan.walck.se/) to the Internet a few times per day. * [Daniel Wayne Armstrong](http://circuidipity.com/) * [Mukund](https://mukund.org/) @@ -186,10 +164,11 @@ Personal sites and blogs * [Richard "RichiH" Hartmann](http://richardhartmann.de/blog) - I thought I had added myself a year ago. Oups :) * [Jonas Smedegaard](http://dr.jones.dk/) multilingual "classic" website w/ blog * [Siri Reiter](http://sirireiter.dk/) portfolio website with a blog (in danish) -* [L'Altro Wiki](http://laltromondo.dynalias.net/~iki/) Tutorials, reviews, miscellaneus articles in English and Italian, from the IRC network syrolnet.org -* [STUPiD](http://lhzhang.com/) +* [L'Altro Wiki](http://laltromondo.dynalias.net/~iki/) Tutorials, reviews, miscellaneus articles in English and Italian. * gregoa's [p.r. - political rants](http://info.comodo.priv.at/pr/) * [Michael Hammer](http://www.michael-hammer.at/) * [Richardson Family Wiki](http://the4richardsons.com) A wiki, blog or some such nonsense for the family home page or something or other... I will eventually move the rest of my sites to ikiwiki. The source of the site is in git. * [The personal website of Andrew Back](http://carrierdetect.com) * [SolderPad Documentation](http://docs.solderpad.com) +* various sub-domains at kisikew.org ([example](https://portal.kisikew.org/)) +* [Paul Elms](http://paul.elms.pro) Personal site and blog in russian. diff --git a/doc/index.mdwn b/doc/index.mdwn index ddf1ecd84..4c22ce0e0 100644 --- a/doc/index.mdwn +++ b/doc/index.mdwn @@ -14,7 +14,7 @@ with ikiwiki, and some [[tips]]. Basic documentation for ikiwiki plugins and syntax is provided [[here|ikiwiki]]. The [[forum]] is open for discussions. -All wikis are supposed to have a [[SandBox]], so this one does too. +All wikis are supposed to have a [[sandbox]], so this one does too. This site generally runs the latest release of ikiwiki; currently, it runs ikiwiki [[!version ]]. diff --git a/doc/install.mdwn b/doc/install.mdwn index f38ae2aab..9c5d5939b 100644 --- a/doc/install.mdwn +++ b/doc/install.mdwn @@ -11,7 +11,8 @@ Ikiwiki is a perl program, and needs a recent version of perl such as It's recommended you have a C compiler, as ikiwiki uses one to build wrappers. -Ikiwiki requires the [[!cpan Text::Markdown]], [[!cpan URI]], +Ikiwiki requires the [[!cpan Text::Markdown::Discount]] (or +[[!cpan Text::Markdown]]), [[!cpan URI]], [[!cpan HTML::Parser]], [[!cpan HTML::Template]], and [[!cpan HTML::Scrubber]] perl modules be installed. It can also use a lot of other perl modules, if they are available. diff --git a/doc/install/discussion.mdwn b/doc/install/discussion.mdwn index b4ec5ebf4..b27cc4bac 100644 --- a/doc/install/discussion.mdwn +++ b/doc/install/discussion.mdwn @@ -349,3 +349,10 @@ I've attempted to mergeably patch these in my git, commit 5c177c96ac98b24aaa0613ca241fb113f1b32c55. --[[schmonz]] + +----- + +[[!template id=gitbranch branch=schmonz/portability author="[[schmonz]]"]] + +My git was in a screwy state so I started over. These changes are +now on a branch. --[[schmonz]] diff --git a/doc/news/version_3.20110711.mdwn b/doc/news/version_3.20110711.mdwn deleted file mode 100644 index c4006cbe7..000000000 --- a/doc/news/version_3.20110711.mdwn +++ /dev/null @@ -1,7 +0,0 @@ -ikiwiki 3.20110711 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * Add build dep on python-support. Closes: #[633536](http://bugs.debian.org/633536) - * attachment: Bugfix to move upload attachments out of holding area - when saving. - * attachment: Bugfix for trying to attach files to a subpage of the index - page."""]]
\ No newline at end of file diff --git a/doc/news/version_3.20110712.mdwn b/doc/news/version_3.20110712.mdwn deleted file mode 100644 index 8744d688d..000000000 --- a/doc/news/version_3.20110712.mdwn +++ /dev/null @@ -1,6 +0,0 @@ -ikiwiki 3.20110712 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * attachment: Bugfix to create directory when moving attachment out of - holding area. - * Display attachment manipulation links always, since attachments can be - uploaded via javascript."""]]
\ No newline at end of file diff --git a/doc/news/version_3.20110715.mdwn b/doc/news/version_3.20110715.mdwn deleted file mode 100644 index da291dafb..000000000 --- a/doc/news/version_3.20110715.mdwn +++ /dev/null @@ -1,5 +0,0 @@ -ikiwiki 3.20110715 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * rename: Fix logic error that broke renaming pages when the attachment - plugin was disabled. - * rename: Fix logic error that bypassed the usual pagespec checks."""]]
\ No newline at end of file diff --git a/doc/news/version_3.20110905.mdwn b/doc/news/version_3.20110905.mdwn deleted file mode 100644 index bff02c3af..000000000 --- a/doc/news/version_3.20110905.mdwn +++ /dev/null @@ -1,32 +0,0 @@ -ikiwiki 3.20110905 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * mercurial: Openid nicknames are now used when committing. (Daniel Andersson) - * mercurial: Implement rcs\_commit\_staged so comments, attachments, etc - can be used. (Daniel Andersson) - * mercurial: Implement rcs\_rename, rcs\_remove. (Daniel Andersson) - * mercurial: Fix viewing of a diff containing non-utf8 changes. - (Daniel Andersson) - * mercurial: Make both rcs\_getctime and rcs\_getmtime fast. (Daniel Andersson) - * mercurial: Implement rcs\_diff. (Daniel Andersson) - * po: Add `LANG\_CODE` and `LANG\_NAME` template variables. (intrigeri) - * Fix typo in Danish translation of shortcuts page that caused exponential - regexp blowup. - * Fix escaping of html entities in permalinks. - * Fix escaping of html entities in tag names. - * Avoid using named capture groups in heredoc code for oldperl compatibility. - * Put in a workaround for #622591, by ensuring Search::Xapian gets loaded - before Image::Magick. - * Add unminified jquery js and css files to source. - * Update to jquery 1.6.2, and jquery-ui 1.8.14. - * Use lockf rather than flock when taking the cgilock, for better - portability. - * search: Fix encoding bug in calculation of maximum term size. - * inline: When indexing internal pages for searching, use the url of - the inlining page. - * Fix comments testsuite to not rely on Date::Parse's ability to - parse the date Columbus discovered America. Closes: #[640350](http://bugs.debian.org/640350) - * Avoid warning message when generating setup file if highlight - is not installed. Closes: #[637606](http://bugs.debian.org/637606) - * Promote RPC::XML to a Recommends, since it's used by auto-blog.setup. - Closes: #[637603](http://bugs.debian.org/637603) - * Fix web revert of a file deletion."""]]
\ No newline at end of file diff --git a/doc/news/version_3.20111107.mdwn b/doc/news/version_3.20111107.mdwn new file mode 100644 index 000000000..5af8ae647 --- /dev/null +++ b/doc/news/version_3.20111107.mdwn @@ -0,0 +1,12 @@ +ikiwiki 3.20111107 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * img: Bugfix to width/height tags for scaled down image when only + one dimension was provided. Thanks, Per Carlson. + * editpage: Fix FormattingHelp link on Discussion pages. + * The umask setting can now be set to private, group, or public, + avoiding the need to enter octal correctly which is particularly + difficult in yaml setup files. (smcv) + * graphviz: Support urls embedded in the graph, by having graphviz + generate an imagemap. + * graphviz: Support wikilinks embedded in the graph. + (Sponsored by The TOVA Company.)"""]]
\ No newline at end of file diff --git a/doc/news/version_3.20111229.mdwn b/doc/news/version_3.20111229.mdwn new file mode 100644 index 000000000..18c4f8d12 --- /dev/null +++ b/doc/news/version_3.20111229.mdwn @@ -0,0 +1,7 @@ +ikiwiki 3.20111229 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * Consume all stdin when rcs\_receive short-circuits, + to avoid git SIGPIPE race. + * Add path and path\_natural sort orders (smcv) + * Test coverage can be checked with `make coverage` (smcv) + * tag: encode categories using numeric values. (tango)"""]]
\ No newline at end of file diff --git a/doc/news/version_3.20120109.mdwn b/doc/news/version_3.20120109.mdwn new file mode 100644 index 000000000..de53c5d67 --- /dev/null +++ b/doc/news/version_3.20120109.mdwn @@ -0,0 +1,9 @@ +ikiwiki 3.20120109 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * mdwn: Can use the discount markdown library, via the + Text::Markdown::Discount perl module. This is preferred if available + since it's the fastest currently supported markdown library, speeding up + ikiwiki's markdown rendering by a factor of 40. + (However, when multimarkdown is enabled, Text::Markdown::Multimarkdown + is still used.) + * On Debian, depend on libtext-markdown-discount."""]]
\ No newline at end of file diff --git a/doc/news/version_3.20120115.mdwn b/doc/news/version_3.20120115.mdwn new file mode 100644 index 000000000..ba665c666 --- /dev/null +++ b/doc/news/version_3.20120115.mdwn @@ -0,0 +1,5 @@ +ikiwiki 3.20120115 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * Make backlink(.) work. Thanks, Giuseppe Bilotta. + * mdwn: Workaround discount's eliding of <style> blocks. + * attachment: Fix utf-8 display bug."""]]
\ No newline at end of file diff --git a/doc/plugins/contrib/album.mdwn b/doc/plugins/contrib/album.mdwn index 8dfbbf716..836a98f33 100644 --- a/doc/plugins/contrib/album.mdwn +++ b/doc/plugins/contrib/album.mdwn @@ -1,144 +1,118 @@ [[!template id=plugin name=album author="[[Simon_McVittie|smcv]]"]] -[[!template id=gitbranch branch=smcv/album2 author="[[Simon_McVittie|smcv]]"]] [[!tag type/chrome]] -Available from [[smcv]]'s git repository, in the `album2` branch. -Older (pre-rebase) versions in `album`, `album-live` (the latter -was used on an actual website and didn't explode too much). +This plugin provides the [[ikiwiki/directive/album]] [[ikiwiki/directive]], +which turns a page into a photo album or image gallery, containing all +images attached to the album or its subpages. It also provides the +[[ikiwiki/directive/albumsection]] and [[ikiwiki/directive/albumimage]] +directives. -This plugin formats a collection of images into a photo album, -in the same way as many websites: good examples include the -PHP application [Gallery](http://gallery.menalto.com/), Flickr, -and Facebook's Photos "application". +This plugin automatically enables the [[filecheck]], [[img]], [[inline]], +[[trail]] and [[transient]] plugins. The [[meta]] plugin is also +recommended. -I've called it `album` to distinguish it from -[[contrib/gallery|plugins/contrib/gallery]], although `gallery` might well be -a better name for this functionality. - -The web UI I'm trying to achieve consists of one -[HTML page of thumbnails](http://ikialbum.hosted.pseudorandom.co.uk/album/) -as an entry point to the album, where each thumbnail links to -[a "viewer" HTML page](http://ikialbum.hosted.pseudorandom.co.uk/album/img_0120/) -with a full size image, next/previous thumbnail links, and -[[plugins/comments]]. - -(The Summer of Code [[plugins/contrib/gallery]] plugin does the -next/previous UI in Javascript using Lightbox, which means that -individual photos can't be bookmarked in a meaningful way, and -the best it can do as a fallback for non-Javascript browsers -is to provide a direct link to the image.) - -<h2 id="album"><code>album</code> directive</h2> +## Changing the templates -Each page containing an `album` directive is treated as a photo album. +When a viewer page is generated or inlined into an album, the template can +contain these extra variables: -Every image attached to an album or its subpages is considered to be part of -the album. A "viewer" page, with the wiki's default page extension, will be -generated in the [[transient underlay|todo/transient_pages]] to display the -image, if there isn't already a page of the same name as the image: for -instance, if `debconf` is an album and `debconf/tuesday/p100.jpg` exists, -then `debconf/tuesday/p100.mdwn` might be created. +* `<TMPL_VAR ALBUM>` - page name of the album +* `<TMPL_VAR ALBUMURL>` - relative URL to the album +* `<TMPL_VAR ALBUMTITLE>` - title of the album, usually taken from + a [[ikiwiki/directive/meta]] directive +* `<TMPL_VAR CAPTION>` - caption for the image +* `<TMPL_VAR THUMBNAIL>` - a small [[ikiwiki/directive/img]] for the image +* `<TMPL_VAR IMAGEWIDTH>` - width of the full-size image in pixels +* `<TMPL_VAR IMAGEHEIGHT>` - height of the full-size image in pixels +* `<TMPL_VAR IMAGEFILESIZE>` - size of the image, e.g. `1.2 MiB` +* `<TMPL_VAR IMAGEFORMAT>` - format of the image, typically `JPEG` -There's currently a hard-coded list of extensions that are treated as images: -`png`, `gif`, `jpg`, `jpeg` or `mov` files. More image and video types could -be added in future. Videos aren't currently handled very well; -ideally, something like totem-video-thumbnailer would be used. +The template for the viewer page can also contain: -The `album` directive also produces an [[ikiwiki/directive/inline]] which -automatically includes all the viewers for this album, except those that -will appear in an <a href="#albumsection">albumsection</a> (if every image -is in a section, then the `album` directive won't have any visible effect). +* `<TMPL_VAR IMG>` - a large [[ikiwiki/directive/img]] to display the image +* `<TMPL_VAR PREV>` - a link to the previous viewer, typically with a + thumbnail +* `<TMPL_VAR NEXT>` - a link to the next viewer, typically with a + thumbnail -The `inline` is in `archive` and `quick` mode, but can include some -extra information about the images, including file size and a thumbnail made -using [[ikiwiki/directive/img]]). The default template is `albumitem.tmpl`, -which takes advantage of these things. +## Including album entries elsewhere -<h2 id="albumsection"><code>albumsection</code> directive</h2> +To display images from elsewhere in the wiki with the same appearance as +an [[ikiwiki/directive/album]] or [[ikiwiki/directive/albumsection]], +you can use an [[ikiwiki/directive/inline]] with the `albumitem` +template: -The `albumsection` directive is used to split an album into sections. It can -only appear on a page that also has the <a href="#album">album</a> directive. + \[[!inline pages="..." sort="-age" template="albumitem"]] -The `filter` parameter is a [[ikiwiki/PageSpec]] against which viewer pages -are matched. The `albumsection` directive displays all the images that match -the filter, and the `album` directive displays any leftover images, like -this: +---- - # Holiday photos +[[!template id=gitbranch branch=smcv/album3 author="[[Simon_McVittie|smcv]]"]] - \[[!album]] - <!-- replaced with a list of any uncategorized photos, which might be - empty --> - - ## People - - \[[!albumsection filter="tagged(people)"]] - <!-- replaced with a list of photos tagged 'people', including - any that are also tagged 'landscapes' --> +Available from [[smcv]]'s git repository, in the `album3` branch. +I've called it `album` to distinguish it from +[[contrib/gallery|plugins/contrib/gallery]], although `gallery` might well be +a better name for this functionality. - ## Landscapes +(The Summer of Code [[plugins/contrib/gallery]] plugin does the +next/previous UI in Javascript using Lightbox, which means that +individual photos can't be bookmarked in a meaningful way, and +the best it can do as a fallback for non-Javascript browsers +is to provide a direct link to the image.) - \[[!albumsection filter="tagged(landscapes)"]] - <!-- replaced with a list of photos tagged 'landscapes', including - any that are also tagged 'people' --> +Updated, November 2011: rebased onto [[trail]] v3, CSS adjusted. -<h2 id="albumimage"><code>albumimage</code> directive</h2> +## Manual installation -Each viewer page produced by the <a href="#album">album</a> directive -contains an `albumimage` directive, which is replaced by an -[[ikiwiki/directive/img]], wrapped in some formatting using a -template (by default it's `albumviewer.tmpl`). That template can also include -links to the next photo, the previous photo and the album it's in; the default -template has all of these. +If you don't want to use a branch of ikiwiki, manual installation requires +these files (use the "raw" link in gitweb to download), in addition to the +ones needed by [[trail]]: -The next/previous links are themselves implemented by evaluating a template, -either `albumnext.tmpl` or `albumprev.tmpl` by default. +* [album.pm](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/album3:/IkiWiki/Plugin/album.pm) + in an `IkiWiki/Plugin` subdirectory of your configured `plugindir` +* [albumviewer.tmpl](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/album3:/templates/albumviewer.tmpl), + [albumitem.tmpl](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/album3:/templates/albumitem.tmpl), + [albumnext.tmpl](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/album3:/templates/albumnext.tmpl) and + [albumprev.tmpl](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/album3:/templates/albumprev.tmpl), + in your configured `templatedir`, or a `templates` subdirectory of your wiki repository +* the album-related bits from the end of the + [stylesheet](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/album3:/doc/style.css) + (put them in your local.css) -The directive can also have parameters: +## Demo -* `title`, `copyright` and `date` are short-cuts for the corresponding - [[ikiwiki/directive/meta]] directives +* [HTML page of thumbnails](http://ikialbum.hosted.pseudorandom.co.uk/album/) + as an entry point to the album +* Each thumbnail links to + [a "viewer" HTML page](http://ikialbum.hosted.pseudorandom.co.uk/album/img_0120/) + with a full size image, optional next/previous thumbnail links, and + optional [[plugins/comments]] -* `caption` sets a caption which is displayed in the album and viewer - pages +## Bugs -The viewer page can also have other contents before or after the actual -image viewer. +* There's currently a hard-coded list of extensions that are treated as + images: `png`, `gif`, `jpg`, `jpeg` or `mov` files. More image and video + types could be added in future. -## Bugs +* Videos aren't currently handled very well; ideally, something like + totem-video-thumbnailer would be used. * The plugin doesn't do anything special to handle albums that are subpages of each other. If, say, `debconf` and `debconf/monday` are both albums, then `debconf/monday/p100.jpg` will currently be assigned to one or the other, arbitrarily. It should probably pick the closest (longest) album name. + (I'm not sure that it can do this reliably, though, since the scan stage + runs in an undefined order.) * The plugin doesn't do anything special to handle photos with similar names. If you have `p100.jpg` and `p100.png`, one will get a viewer page called - `p100` and the other will be ignored. + `p100` and the other will be ignored. (I'm not sure what we could do better, + though.) * If there's no `albumimage` in a viewer page, one should probably be appended automatically. -* When editing a viewer page, rebuilding it seems to fail at the moment. - Probably related to: - -* Integration with [[plugins/contrib/trail]] is new, untested and not - very well implemented. In particular, the prev/up/next links are - redundant with the ones from `trail`. - ## TODO -* The documentation should mention how to replicate the appearance of - `album` and `albumsection` using an `inline` of viewer pages, - elsewhere on the site. - -* The documentation should mention all the template variables and - all the parameters. - -* The generated viewer page should include most or all of the possible - parameters to the `albumimage` directive, with empty values, as a - template for editing. - * The generated viewer page should extract as much metadata as possible from the photo's EXIF tags (creation/modification dates, author, title, caption, copyright). [[smcv]] has a half-written implementation which runs diff --git a/doc/plugins/contrib/ikiwiki/directive/album.mdwn b/doc/plugins/contrib/ikiwiki/directive/album.mdwn new file mode 100644 index 000000000..433eec8bd --- /dev/null +++ b/doc/plugins/contrib/ikiwiki/directive/album.mdwn @@ -0,0 +1,56 @@ +The `album` directive is supplied by the [[!iki plugins/contrib/album desc=album]] plugin. + +Each page containing an `album` directive is treated as a photo album +or image gallery. Example usage is as simple as: + + \[[!album]] + +Every image attached to an album or its [[subpages|ikiwiki/subpage]] is +considered to be part of the album. A "viewer" page, with the wiki's default +page extension, will be generated in the +[[transient underlay|plugins/transient]] to display the +image, if there isn't already a page of the same name as the image: for +instance, if `debconf` is an album and `debconf/tuesday/p100.jpg` exists, +then `debconf/tuesday/p100.mdwn` might be created. + +The album is treated as a [[!iki plugins/contrib/trail desc=trail]], which +gives each viewer page a link back to the album, and a link to the previous +and next viewer in the album. + +The `album` directive also produces an [[ikiwiki/directive/inline]] which +automatically includes all the viewers for this album, except those that +will appear in an [[albumsection]]. If every image in the album is in a +section, then the `album` directive is still required, but won't produce +any output in the page. + +The `inline` can include some extra information about the images, including +file size and a thumbnail made using [[ikiwiki/directive/img]]). The +default template is `albumitem.tmpl`, which takes advantage of these things. + +## Options + +The directive can have some options for the entire album. The defaults are: + + \[[!album + sort="-age" + size="full" + thumbnailsize="96x96" + viewertemplate="albumviewer" + prevtemplate="albumprev" + nexttemplate="albumnext" + +* `sort` - sets the order in which images appear, defaulting to earliest + creation date first +* `size` - if not `full`, the [[ikiwiki/directive/img]] in the viewer page + will be resized to be no larger than this +* `thumbnailsize` - the [[ikiwiki/directive/img]] in the album page, + which can also be used in the previous/next links, will be no larger than + this +* `viewertemplate` - the template used for the [[albumimage]] in each + viewer page +* `prevtemplate` - the template used to replace `<TMPL_VAR PREV>` if used in + the viewer page +* `nexttemplate` - the template used to replace `<TMPL_VAR NEXT>` if used in + the viewer page + +[[!meta robots="noindex, follow"]] diff --git a/doc/plugins/contrib/ikiwiki/directive/albumimage.mdwn b/doc/plugins/contrib/ikiwiki/directive/albumimage.mdwn new file mode 100644 index 000000000..2385bb535 --- /dev/null +++ b/doc/plugins/contrib/ikiwiki/directive/albumimage.mdwn @@ -0,0 +1,26 @@ +The `albumimage` directive is supplied by the [[!iki plugins/contrib/album desc=album]] plugin. + +Each viewer page produced by the [[album]] directive +contains an `albumimage` directive, which is replaced by an +[[ikiwiki/directive/img]], wrapped in some formatting using a +template (by default it's `albumviewer.tmpl`). That template can also include +links to the next and previous photos, in addition to those provided by the +[[!iki plugins/contrib/trail desc=trail]] plugin. + +The next/previous links are themselves implemented by evaluating a template, +either `albumnext.tmpl` or `albumprev.tmpl` by default. + +The directive can also have parameters: + +* `title`, `date`, `updated`, `author`, `authorurl`, `copyright`, `license` + and `description` are short-cuts for the corresponding + [[ikiwiki/directive/meta]] directives + +* `caption` sets a caption which is displayed near this image in the album + and viewer pages + +The viewer page can also contain any text and markup before or after the +`albumimage` directive, which will appear before or after the image in the +viewer page. + +[[!meta robots="noindex, follow"]] diff --git a/doc/plugins/contrib/ikiwiki/directive/albumsection.mdwn b/doc/plugins/contrib/ikiwiki/directive/albumsection.mdwn new file mode 100644 index 000000000..7e5749e05 --- /dev/null +++ b/doc/plugins/contrib/ikiwiki/directive/albumsection.mdwn @@ -0,0 +1,29 @@ +The `albumsection` directive is supplied by the [[!iki plugins/contrib/album desc=album]] plugin. + +The `albumsection` directive is used to split an album into sections. It can +only appear on a page that also has the [[album]] directive. + +The `filter` parameter is a [[ikiwiki/PageSpec]] against which viewer pages +are matched. The `albumsection` directive displays all the images that match +the filter, and the `album` directive displays any leftover images, like +this: + + # Holiday photos + + \[[!album]] + <!-- replaced with a list of any uncategorized photos; it will be + empty if they're all tagged as 'people' and/or 'landscapes' --> + + ## People + + \[[!albumsection filter="tagged(people)"]] + <!-- replaced with a list of photos tagged 'people', including + any that are also tagged 'landscapes' --> + + ## Landscapes + + \[[!albumsection filter="tagged(landscapes)"]] + <!-- replaced with a list of photos tagged 'landscapes', including + any that are also tagged 'people' --> + +[[!meta robots="noindex, follow"]] diff --git a/doc/plugins/contrib/ikiwiki/directive/jssearchfield.mdwn b/doc/plugins/contrib/ikiwiki/directive/jssearchfield.mdwn new file mode 100644 index 000000000..5d338901d --- /dev/null +++ b/doc/plugins/contrib/ikiwiki/directive/jssearchfield.mdwn @@ -0,0 +1,42 @@ +The `jssearchfield` directive is supplied by the [[!iki plugins/contrib/jssearchfield desc=jssearchfield]] plugin. + +This enables one to search the structured data ("field" values) of +multiple pages. A search form is constructed, and the searching is +done with Javascript, which means that the entire thing is self-contained. +This depends on the [[!iki plugins/contrib/field]] plugin. + +The pages to search are selected by a PageSpec given by the "pages" +parameter. +The fields to search are given by the "fields" parameter. By default, +the field name is given, and the user can type the search parameter for +that field into a text input field. + +## OPTIONS + +**pages**: A PageSpec to determine the pages to search through. + +**fields**: The fields to put into the search form, and to display +in the results. + +**tagfields**: Display the given fields as a list of tags that can +be selected from, rather than having a text input field. Every distinct +value of that field will be listed, so it is best used for things with +short values, like "Author" rather than long ones like "Description". +Note that "tagfields" must be a subset of "fields". + +**sort**: A SortSpec to determine how the matching pages should be sorted; this is the "default" sort order that the results will be displayed in. +The search form also gives the option of "random" sort, which will +display the search results in random order. + +## SEARCHING + +The search form that is created by this directive contains the following: + +* for each search field, a label, plus either a text input field, or a list of checkboxes with values next to them if the field is also a tagfield. Note that the lists of checkboxes are initially hidden; one must click on the triangle next to the label to display them. +* a "sort" toggle. One can select either "default" or "random". +* A "Search!" button, to trigger the search if needed (see below) +* A "Reset" button, which will clear all the values. + +The searching is dynamic. As soon as a value is changed, either by tabbing out of the text field, or by selecting or de-selecting a checkbox, the search +results are updated. Furthermore, for tagfields, the tagfield lists +themselves are updated to reflect the current search results. diff --git a/doc/plugins/contrib/ikiwiki/directive/trailinline.mdwn b/doc/plugins/contrib/ikiwiki/directive/trailinline.mdwn new file mode 100644 index 000000000..91d8a4edf --- /dev/null +++ b/doc/plugins/contrib/ikiwiki/directive/trailinline.mdwn @@ -0,0 +1,11 @@ +The `trailinline` directive is provided by the +[[!iki plugins/contrib/trail desc=trail]] +plugin. It is equivalent to combining [[ikiwiki/directive/trailitems]] and +[[ikiwiki/directive/inline]] directives with the same options. + +A typical use is to navigate through all posts in a blog: + + \[[!trailinline pages="page(./posts/*) and !*/Discussion" archive=yes + feedshow=10 quick=yes]] + +[[!meta robots="noindex, follow"]] diff --git a/doc/plugins/contrib/ikiwiki/directive/trailitem.mdwn b/doc/plugins/contrib/ikiwiki/directive/trailitem.mdwn new file mode 100644 index 000000000..73b1985a5 --- /dev/null +++ b/doc/plugins/contrib/ikiwiki/directive/trailitem.mdwn @@ -0,0 +1,9 @@ +The `trailitem` directive is supplied by the +[[!iki plugins/contrib/trail desc=trail]] plugin. It is used like this: + + \[[!trailitem some_other_page]] + +to add `some_other_page` to the trail represented by this page, without +generating a visible hyperlink. + +[[!meta robots="noindex, follow"]] diff --git a/doc/plugins/contrib/ikiwiki/directive/trailitems.mdwn b/doc/plugins/contrib/ikiwiki/directive/trailitems.mdwn new file mode 100644 index 000000000..4106ed33b --- /dev/null +++ b/doc/plugins/contrib/ikiwiki/directive/trailitems.mdwn @@ -0,0 +1,24 @@ +The `trailitems` directive is supplied by the +[[!iki plugins/contrib/trail desc=trail]] plugin. It adds pages +to the trail represented by the current page, without producing any output +on that page. + + \[[!trailitems pages="posts/*" sort="age"]] + + \[[!trailitems pagenames="a b c"]] + +Options are similar to [[!iki ikiwiki/directive/inline desc=inline]]: + +* `pages`: adds pages that match a [[ikiwiki/PageSpec]] to the trail + (cannot be used with `pagenames`) + +* `pagenames`: adds a space-separated list of pages to the trail, + with the same [[ikiwiki/SubPage/LinkingRules]] as for a [[ikiwiki/WikiLink]] + (cannot be used with `pages`) + +* `sort`: add the pages matched by `pages` to the trail in this + [[ikiwiki/pagespec/sorting]] order (cannot be used with `pagenames`) + +* `reverse`: reverse the order of `sort` (cannot be used with `pagenames`) + +[[!meta robots="noindex, follow"]] diff --git a/doc/plugins/contrib/ikiwiki/directive/traillink.mdwn b/doc/plugins/contrib/ikiwiki/directive/traillink.mdwn new file mode 100644 index 000000000..0e40e2411 --- /dev/null +++ b/doc/plugins/contrib/ikiwiki/directive/traillink.mdwn @@ -0,0 +1,16 @@ +The `traillink` directive is supplied by the +[[!iki plugins/contrib/trail desc=trail]] +plugin. It generates a visible [[ikiwiki/WikiLink]], and also adds the +linked page to the trail represented by the page containing the directive. + +In its simplest form, the first parameter is like the content of a WikiLink: + + \[[!traillink some_other_page]] + +The displayed text can also be overridden, either with a `|` symbol or with +a `text` parameter: + + \[[!traillink Click_here_to_start_the_trail|some_other_page]] + \[[!traillink some_other_page text="Click here to start the trail"]] + +[[!meta robots="noindex, follow"]] diff --git a/doc/plugins/contrib/ikiwiki/directive/trailoptions.mdwn b/doc/plugins/contrib/ikiwiki/directive/trailoptions.mdwn new file mode 100644 index 000000000..e1603f11b --- /dev/null +++ b/doc/plugins/contrib/ikiwiki/directive/trailoptions.mdwn @@ -0,0 +1,18 @@ +The `trailoptions` directive is supplied by the +[[!iki plugins/contrib/trail desc=trail]] plugin. It sets options for the +trail represented by this page. + + \[[!trailoptions sort="meta(title)" circular="no"]] + +Options available: + +* `sort`: sets a [[ikiwiki/pagespec/sorting]] order for the entire trail, + overriding the order in which they were added + +* `reverse`: reverses the order of the trail + +* `circular`: if set to `yes` or `1`, the trail is made into a loop by + making the last page's "next" link point to the first page, and the first + page's "previous" link point to the last page + +[[!meta robots="noindex, follow"]] diff --git a/doc/plugins/contrib/jssearchfield.mdwn b/doc/plugins/contrib/jssearchfield.mdwn new file mode 100644 index 000000000..2d41ee24f --- /dev/null +++ b/doc/plugins/contrib/jssearchfield.mdwn @@ -0,0 +1,35 @@ +[[!template id=plugin name=jssearchfield author="[[rubykat]]"]] +[[!tag type/search]] +IkiWiki::Plugin::jssearchfield - Create a search form to search page field data. + +This plugin provides the [[ikiwiki/directive/jssearchfield]] directive. This +enables one to search the structured data ("field" values) of multiple pages. +This uses Javascript for the searching, which means that the entire thing +is self-contained and does not require a server or CGI access, unlike +the default IkiWiki search. This means that it can be used in places such +as ebook readers. The disadvantage is that because Javascript runs +in the browser, the searching is only as fast as the machine your browser +is running on. + +Because this uses Javascript, the htmlscrubber must be turned off for any page where the directive is used. + +This plugin depends on the [[!iki plugins/contrib/field]] plugin. + +## Activate the plugin + + # activate the plugin + add_plugins => [qw{goodstuff field jssearchfield ....}], + + # disable scrubbing for search page + htmlscrubber_skip => 'mysearchpage', + +## PREREQUISITES + + IkiWiki + IkiWiki::Plugin::field + HTML::Template + +## DOWNLOAD + +* browse at GitHub: <http://github.com/rubykat/ikiplugins/blob/master/IkiWiki/Plugin/jssearchfield.pm> +* git repo at git://github.com/rubykat/ikiplugins.git diff --git a/doc/plugins/contrib/mandoc.mdwn b/doc/plugins/contrib/mandoc.mdwn index 15d2826ed..672a268cc 100644 --- a/doc/plugins/contrib/mandoc.mdwn +++ b/doc/plugins/contrib/mandoc.mdwn @@ -1,5 +1,5 @@ [[!template id=plugin name=mandoc author="[[schmonz]]"]] -[[!template id=gitbranch branch=schmonz/master author="[[schmonz]]"]] +[[!template id=gitbranch branch=schmonz/mandoc author="[[schmonz]]"]] [[!tag type/format]] This plugin lets ikiwiki convert Unix man pages to HTML. It uses diff --git a/doc/plugins/contrib/mscgen.mdwn b/doc/plugins/contrib/mscgen.mdwn index 63d6512c3..792aaa4e3 100644 --- a/doc/plugins/contrib/mscgen.mdwn +++ b/doc/plugins/contrib/mscgen.mdwn @@ -1,4 +1,4 @@ -[[!template id=plugin name=mscgen author="[[users/Terry_Golubiewski]]"]] +[[!template id=plugin name=mscgen author="[[users/Tjgolubi]]"]] [[!tag type/widget]] ## NAME diff --git a/doc/plugins/contrib/newpage.mdwn b/doc/plugins/contrib/newpage.mdwn new file mode 100644 index 000000000..54c2f53d0 --- /dev/null +++ b/doc/plugins/contrib/newpage.mdwn @@ -0,0 +1,29 @@ +[[!template id=plugin name=newpage author="[[rubykat]]"]] +[[!tag type/web]] +[[!toc]] +## NAME + +IkiWiki::Plugin::newpage - add a "create new page" form to actions + +## SYNOPSIS + + # activate the plugin + add_plugins => [qw{goodstuff newpage ....}], + +## DESCRIPTION + +This plugin adds a new action to the "ACTIONS" section of a page; +a button labelled "create" and an input field next to it. + +The common way of creating a new page is to edit a different page +and add a link to the new page. However, there are some situations +where that is a nuisance; for example, where pages are listed using +a [[plugins/map]] directive. The newpage plugin enables +one to simply type the name of the new page, click the "create" button, +and one is then taken to the standard IkiWiki create-page form. + +## DOWNLOAD + +* browse at GitHub: <http://github.com/rubykat/ikiplugins/blob/master/IkiWiki/Plugin/newpage.pm> +* git repo at git://github.com/rubykat/ikiplugins.git + diff --git a/doc/plugins/contrib/newpage/discussion.mdwn b/doc/plugins/contrib/newpage/discussion.mdwn new file mode 100644 index 000000000..fb186463d --- /dev/null +++ b/doc/plugins/contrib/newpage/discussion.mdwn @@ -0,0 +1,10 @@ +How is this better than creating an inline with `rootpage` set, +which creates a similar new page form? I sometimes make the inline match +nothing, while still creating pages, in the odd cases where I have a map +or such displaying the pages. --[[Joey]] + +> I wanted something that would automatically be available on every page, but only when editing was enabled. +> One of the sites I maintain as webmaster (<http://www.constrainttec.com/>) has a two-stage publication process. The "working" site is on an internal server, where it is set up as a wiki that authorized users in the company can edit. When they're satisfied with the changes they've made, the "working" site gets pushed (with git) to the "production" site, which is on a different server. The ikiwiki setup for the production site has editing completely disabled, because it is the site which is exposed to the outside world. +> For that site, I want all sign that it's a wiki to be hidden. Therefore using an inline directive would be unsuitable. + +> --[[KathrynAndersen]] diff --git a/doc/plugins/contrib/pagespec_alias.mdwn b/doc/plugins/contrib/pagespec_alias.mdwn new file mode 100644 index 000000000..cb642ad33 --- /dev/null +++ b/doc/plugins/contrib/pagespec_alias.mdwn @@ -0,0 +1,28 @@ +[[!template id=plugin name=pagespec_alias author="[[Jon]]"]] +[[!tag type/meta]] + +The pagespec_alias plugin allows the administrator(s) of a wiki to define +[[PageSpec]] aliases: short names for PageSpecs to ease re-use. + +Within the setup file, the `pagespec_aliases` value is treated as a list +of key/value pairs. The keys define alias names, the values the pagespecs +to which they refer. + +For example: + + pagespec_aliases: + image: "*.png or *.jpg or *.jpeg or *.gif or *.ico" + helper: "*.css or *.js" + boring: "image() or helper() or internal(*)" + +With the above, you could use the pagespec aliases such as + + \[[!map pages="!boring()"]] + +To define a site map which excluded various page names which might be +uninteresting to include in a site map. + + +## Download + + * <https://github.com/jmtd/ikiwiki/blob/pagespec-alias/IkiWiki/Plugin/pagespec_alias.pm> diff --git a/doc/plugins/contrib/pandoc.mdwn b/doc/plugins/contrib/pandoc.mdwn index c8e2e9a94..264aafd95 100644 --- a/doc/plugins/contrib/pandoc.mdwn +++ b/doc/plugins/contrib/pandoc.mdwn @@ -2,5 +2,5 @@ This plugin enables Markdown processing using [Pandoc](http://johnmacfarlane.net/pandoc/). You can configure it for Pandoc to take over processing of all .mkdn files, or only files with a different extension. Given the features Pandoc has added over the past 6-12 months, this makes for a very powerful combination, e.g. with code block syntax highlighting and lots of options for how to process and display inline TeX. -This is an expanded and updated version of [[Jason Blevin|users/jasonblevins]]'s pandoc plugin. Get it and see further details at <https://github.com/profjim/pandoc-iki>. +This is an expanded and updated version of [[Jason Blevin|users/jasonblevins]]'s pandoc plugin. Get it and see further details at <https://github.com/dubiousjim/pandoc-iki>. diff --git a/doc/plugins/contrib/trail.mdwn b/doc/plugins/contrib/trail.mdwn index def91d85a..bfd4d3d0b 100644 --- a/doc/plugins/contrib/trail.mdwn +++ b/doc/plugins/contrib/trail.mdwn @@ -1,95 +1,133 @@ -[[!tag type/chrome patch]] -[[!template id=gitbranch branch=smcv/trail author="[[smcv]]"]] +[[!tag patch]] +[[!template id=gitbranch branch=smcv/trail3 author="[[smcv]]"]] -Available from [[smcv]]'s git repository, in the `trail` branch. This -plugin aims to solve [[todo/wikitrails]] in a simpler way. +Available from [[smcv]]'s git repository, in the `trail3` branch. This +plugin aims to solve [[todo/wikitrails]] in a simpler way; it can also be +used for [[navigation through blog posts|todo/Pagination_next_prev_links]]. -Updated, June 2011: +If you don't want to use a branch of ikiwiki, manual installation requires +these files (use the "raw" link in gitweb to download): -* removed `inline` integration for now +* [trail.pm](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/trail3:/IkiWiki/Plugin/trail.pm) + in an `IkiWiki/Plugin` subdirectory of your configured `plugindir` +* [page.tmpl](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/trail3:/templates/page.tmpl) + and + [trails.tmpl](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/trail3:/templates/trails.tmpl) + in your configured `templatedir`, or a `templates` subdirectory of your wiki repository +* the trail-related bits from the end of the + [stylesheet](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/trail3:/doc/style.css) + (put them in your local.css) +* the trail-related bits at the end of the + [actiontabs](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/trail3:/themes/actiontabs/style.css) + or [blueview/goldtype](http://git.pseudorandom.co.uk/smcv/ikiwiki.git/blob/trail3:/themes/blueview/style.css) + stylesheets, if you use one of those themes (again, put them in your local.css) -* added `<link>` tags +The branch also includes [[todo/test_coverage]] machinery. -* switched from a custom data structure to using typed links +Demo: ----- +* [in use on entries in my blog](http://smcv.pseudorandom.co.uk/) +* [a demo trail based on links](http://demo.hosted.pseudorandom.co.uk/trail/) +* [a demo hybrid trail/inline](http://demo.hosted.pseudorandom.co.uk/trail2/) -[[!template id=plugin name=trail author="[[Simon_McVittie|smcv]]"]] +The page `e` is in both demo trails, to demonstrate how a page in more than +one trail looks. -It's sometimes useful to have "trails" of pages in a wiki, as a guided -tour, sequence of chapters etc. In this plugin, a trail is represented -by a page, and the pages in the trail are indicated by specially marked -links within that page. +The `smcv/trail2` branch is an older version of `trail3` which used typed links +as its data structure, resulting in timing-related limitations (it couldn't +select pages for the trail by using pagespecs, because pagespecs can't be +evaluated correctly until the scan stage has finished). -If using the default `page.tmpl`, each page automatically displays the -trails that it's a member of (if any), with links to the trail and to -the next and previous members. HTML `<link>` tags with the `prev`, -`next` and `up` relations are also generated. +Updated, November 2011: -The `traillink` [[ikiwiki/directive]] is used to record which pages -are in a trail, and simultaneously link to them. Alternatively, the -[[ikiwiki/directive/trailitem]] directive can be used to make an -invisible `traillink`. +* reinstated `inline` integration ([[report]] integration would probably be + pretty easy too, if this gets merged) +* switched from typed links back to a custom data structure to avoid + chicken/egg problems with ordering +* create typed links too, as a side-effect, but not when using an inline +* regression test with nearly full coverage +* CSS for the default anti-theme and all built-in themes (it looks nicest + in the default anti-theme and in actiontabs - the demo uses actiontabs) -## Directives +Known bugs: -(These will go to the appropriate pages in [[ikiwiki/directive]] if this -plugin is included in ikiwiki.) +* the blueview and goldtype CSS nearly work, but the alignment is a bit off -### trailitem +---- -The `trailitem` directive is supplied by the [[!iki plugins/contrib/trail desc=trail]] -plugin. It is used like this: +[[!template id=plugin name=trail author="[[Simon_McVittie|smcv]]"]] +[[!tag type/chrome]] - \[[!trailitem some_other_page]] +This plugin provides the [[ikiwiki/directive/trailoptions]], +[[ikiwiki/directive/traillink]], [[ikiwiki/directive/trailitem]], +[[ikiwiki/directive/trailitems]] +and [[ikiwiki/directive/trailinline]] [[directives|ikiwiki/directive]]. -to add `some_other_page` to the trail represented by this page, without -generating a visible hyperlink. +It's sometimes useful to have "trails" of pages in a wiki where each +page links to the next and/or previous page. For instance, you could use +this for a guided tour, sequence of chapters, or sequence of blog posts. -### traillink +In this plugin, a trail is represented by a page, and the pages in the +trail are indicated by specially marked links within that page, or by +including groups of pages with a [[ikiwiki/directive]]. -The `traillink` directive is supplied by the [[!iki plugins/contrib/trail desc=trail]] -plugin. It generates a visible [[ikiwiki/WikiLink]], and also adds the linked page to -the trail represented by the page containing the directive. +If using the default `page.tmpl`, each page automatically displays the +trails that it's a member of (if any), with links to the trail and to +the next and previous members. HTML `<link>` tags with the `prev`, +`next` and `up` relations are also generated. -In its simplest form, the first parameter is like the content of a WikiLink: +The [[ikiwiki/directive/trailoptions]] directive sets options for the +entire trail. - \[[!traillink some_other_page]] +Pages can be included in a trail in various ways: -The displayed text can also be overridden, either with a `|` symbol or with -a `text` parameter: +* The [[ikiwiki/directive/trailinline]] directive sets up an [[inline]], + and at the same time adds the matching pages (from `pages` or `pagenames`) + to the trail. One use is to navigate through all posts in a blog: - \[[!traillink Click_here_to_start_the_trail|some_other_page]] - \[[!traillink some_other_page text="Click here to start the trail"]] + \[[!trailinline pages="page(./posts/*) and !*/Discussion" archive=yes + feedshow=10 quick=yes]] -### trailoptions + This directive only works if the [[!iki plugins/inline desc=inline]] + plugin is also enabled. -The `trailoptions` directive is supplied by the [[!iki plugins/contrib/trail desc=trail]] -plugin. It sets options for the trail represented by this page. Example usage: +* The [[ikiwiki/directive/trailitems]] directive has optional `pages` and + `pagenames` options which behave the same as in [[inline]], but don't + produce any output in the page, so you can have trails that don't list + all their pages. - \[[!trailoptions sort="meta(title)" circular="no"]] +* The [[ikiwiki/directive/traillink]] directive makes a visible link + and also adds the linked page to the trail. This will typically be + used in a bullet list, but could also be in paragraph text: -The available options are: + * [[!traillink Introduction]] + * [[!traillink "Chapter 1"]] + * [[!traillink Chapter_2]] + * [[!traillink Appendix_A]] -* `sort`: sets a [[ikiwiki/pagespec/sorting]] order; if not specified, the - items of the trail are ordered according to the first link to each item - found on the trail page + or -* `circular`: if set to `yes` or `1`, the trail is made into a loop by - making the last page's "next" link point to the first page, and the first - page's "previous" link point to the last page + To use this software you must \[[!traillink install]] it, + \[[!traillink configuration text="configure it"]], + and finally \[[!traillink running|run_it]]. ----- + This also counts as a [[ikiwiki/WikiLink]] for things like the `link()` + [[ikiwiki/PageSpec]] item. -## Future directions +* The [[ikiwiki/directive/trailitem]] directive adds a page to the trail + like `traillink`, but produces an invisible link, rather like `\[[!tag]]`: -The current version of this plugin doesn't implement inline-based or -otherwise [[ikiwiki/PageSpec]]-based trails. This is difficult because -there's a circular dependency: + To use this software you must \[[!traillink install]] it, + \[[!trailitem installing_from_packages]] + \[[!trailitem installing_from_source]] + \[[!traillink configuration text="configure it"]], + and finally \[[!traillink running|run_it]]. + \[[!trailitem troubleshooting]] -* adding typed links should happen *before* scanning has finished, to - guarantee that they're available before the first page is rendered + Like `\[[!tag]]`, this still counts as a [[ikiwiki/WikiLink]] even though + there's no visible link. -* evaluating pagespecs should only happen *after* scanning has finished, - to guarantee that everything you might want to base a pagespec on - (`meta`, etc.) has been gathered by scanning +You can mix several of these directives in one page. The resulting +trail will contain all of the pages matched by any of the directives, +in the same order that the directives appear (unless you use the `sort` or +`reverse` options on `\[[!trailoptions]]`). diff --git a/doc/plugins/htmlscrubber.mdwn b/doc/plugins/htmlscrubber.mdwn index 98933d99e..08c81212b 100644 --- a/doc/plugins/htmlscrubber.mdwn +++ b/doc/plugins/htmlscrubber.mdwn @@ -10,9 +10,9 @@ Parser, documented at <http://web.archive.org/web/20110726052341/http://feedparser.org/docs/html-sanitization.html>. Notably it strips `style` and `link` tags, and the `style` attribute. -All attributes that can be used to specify an url are checked to make sure -that the url is in a known, safe scheme, and to block embedded javascript -in such urls. +Any attributes that could be used to specify a URL are checked to ensure +that they are known, safe schemes. It will also block embedded javascript +in such URLs. It uses the [[!cpan HTML::Scrubber]] perl module to perform its html sanitisation, and this perl module also deals with various entity encoding diff --git a/doc/plugins/mdwn.mdwn b/doc/plugins/mdwn.mdwn index ce1b6097a..8a7308305 100644 --- a/doc/plugins/mdwn.mdwn +++ b/doc/plugins/mdwn.mdwn @@ -8,9 +8,12 @@ This is the standard markup language used by ikiwiki, although some others are also available in other plugins. There are several implementations of markdown support that can be used by -this plugin. The [original version of -markdown](http://daringfireball.net/projects/markdown/) can be used, or the -[[!cpan Text::Markdown]] perl module. +this plugin. In order of preference: + +* [Discount](http://www.pell.portland.or.us/~orc/Code/discount/), + via the [[!cpan Text::Markdown::Discount]] perl module. +* The [[!cpan Text::Markdown]] perl module. +* The [original version of markdown](http://daringfireball.net/projects/markdown/). [[!cpan Text::MultiMarkdown]] can be used in order to use tables, footnotes, and other new features from the markdown variant called diff --git a/doc/plugins/theme.mdwn b/doc/plugins/theme.mdwn index ebbb0be8e..d2c62062b 100644 --- a/doc/plugins/theme.mdwn +++ b/doc/plugins/theme.mdwn @@ -9,3 +9,10 @@ of the themes included in ikiwiki. You can set the theme via the **theme** option in your config file (after enabling the plugin). Refresh the wiki after changing it to see the changes. + +Hints for theme builders +------------------------ + + * Start from an existing [[CSS file|css]], see also the [[css market]] for examples + * You can override the [[templates]] files by dropping them in a `templates` subdirectory + * Try to stick with modifying the CSS however, maintaining custom templates is harder diff --git a/doc/plugins/wmd/discussion.mdwn b/doc/plugins/wmd/discussion.mdwn index 42af97ec3..b57ef4057 100644 --- a/doc/plugins/wmd/discussion.mdwn +++ b/doc/plugins/wmd/discussion.mdwn @@ -59,3 +59,15 @@ copy [...] > It does not, however, have a markdown to html converter -- for > previewing it has to talk to the server with AJAX. > --[[Joey]] + +>> I've got pagedown working on my personal site (simon.kisikew.org) but I'm not sure how +>> I can inject the relevant <div>'s in the right place. They need to go **above** +>> the editing <textarea> . (Too bad about the licensing, it's rather nice.) +>> I had to do one minor change to it to have it inject itself into the page properly, +>> and that was to make this change in `Markdown.Editor.js`: +>> +>> `this.input = doc.getElementById("editcontent" + postfix);` +>> +>> on line 247. --[[simonraven]] + +>>> Well, I re-figured out that I needed a TMPL_VAR FOO in the template(s). --[[simonraven]] diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 9a5ca60a0..dcab041dc 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -1110,9 +1110,7 @@ to version control; the subdir can be added if so. Remove a file. The filename is relative to the root of the srcdir. Note that this should not commit the removal, it should only prepare for it -to be committed when `rcs_commit` (or `rcs_commit_staged`) is called. Note -that the new file may be in a new subdir that is not yet in version -control; the subdir can be added if so. +to be committed when `rcs_commit` (or `rcs_commit_staged`) is called. #### `rcs_rename($$)` diff --git a/doc/rcs/cvs.mdwn b/doc/rcs/cvs.mdwn index 9beb08ece..2b191f257 100644 --- a/doc/rcs/cvs.mdwn +++ b/doc/rcs/cvs.mdwn @@ -1,13 +1,17 @@ -If you really need to, you can use [[!wikipedia desc="CVS" Concurrent Versions System]] -with ikiwiki. +[[!template id=gitbranch branch=schmonz/cvs author="[[schmonz]]"]] + +If you really need to, you can use [[!wikipedia desc="CVS" Concurrent +Versions System]] with ikiwiki. ### Usage 7. Install [[!cpan File::chdir]], [[!cpan File::ReadBackwards]], -[cvsps](http://www.cobite.com/cvsps/), and -[cvsweb](http://www.freebsd.org/projects/cvsweb.html) or the like. + [cvsps](http://www.cobite.com/cvsps/), and + [cvsweb](http://www.freebsd.org/projects/cvsweb.html) or the like. 7. Adjust CVS-related parameters in your setup file. -Consider creating `$HOME/.cvsrc` if you don't have one already; the plugin doesn't need it, but you yourself might. Here's a good general-purpose one: +Consider creating `$HOME/.cvsrc` if you don't have one already; the +plugin doesn't need it, but you yourself might. Here's a good +general-purpose one: cvs -q checkout -P @@ -17,12 +21,26 @@ Consider creating `$HOME/.cvsrc` if you don't have one already; the plugin doesn ### Implementation details * [[ikiwiki-makerepo]]: - * creates a repository, - * imports `$SRCDIR` into top-level module `ikiwiki` (vendor tag IKIWIKI, release tag PRE_CVS), - * configures the post-commit hook in `CVSROOT/loginfo`. + * creates a repository, + * imports `$SRCDIR` into top-level module `ikiwiki` (vendor tag + IKIWIKI, release tag PRE_CVS), + * configures the post-commit hook in `CVSROOT/loginfo`. ### To do -* Have `ikiwiki-makerepo` set up NetBSD-like `log_accum` and `commit_prep` scripts that coalesce commits into changesets. Reasons: - 7. Obviates the need to scrape the repo's complete history to determine the last N changesets. (Repositories without such records can fall back on the `cvsps` and `File::ReadBackwards` code.) - 7. Arranges for ikiwiki to be run once per changeset, rather than CVS's once per committed file (!), which is a waste at best and bug-inducing at worst. (Currently, on multi-directory commits, only the first directory's changes get mentioned in [[recentchanges|plugins/recentchanges]].) -* Perhaps prevent web edits from attempting to create `.../CVS/foo.mdwn` (and `.../cvs/foo.mdwn` on case-insensitive filesystems); thanks to the CVS metadata directory, the attempt will fail anyway (and much more confusingly) if we don't. +* Expand test coverage and fix bugs. +* Have `ikiwiki-makerepo` set up NetBSD-like `log_accum` and + `commit_prep` scripts that coalesce commits into changesets. Reasons: + 7. Obviates the need to scrape the repo's complete history to + determine the last N changesets. (Repositories without such + records can fall back on the `cvsps` and `File::ReadBackwards` + code.) + 7. Arranges for ikiwiki to be run once per changeset, rather + than CVS's once per committed file (!), which is a waste at + best and bug-inducing at worst. (Currently, on multi-directory + commits, only the first directory's changes get mentioned + in [[recentchanges|plugins/recentchanges]].) +* Perhaps prevent web edits from attempting to create `.../CVS/foo.mdwn` + (and `.../cvs/foo.mdwn` on case-insensitive filesystems); thanks + to the CVS metadata directory, the attempt will fail anyway (and + much more confusingly) if we don't. +* Do a writeup for [[rcs/details]]. diff --git a/doc/rcs/cvs/discussion.mdwn b/doc/rcs/cvs/discussion.mdwn index 645b2388b..e10892e7d 100644 --- a/doc/rcs/cvs/discussion.mdwn +++ b/doc/rcs/cvs/discussion.mdwn @@ -147,3 +147,26 @@ short and clear as possible. --[[schmonz]] > that. --[[Joey]] >> Done. --[[schmonz]]. + +---- + +I'm attempting to bring some polish to this plugin, starting with +fuller test coverage. In preparation, I've refactored the tests a +bunch (and shuffled the code a bit) in my branch. I'm worried, +however, that my misunderstanding of `git rebase` may have made my +branch harder for you to pull. + +Before I go writing a whole swack of test cases, could you merge +my latest? Through at least ad0e56cdcaaf76bc68d1b5c56e6845307b51c44a +there should be no functional change. --[[schmonz]] + +Never mind, I was able to convince myself (by cloning `origin` +afresh and merging from `schmonz/cvs`). The history is a little +gross but the before-and-after diff looks right. + +Bugs found and fixed so far: + +* Stop treating text files as binary (`-kb`) on `rcs_add()` + (ac8eab29e8394aca4c0b23a6687ec947ea1ac869) + +> Merged to current head. --[[Joey]] diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn index 3aaf6d885..2f173677b 100644 --- a/doc/sandbox.mdwn +++ b/doc/sandbox.mdwn @@ -11,6 +11,7 @@ This is my custom sidebar for this page. [[!sidebar ]] ## number 2 +### number 3 This is the [[SandBox]], a page anyone can edit to try out ikiwiki (version [[!version ]]). @@ -41,6 +42,15 @@ Testing this sandbox thing. >>> ...and different font colors. >>>> ...but it's nothing a little CSS can't fix. +# Pointless heading + +Let's see a table: + +[[!table data=""" +Heading 1|Heading 2|Heading 3 +Item 1| Item 2| Item 3"""]] + + Numbered list 1. First item. @@ -158,4 +168,6 @@ module vc_Mux2 #( parameter W = 1 ) endmodule """]] +#<asd> +This is simple enough for now [[sandbocen]] no? diff --git a/doc/sandbox/Test_it.mdwn b/doc/sandbox/Test_it.mdwn new file mode 100644 index 000000000..5478d7a67 --- /dev/null +++ b/doc/sandbox/Test_it.mdwn @@ -0,0 +1 @@ +Test it just now! diff --git a/doc/sandbox/sandbocen.mdwn b/doc/sandbox/sandbocen.mdwn new file mode 100644 index 000000000..8f7e049c5 --- /dev/null +++ b/doc/sandbox/sandbocen.mdwn @@ -0,0 +1,5 @@ +Great! + +<code> +if (sample == test) goto Dijkstra +</code> diff --git a/doc/setup/discussion.mdwn b/doc/setup/discussion.mdwn index 388d5a49c..7ab935181 100644 --- a/doc/setup/discussion.mdwn +++ b/doc/setup/discussion.mdwn @@ -265,5 +265,7 @@ Did anyone tried to install ikiwiki under a vhost setup ? ikiwiki is installed under a debian lenny system. but without write acces to /etc/ikiwiki (obvious) i am coming not far. Or do i miss something which is probably hidden deeper in the documentation ? +Well it should be similar to shared hosting [or a remote server in general](http://ikiwiki.info/forum/how_to_setup_ikiwiki_on_a_remote_host/) + ---- Perhaps it's worth noting that when installing ikiwiki with apt on Debian stable, you need to use the backports version in order to follow the setup instructions. diff --git a/doc/shortcuts.mdwn b/doc/shortcuts.mdwn index d81ec98fc..07210f9bf 100644 --- a/doc/shortcuts.mdwn +++ b/doc/shortcuts.mdwn @@ -13,27 +13,27 @@ This page controls what shortcut links the wiki supports. * [[!shortcut name=google url="https://encrypted.google.com/search?q=%s"]] * [[!shortcut name=archive url="http://web.archive.org/*/%S"]] -* [[!shortcut name=gmap url="http://maps.google.com/maps?q=%s"]] -* [[!shortcut name=gmsg url="http://groups.google.com/groups?selm=%s"]] -* [[!shortcut name=wikipedia url="https://en.wikimedia.org/wiki/%s"]] +* [[!shortcut name=gmap url="https://maps.google.com/maps?q=%s"]] +* [[!shortcut name=gmsg url="https://groups.google.com/groups?selm=%s"]] +* [[!shortcut name=wikipedia url="https://en.wikipedia.org/wiki/%s"]] * [[!shortcut name=wikitravel url="https://wikitravel.org/en/%s"]] * [[!shortcut name=wiktionary url="https://en.wiktionary.org/wiki/%s"]] * [[!shortcut name=debbug url="http://bugs.debian.org/%S" desc="Debian bug #%s"]] -* [[!shortcut name=deblist url="http://lists.debian.org/debian-%s" desc="debian-%s@lists.debian.org"]] +* [[!shortcut name=deblist url="https://lists.debian.org/debian-%s" desc="debian-%s@lists.debian.org"]] * [[!shortcut name=debpkg url="http://packages.debian.org/%s"]] * [[!shortcut name=debpkgsid url="http://packages.debian.org/sid/%s"]] * [[!shortcut name=debpts url="http://packages.qa.debian.org/%s"]] -* [[!shortcut name=debmsg url="http://lists.debian.org/msgid-search/%s"]] +* [[!shortcut name=debmsg url="https://lists.debian.org/msgid-search/%s"]] * [[!shortcut name=debrt url="https://rt.debian.org/Ticket/Display.html?id=%s"]] * [[!shortcut name=debss url="http://snapshot.debian.org/package/%s/"]] * Usage: `\[[!debss package]]` or `\[[!debss package/version]]`. See <http://snapshot.debian.org/> for details. -* [[!shortcut name=debwiki url="http://wiki.debian.org/%s"]] +* [[!shortcut name=debwiki url="https://wiki.debian.org/%s"]] * [[!shortcut name=fdobug url="https://bugs.freedesktop.org/show_bug.cgi?id=%s" desc="freedesktop.org bug #%s"]] * [[!shortcut name=fdolist url="http://lists.freedesktop.org/mailman/listinfo/%s" desc="%s@lists.freedesktop.org"]] -* [[!shortcut name=gnomebug url="http://bugzilla.gnome.org/show_bug.cgi?id=%s" desc="GNOME bug #%s"]] -* [[!shortcut name=linuxbug url="http://bugzilla.kernel.org/show_bug.cgi?id=%s" desc="Linux bug #%s"]] +* [[!shortcut name=gnomebug url="https://bugzilla.gnome.org/show_bug.cgi?id=%s" desc="GNOME bug #%s"]] +* [[!shortcut name=linuxbug url="https://bugzilla.kernel.org/show_bug.cgi?id=%s" desc="Linux bug #%s"]] * [[!shortcut name=mozbug url="https://bugzilla.mozilla.org/show_bug.cgi?id=%s" desc="Mozilla bug #%s"]] -* [[!shortcut name=gnulist url="http://lists.gnu.org/mailman/listinfo/%s" desc="%s@gnu.org"]] +* [[!shortcut name=gnulist url="https://lists.gnu.org/mailman/listinfo/%s" desc="%s@gnu.org"]] * [[!shortcut name=marcmsg url="http://marc.info/?i=%s"]] * [[!shortcut name=marclist url="http://marc.info/?l=%s"]] * [[!shortcut name=gmane url="http://dir.gmane.org/gmane.%s" desc="gmane.%s"]] @@ -43,7 +43,7 @@ This page controls what shortcut links the wiki supports. * [[!shortcut name=hoogle url="http://haskell.org/hoogle/?q=%s"]] * [[!shortcut name=iki url="http://ikiwiki.info/%S/"]] * [[!shortcut name=ljuser url="http://%s.livejournal.com/"]] -* [[!shortcut name=rfc url="http://www.ietf.org/rfc/rfc%s.txt" desc="RFC %s"]] +* [[!shortcut name=rfc url="https://www.ietf.org/rfc/rfc%s.txt" desc="RFC %s"]] * [[!shortcut name=c2 url="http://c2.com/cgi/wiki?%s"]] * [[!shortcut name=meatballwiki url="http://www.usemod.com/cgi-bin/mb.pl?%s"]] * [[!shortcut name=emacswiki url="http://www.emacswiki.org/cgi-bin/wiki/%s"]] @@ -53,12 +53,12 @@ This page controls what shortcut links the wiki supports. * [[!shortcut name=gpg url="http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s"]] * [[!shortcut name=perldoc url="http://perldoc.perl.org/search.html?q=%s"]] * [[!shortcut name=whois url="http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain"]] -* [[!shortcut name=cve url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"]] +* [[!shortcut name=cve url="https://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"]] * [[!shortcut name=cia url="http://cia.vc/stats/project/%s"]] * [[!shortcut name=ciauser url="http://cia.vc/stats/user/%s"]] -* [[!shortcut name=flickr url="http://www.flickr.com/photos/%s"]] +* [[!shortcut name=flickr url="https://secure.flickr.com/photos/%s"]] * [[!shortcut name=man url="http://linux.die.net/man/%s"]] -* [[!shortcut name=ohloh url="http://www.ohloh.net/projects/%s"]] +* [[!shortcut name=ohloh url="https://www.ohloh.net/p/%s"]] * [[!shortcut name=cpanrt url="https://rt.cpan.org/Ticket/Display.html?id=%s" desc="CPAN RT#%s"]] * [[!shortcut name=novellbug url="https://bugzilla.novell.com/show_bug.cgi?id=%s" desc="bug %s"]] * [[!shortcut name=ubupkg url="http://packages.ubuntu.com/%s"]] diff --git a/doc/shortcuts/discussion.mdwn b/doc/shortcuts/discussion.mdwn index aac98457e..11903a127 100644 --- a/doc/shortcuts/discussion.mdwn +++ b/doc/shortcuts/discussion.mdwn @@ -10,4 +10,12 @@ Do you have a suggestion on how to make that shortcut also be used to point to a Thanks. --[[PaulePanter]] -> Does anyone have an opinion on the shortcuts for google/wikipedia pointing at the HTTPS services? Introduced by [this edit by Paul Panter](http://git.ikiwiki.info/?p=ikiwiki;a=blobdiff;f=doc/shortcuts.mdwn;h=cafe3f573ef5cfd4811bee9688afa1675302aca9;hp=54dd0fdb1eadfac386b31b2dd2f014349a54184a;hb=704038db298c0f3a8039dcfe8d3a801c26fadf15;hpb=2a1077f8869ca65b49e09d99a76b595d90b28499). Personally, I think they should be separate shortcut keys. Most of my google/WP usage is such that I would prefer it over HTTP (faster, less resource usage at client side). However, I never use the shortcuts feature in ikiwiki anyway... -- [[Jon]] +> Does anyone have an opinion on the shortcuts for google/wikipedia pointing at the HTTPS services? Introduced by an edit by Paul Panter. +> Personally, I think they should be separate shortcut keys. Most of my +> google/WP usage is such that I would prefer it over HTTP (faster, less +> resource usage at client side). However, I never use the shortcuts feature +> in ikiwiki anyway... -- [[Jon]] + +>> I have been trying to decide what to do about that Jon. https links are +>> painful for me (dialup). This really needs to be fixed at a lower level +>> in the web than ikiwiki though, and I understand the push for https. --[[Joey]] diff --git a/doc/sitemap.mdwn b/doc/sitemap.mdwn index 5265d6378..095ef95df 100644 --- a/doc/sitemap.mdwn +++ b/doc/sitemap.mdwn @@ -1,6 +1,5 @@ This map excludes discussion pages, as well as subpages that are in feeds. -[[!map pages="* and !*/discussion and !recentchanges +[[!map pages="page(*) and !*/discussion and !recentchanges and !bugs/* and !examples/*/* and !news/* and !tips/* and !plugins/* -and !sandbox/* and !forum/* and !todo/* and !users/* -and !*.css and !*.ico and !*.png and !*.svgz and !*.gif"]] +and !sandbox/* and !forum/* and !todo/* and !users/*"]] diff --git a/doc/themes/discussion.mdwn b/doc/themes/discussion.mdwn index 87333b535..f2fc8cadf 100644 --- a/doc/themes/discussion.mdwn +++ b/doc/themes/discussion.mdwn @@ -4,3 +4,4 @@ I would like to contribute a theme I created and posted on github: For an example of the theme in action, see: [[https://antportal.com/wiki/]] +> Shouldn't we just make people post their themes in the [[themes]] page? Or maybe we should make a [[theme market]]? --[[anarcat]] diff --git a/doc/tips/Adding_Disqus_to_your_wiki/discussion.mdwn b/doc/tips/Adding_Disqus_to_your_wiki/discussion.mdwn new file mode 100644 index 000000000..4f2e13700 --- /dev/null +++ b/doc/tips/Adding_Disqus_to_your_wiki/discussion.mdwn @@ -0,0 +1 @@ +This appears to add the Disqus code to every page, including Archive pages and the blog index. Is there a way to only add it to the blog posts? diff --git a/doc/tips/convert_mediawiki_to_ikiwiki.mdwn b/doc/tips/convert_mediawiki_to_ikiwiki.mdwn index 8d1d52b49..e60b413dd 100644 --- a/doc/tips/convert_mediawiki_to_ikiwiki.mdwn +++ b/doc/tips/convert_mediawiki_to_ikiwiki.mdwn @@ -1,6 +1,6 @@ [[!toc levels=2]] -Mediawiki is a dynamically-generated wiki which stores it's data in a +Mediawiki is a dynamically-generated wiki which stores its data in a relational database. Pages are marked up using a proprietary markup. It is possible to import the contents of a Mediawiki site into an ikiwiki, converting some of the Mediawiki conventions into Ikiwiki ones. @@ -188,7 +188,7 @@ There is a repository of tools for converting MediaWiki to Git based Markdown wi [[scy]] wrote a python script to convert from mediawiki XML dumps to git repositories at <https://github.com/scy/levitation>. -[[Anarcat]] wrote a python script to convert from a mediawiki website to ikiwiki at <http://anarcat.ath.cx/software/mediawikigitdump.git/>. The script doesn't need any special access or privileges and communicates with the documented API (so it's a bit slower, but allows you to mirror sites you are not managing, like parts of Wikipedia). The script can also incrementally import new changes from a running site, through RecentChanges inspection. It also supports mithro's new Mediawiki2markdown converter. +[[Anarcat]] wrote a python script to convert from a mediawiki website to ikiwiki at git://src.anarcat.ath.cx/mediawikigitdump.git/. The script doesn't need any special access or privileges and communicates with the documented API (so it's a bit slower, but allows you to mirror sites you are not managing, like parts of Wikipedia). The script can also incrementally import new changes from a running site, through RecentChanges inspection. It also supports mithro's new Mediawiki2markdown converter (which I have a copy here: git://src.anarcat.ath.cx/media2iki.git/). > Some assembly is required to get Mediawiki2markdown and its mwlib > gitmodule available in the right place for it to use.. perhaps you could @@ -204,7 +204,7 @@ There is a repository of tools for converting MediaWiki to Git based Markdown wi > fails on some html in the page named "4_metres". On archiveteam.org, > it fails trying to write to a page filename starting with "/", --[[Joey]] -> > can you show me exactly which commandline arguments you're using? also, I have made improvements over the converter too, also available here: <http://anarcat.ath.cx/software/media2iki.git/> -- [[anarcat]] +> > can you show me exactly which commandline arguments you're using? also, I have made improvements over the converter too, also available here: git://src/anarcat.ath.cx/media2iki.git/ -- [[anarcat]] >>> Not using your new converter, just the installation I did earlier >>> today: diff --git a/doc/tips/convert_mediawiki_to_ikiwiki/discussion.mdwn b/doc/tips/convert_mediawiki_to_ikiwiki/discussion.mdwn index 4a7163eae..f1b0598ee 100644 --- a/doc/tips/convert_mediawiki_to_ikiwiki/discussion.mdwn +++ b/doc/tips/convert_mediawiki_to_ikiwiki/discussion.mdwn @@ -6,7 +6,7 @@ ---- -I wrote a script that will download all the latest revisions of a mediawiki site. In short, it does a good part of the stuff required for the migration: it downloads the goods (ie. the latest version of every page, automatically) and commits the resulting structure. There's still a good few pieces missing for an actual complete conversion to ikiwiki, but it's a pretty good start. It only talks with mediawiki through HTTP, so no special access is necessary. The downside of that is that it will not attempt to download every revision for performance reasons. The code is here: http://anarcat.ath.cx/software/mediawikigitdump.git/ See header of the file for more details and todos. -- [[users/Anarcat]] 2010-10-15 +I wrote a script that will download all the latest revisions of a mediawiki site. In short, it does a good part of the stuff required for the migration: it downloads the goods (ie. the latest version of every page, automatically) and commits the resulting structure. There's still a good few pieces missing for an actual complete conversion to ikiwiki, but it's a pretty good start. It only talks with mediawiki through HTTP, so no special access is necessary. The downside of that is that it will not attempt to download every revision for performance reasons. The code is here: git://anarcat.ath.cx/software/mediawikigitdump.git/ and git://anarcat.ath.cx/software/media2iki.git/ See header of the file for more details and todos. -- [[users/Anarcat]] 2010-10-15 ---- diff --git a/doc/tips/laptop_wiki_with_git/discussion.mdwn b/doc/tips/laptop_wiki_with_git/discussion.mdwn index 6ce72ae7b..297a2a6a7 100644 --- a/doc/tips/laptop_wiki_with_git/discussion.mdwn +++ b/doc/tips/laptop_wiki_with_git/discussion.mdwn @@ -10,3 +10,6 @@ Or, was this last remark about rebuilding after pulling meant to apply to rebuil > Of course you don't need a web server on the laptop. It is useful for > previewing pages before publishing them though. --[[Joey]] + +I have followed this idea too, however after pushing to the server running gitk in the scrdir shows that the remotes/origin/master branch is newer than the master. Is this normal? Have I reset the master branch to remotes/origin/master then every time when someone pushed something (and run ikiwiki -setup afterwards?) +[[Micheal]] diff --git a/doc/todo/Improve_markdown_speed.mdwn b/doc/todo/Improve_markdown_speed.mdwn new file mode 100644 index 000000000..de3230c9e --- /dev/null +++ b/doc/todo/Improve_markdown_speed.mdwn @@ -0,0 +1,33 @@ +I'm not sure where the bottleneck is for running ikiwiki over a site like +my blog +[Natalian](http://source.natalian-org.branchable.com/?p=source.git;), +though I like to think the markdown processing could be speeded up by the +support of the C implementation of Markdown called +[Sundown](https://github.com/tanoku/sundown). + +>> Sundown doesn't appear to have Perl bindings, so the cost of calling a +>> separate process could wipe out some or all of the speed gain. It might +>> be worth looking into Text::Upskirt instead, which uses the Upskirt +>> library which Sundown appears to be derived from. -- [[KathrynAndersen]] + +>>> It would be fairly easy to write a perl binding for sundown. For that +>>> matter, Text::Upskirt could be adapted to it. I am waiting for any of +>>> upskirt, sundown and perl bindings to get into Debian, then I will +>>> see about making ikiwiki use them. +>>> +>>> For now, I have added discount support to ikiwiki. This does speed up +>>> markdown rendering by up to 40x, although when building a site ikiwiki +>>> in practice does other work, so the gains are less impressive. Building +>>> the ikiwiki doc wiki went from 62 to 45 seconds. The lack of a Debian +>>> package of Text::Markdown::Discount means this is not used by default +>>> yet. +>>> +>>> (Upskirt, discount... Who comes up with these names? Discount also +>>> features a "NOPANTS" option.) --[[Joey]] + +>>>> Thanks for doing this; it's given a well-needed speedup to my huge site. +>>>> +>>>> (At least "Discount" is related to "Mark Down" but I don't fathom "Upskirt" either.) +>>>> --[[KathrynAndersen]] + +[[wishlist]] diff --git a/doc/todo/Modern_standard_layout.mdwn b/doc/todo/Modern_standard_layout.mdwn new file mode 100644 index 000000000..37f1ee740 --- /dev/null +++ b/doc/todo/Modern_standard_layout.mdwn @@ -0,0 +1,39 @@ +I think it would be a good idea to think about the standard layout style of ikiwiki, the current layout used in a standard setup and on ikiwiki.info as well looks a bit old-fashioned to me. I guess that a nice modern layout would attract more new ikiwiki users and boost the ikwiki community... + +> FWIW, I agree. The actiontabs [[theme|themes]] would be a better default, but something which showed what ikiwiki was capable of (or more precicely: that ikiwiki is as capable as other popular wiki softwares) would be better still. — [[Jon]] + +>> As an author of plugins that interact with the UI, I think it's good that +>> a *minimal* ikiwiki has a minimal anti-theme, and that plugins are +>> developed against the anti-theme - it's a "blank slate" for themes. +>> [[plugins/contrib/trail]] was much easier to get working in +>> the default anti-theme than in actiontabs and blueview. +>> +>> Technical detail: all the standard themes are done by appending to the +>> anti-theme's CSS (albeit in ikiwiki's build system rather than during +>> the wiki build), rather than by replacing it - so themes that haven't +>> been updated for a new UI element end up using the version of it from +>> the anti-theme. [[plugins/Comments]] and [[plugins/contrib/trail]] +>> both need some tweaks per-theme to make them integrate nicely, +>> but most of the design comes from the anti-theme. +>> +>> That doesn't necessarily mean the anti-theme should be the one used +>> on ikiwiki.info, or used by default in new wikis - from my +>> point of view, it'd be fine for either of those to be actiontabs +>> or something The important thing is to *have* a "blank slate" anti-theme +>> that looks simple but sufficient, as a basis for new styles (either +>> [[themes]], or wikis that want their own unique stylesheet), and derive +>> the other themes from it. --[[smcv]] + +> Ikiwiki's minimal theme is not modern. It's postmodern. I like it for the +> reasons described here. <http://kitenet.net/~joey/blog/entry/web_minimalism/> +> " The minimalism sucked you in, it made the web feel like one coherent, +> unified thing, unlike the constellation of corporate edifices occupying +> much of it today." +> +> I see an increasing trend back toward these principles, driven partly +> by limits of eg, smartphone UI. So I certianly won't be changing the +> look of any of my ikiwiki sites, including this one. +> +> `auto.setup` and `auto-blog.setup` could have different defaults, +> or allow a theme to be picked as [Branchable](http://branchable.com/) +> does. Perhaps actiontabs for auto-blog and default for wikis? --[[Joey]] diff --git a/doc/todo/Pagination_next_prev_links.mdwn b/doc/todo/Pagination_next_prev_links.mdwn index f1c12d33f..8474c9c27 100644 --- a/doc/todo/Pagination_next_prev_links.mdwn +++ b/doc/todo/Pagination_next_prev_links.mdwn @@ -4,12 +4,20 @@ They don't want to back out of post to an index. They want an easy button to cli <http://codex.wordpress.org/Next_and_Previous_Links> -Thank you +[Jekyll](http://jekyllrb.com/)'s implementation looks rather neat: + +* <https://github.com/mojombo/jekyll/wiki/template-data> +* <https://github.com/mojombo/jekyll/blob/master/lib/jekyll/generators/pagination.rb> + + > This is a perfect use for [[todo/wikitrails]], of which my > [[plugins/contrib/trail]] plugin is an implementation. Code review on that > plugin would be welcome; it might even get merged one day. > +>> The trail plugin is very likely to be merged soon, and is already +>> available. So, closing this bug report [[done]] --[[Joey]] +> > Unfortunately, IkiWiki blogs use a [[ikiwiki/PageSpec]] to define the set of > "posts" in the blog (through which the next/prev trail should range), and > the current implementation of [[plugins/contrib/trail]] in terms of typed @@ -27,7 +35,34 @@ Thank you > reduces the generic usefulness of typed links, though - in particular > you can no longer use "is part of trail A" in a PageSpec. --[[smcv]] +>> Version 3 of [[plugins/contrib/trail]] now does this. For `traillink` +>> and `trailitem` it additionally adds a typed link, which it does not +>> itself consume; for `trailinline` and `trail` it doesn't. --[[smcv]] + >>> Indeed, I know the problem; I ran into the same kind of thing with my [[plugins/contrib/report]] plugin and its `trail` concept. >>> I simply had to declare that one couldn't use "trail" and "maketrail" options within the same report. That way, "maketrail" will add links in the "scan" pass, and "trail" will test for links in the "build" pass. That usually works. --[[KathrynAndersen]] +>>>> I'm not sure that even that is *quite* right: if your `trail` takes +>>>> pagespecs as arguments, then it's potentially evaluating those pagespecs +>>>> before all pages have been scanned, which could mean it lists pages +>>>> which matched the spec before a recent change, or doesn't list pages +>>>> which didn't previously match the spec but do now. +>>>> +>>>> In version 3 of [[plugins/contrib/trail]] I ended up storing +>>>> uninterpreted pagespecs and links at scan time, and evaluating them the +>>>> first time a page is built. I *think* that's sufficiently lazy to give +>>>> the right answer... --[[smcv]] + >> Do you have an example? --[[hendry]] + +>>> Now linked on the plugin's page - it doesn't pretend to be a blog, but +>>> [the second demo](http://demo.hosted.pseudorandom.co.uk/trail2/) +>>> is a `trailinline`, so you could do that with blog posts just as well. +>>> Making [[plugins/contrib/album]] require `trail` v3, and trying it out +>>> on my blog, are next on the list. +>>> --[[smcv]] + +>>>> Sorry thank link <http://demo.hosted.pseudorandom.co.uk/trail2/> doesn't work. I get a forbidden. --[[hendry]] + + +[[wishlist]] diff --git a/doc/todo/Render_multiple_destinations_from_one_source.mdwn b/doc/todo/Render_multiple_destinations_from_one_source.mdwn new file mode 100644 index 000000000..5fd787607 --- /dev/null +++ b/doc/todo/Render_multiple_destinations_from_one_source.mdwn @@ -0,0 +1,50 @@ +I've set up a couple of sites where the users use ikiwiki in fairly standard mode as a CMS and I then set up another ikiwiki setup file that's got the edit options turned off, but is pointing at the same git repository in the background. I then make the post-update hook for each be <tt>post-update-hook.ikiwiki</tt> and <tt>post-update-hook.ikiwiki-public</tt> and have the <tt>post-update</tt> hook itself be a script like: + + #!/bin/sh + + $0.ikiwiki "$@" + $0.ikiwiki-public "$@" + +obviously this results in duplication of most of the <tt>ikiwiki.setup</tt>, a spare working directory that (perhaps) isn't needed, and an extra post-update hook plus wrapper script that is really needless extra complication. + +If instead there was a way of specifying additional destdir's, or perhaps more generally a way of specifying that there should be multiple passes through the build process using alternative values for some of the variables, then one could have both the private wiki view, and the public static view generated with minimal additional configuration. + +One idea that occurs to me is an <tt>additional_configs</tt> list where one would specify files containing just the settings you want to override compared with the main setup file. + +Alternatively, one might invent a new way of specifying alternative settings. i.e.: + + additionalsites: + - public + + destdir: /home/wiki/wiki-view + destdir[public]: /home/wiki/public_html + + disable_plugins: [] + disable_plugins[public]: + - recentchanges + - editpage + + url: https://example.com/editors/ + url[public]: http://www.example.com/ + + ... + +where the existance of the <tt>additionalsites</tt> list provokes additional runs through using the settings with matching extra bits to be used to override the defaults found in the rest of the file. + +Just brainstorming a bit after [[liw]]'s comment about this being useful on IRC, and thought I'd write the idea up while I was thinking about it. -[[fil]] + +> I don't think you can avoid ikiwiki needing to store a different +> `.ikiwiki` directory with state for each site. Differences in +> configuration can affect the state it stores in arbitrary ways, +> ranging from which pages are even built to what plugins are enabled and +> store state. This also means that it doesn't make sense to try and +> share state amoung rebuilds of the same site. +> +> There is a hidden, and undocumented configuration setting `wikistatedir` +> that can actually be pointed at a different directory than `.ikiwiki`. +> Then you can rebuild multiple configurations from one working directory. +> +> Another handy trick is to use the old perl-format (not yaml) setup file, +> and parameterize it using `$ENV{FOO}`, then you can build two different +> setups from the same setup file. +> --[[Joey]] diff --git a/doc/todo/Set_arbitrary_date_to_be_used_by_calendar_plugin.mdwn b/doc/todo/Set_arbitrary_date_to_be_used_by_calendar_plugin.mdwn index 4bc828e6e..e0074eef8 100644 --- a/doc/todo/Set_arbitrary_date_to_be_used_by_calendar_plugin.mdwn +++ b/doc/todo/Set_arbitrary_date_to_be_used_by_calendar_plugin.mdwn @@ -2,6 +2,8 @@ Here's my next version of the patch - still a work in progress. + Note:I partially updated part of this patch to work on Ikiwiki v3 - see [here](http://ikiwiki.info/forum/Calendar:_listing_multiple_entries_per_day/) -- Matt Ford + It provides the following new features. The features are designed to preserve the behavior of the existing plugin by default. * If you specify an event preprocessor in a post, such as: diff --git a/doc/todo/Split_plugins_with_external_dependencies_into_separate_Debian_packages.mdwn b/doc/todo/Split_plugins_with_external_dependencies_into_separate_Debian_packages.mdwn new file mode 100644 index 000000000..fdf0dea50 --- /dev/null +++ b/doc/todo/Split_plugins_with_external_dependencies_into_separate_Debian_packages.mdwn @@ -0,0 +1,40 @@ +The Debian ikiwiki package has a pile of recommends and suggests for packages needed by various plugins and other optional functionality. To make it easier for people to figure out what to install, and to make it easier for automatic dependency tracking to remove packages ikiwiki no longer needs, we could split the plugins with additional dependencies into their own packages. + +Notable plugin dependencies: + +- [[plugins/img]] depends on [[!debpkg perlmagick]] +- [[plugins/graphviz]] depends on [[!debpkg graphviz]] + - [[plugins/linkmap]] depends on the graphviz plugin, so it should probably go in the same package. +- [[plugins/polygen]] depends on [[!debpkg polygen]] +- [[plugins/teximg]] depends on [[!debpkg dvipng]] and [[!debpkg texlive]] +- [[plugins/htmltidy]] depends on [[!debpkg tidy]] +- [[plugins/table]] depends on [[!debpkg libtext-csv-perl]] +- [[plugins/textile]] depends on [[!debpkg libtext-textile-perl]] +- [[plugins/txt]] should probably just depend on [[!debpkg liburi-find-perl]] +- [[plugins/sparkline]] depends on [[!debpkg libsparkline-php]], which pulls in the whole PHP stack. + - [[plugins/postsparkline]] depends on the sparkline plugin, so it should probably go in the same package. +- [[plugins/search]] depends on [[!debpkg xapian-omega]] and [[!debpkg libsearch-xapian-perl]] +- [[plugins/po]] depends on [[!debpkg po4a]] (and possibly [[!debpkg gettext]] and [[!debpkg liblocale-gettext-perl]], or does something else use those?) +- [[plugins/amazon_s3]] depends on [[!debpkg libnet-amazon-s3-perl]] and [[!debpkg libfile-mimeinfo-perl]] +- [[plugins/highlight]] depends on [[!debpkg libhighlight-perl]] +- [[plugins/htmlbalance]] depends on [[!debpkg libhtml-tree-perl]] +- [[plugins/typography]] depends on [[!debpkg libtext-typography-perl]] +- [[plugins/creole]] depends on [[!debpkg libtext-wikicreole-perl]] +- [[plugins/wikitext]] depends on [[!debpkg libtext-wikiformat-perl]] +- [[plugins/rst]] depends on [[!debpkg librpc-xml-perl]] and [[!debpkg python-docutils]], and pulls in Python +- [[plugins/blogspam]] depends on [[!debpkg librpc-xml-perl]] +- [[plugins/prettydate]] depends on [[!debpkg libtimedate-perl]] +- [[plugins/hnb]] depends on [[!debpkg hnb]] +- [[plugins/fortune]] depends on [[!debpkg fortune]] +- [[plugins/filecheck]] depends on [[!debpkg libfile-mimeinfo-perl]] and file +- [[plugins/ddate]] depends on [[!debpkg libdatetime-calendar-discordian-perl]] and [[!debpkg libdatetime-perl]] +- [[plugins/otl]] depends on [[!debpkg vim-vimoutliner]] +- [[plugins/haiku]] depends on [[!debpkg libcoy-perl]] +- [[plugins/sortnaturally]] depends on [[!debpkg libsort-naturally-perl]] +- [[plugins/pinger]] depends on [[!debpkg liblwpx-paranoidagent-perl]] (it works with plain LWP, but less securely) and should probably just depend on [[!debpkg libcrypt-ssleay-perl]] +- [[plugins/openid]] depends on [[!debpkg libnet-openid-consumer-perl]], and should either recommend or just depend on [[!debpkg liblwpx-paranoidagent-perl]] and [[!debpkg libcrypt-ssleay-perl]] +- Support for tla depends on [[!debpkg libmailtools-perl]] (could make this a package depending on [[!debpkg tla]] and [[!debpkg libmailtools-perl]]) + +Also, ikiwiki should probably just depend on [[!debpkg libauthen-passphrase-perl]] and refuse to store insecure passwords. + +[[!tag wishlist]] diff --git a/doc/todo/Support_MultiMarkdown_3.X.mdwn b/doc/todo/Support_MultiMarkdown_3.X.mdwn index f7f0ec8e5..ad724442b 100644 --- a/doc/todo/Support_MultiMarkdown_3.X.mdwn +++ b/doc/todo/Support_MultiMarkdown_3.X.mdwn @@ -7,4 +7,4 @@ but I'd rather not change the system file or uninstall the perl modules. Perhaps a custom Plugin/mdwn.pm or a clever way to set $markdown_sub would suffice, but I don't know perl. If I wanted to replace Plugin/mdwn.pm with something simple that didn't bother to check for Text::*Markdown, calling /home/me/bin/mymdwn instead, -what would that look like? +what would that look like? -- [[tjgolubi]] diff --git a/doc/todo/Wikilink_to_a_symbolic_link.mdwn b/doc/todo/Wikilink_to_a_symbolic_link.mdwn new file mode 100644 index 000000000..1f9a12d9c --- /dev/null +++ b/doc/todo/Wikilink_to_a_symbolic_link.mdwn @@ -0,0 +1,5 @@ +Some time ago I asked in the [[ikiwiki forum|http://ikiwiki.info/forum/Wikilink_to_a_symbolic_link/]] how to create wikilinks to symbolic links. The answer was that this is not possible because of security reasons. + +However I use ikiwiki only locally for my personal use. So it wouldn't be a security issue for me. The point is, that I want to link to pdf-files that are somewhere on my harddrive because I want to have automatically the newest versions of the files linked to in my ikiwiki. So my idea would be to create a symbolic links to those files in my scrdir. + +Would be great if something like that would be possible soon. diff --git a/doc/todo/allow_site-wide_meta_definitions.mdwn b/doc/todo/allow_site-wide_meta_definitions.mdwn index 38c30c23f..f548f1a5b 100644 --- a/doc/todo/allow_site-wide_meta_definitions.mdwn +++ b/doc/todo/allow_site-wide_meta_definitions.mdwn @@ -161,3 +161,9 @@ definitions essentially. >>>>>>> No pity required — but whoops, yes, that was a bit of a mistake >>>>>>> ☺ I guess I'll have to split the current `preprocess` in half. >>>>>>> — [[Jon]] + +>>>>>>>> I've been taking another look at this today, as I'm very keen to +>>>>>>>> close various open loops of mine in IkiWiki to move on and do some +>>>>>>>> other stuff. However, I'm not actually *using* this at the moment, +>>>>>>>> so whilst I think it's a good idea, I can't really motivate myself +>>>>>>>> to fix it anymore. I guess for now, this should just rot. — [[Jon]] diff --git a/doc/todo/comment_moderation_feed.mdwn b/doc/todo/comment_moderation_feed.mdwn index 267706b1b..996de152d 100644 --- a/doc/todo/comment_moderation_feed.mdwn +++ b/doc/todo/comment_moderation_feed.mdwn @@ -7,3 +7,10 @@ the author. It would be especially handy if it was generated statically. One way would be to generate internal pages corresponding to each comment that needs moderation; then the feed could be constructed via a usual inline. + +---- + +See [[tips/comments feed]] --liw + +> Indeed, and the demo blog comes with a comments page with such feeds +> already set up. [[done]] --[[Joey]] diff --git a/doc/todo/configurable_tidy_command_for_htmltidy.mdwn b/doc/todo/configurable_tidy_command_for_htmltidy.mdwn index e317184b5..2a7ebce0a 100644 --- a/doc/todo/configurable_tidy_command_for_htmltidy.mdwn +++ b/doc/todo/configurable_tidy_command_for_htmltidy.mdwn @@ -3,6 +3,6 @@ I was trying to get htmltidy to [play nicely with MathML][play]. Unfortunately, I couldn't construct a command line that I was happy with, but along the way I altered htmltidy to allow a configurable command line. This seemed like a generally useful thing, so I've published my [patch][] as a Git branch. [play]: http://lists.w3.org/Archives/Public/html-tidy/2006JanMar/0052.html -[patch]: http://www.physics.drexel.edu/~wking/code/git/git.php?p=ikiwiki.git&a=commitdiff&h=408ee89fd7c1dc70510385a7cf263a05862dda97&hb=e65ce4f0937eaf622846c02a9d39fa7aebe4af12 +[patch]: http://git.tremily.us/?p=ikiwiki.git&a=commitdiff&h=408ee89fd7c1dc70510385a7cf263a05862dda97&hb=e65ce4f0937eaf622846c02a9d39fa7aebe4af12 > Thanks, [[done]] --[[Joey]] diff --git a/doc/todo/hyphenation.mdwn b/doc/todo/hyphenation.mdwn new file mode 100644 index 000000000..e7f6bc401 --- /dev/null +++ b/doc/todo/hyphenation.mdwn @@ -0,0 +1,32 @@ +[[!tag wishlist]] + +I recently found [Hyphenator](http://code.google.com/p/hyphenator/) which is quite cool ... but it should be possible to implement this functionality within ikiwiki and not rely on javascript and the client. + +A Perl implementation of the algorithm exists in [[!cpan TeX::Hyphen]]. + +> I'd be inclined to say that Javascript run in the client is a better +> place to do hyphenation: this is the sort of non-essential, +> progressive-enhancement thing that JS is perfect for. If you did it +> at the server side, to cope with browser windows of different sizes +> you'd have to serve HTML sprinkled with soft-hyphen entities at +> every possible hyphenation point, like +> +> pro­gress­ive en­hance­ment +> +> which is nearly twice the byte-count and might stop +> search engines from indexing your site correctly. +> +> A browser that supports Javascript probably also supports +> soft-hyphen marks, but I doubt all non-JS browsers support them +> correctly. +> +> It might be good to have a plugin to insert a reference to the +> hyphenation JS into the `<head>`, or a general way to enable +> this sort of thing without writing a plugin or changing your +> `page.tmpl`, though. Perhaps we should have a `local.js` +> alongside `local.css`? :-) +> +> --[[smcv]] + +>> Thanks, I did not realize that the javascript does something else than add &shy;s - took a closer look at it now. +>> I doubt however that adding them will increase the byte count more than transmitting the javascript. diff --git a/doc/todo/inline_raw_files.mdwn b/doc/todo/inline_raw_files.mdwn index 8228186f9..52a4be726 100644 --- a/doc/todo/inline_raw_files.mdwn +++ b/doc/todo/inline_raw_files.mdwn @@ -9,7 +9,7 @@ Also raise an error in `IkiWiki::pagetype($file)` if `$file` is blank, which avo I'm using the new code in my [blog][]. -[blog]: http://www.physics.drexel.edu/~wking/unfolding-disasters/posts/yacc2dot/ +[blog]: http://blog.tremily.us/posts/yacc2dot/ usage ===== diff --git a/doc/todo/mdwn_itex.mdwn b/doc/todo/mdwn_itex.mdwn index 3e304fa76..ae9a8f37a 100644 --- a/doc/todo/mdwn_itex.mdwn +++ b/doc/todo/mdwn_itex.mdwn @@ -19,4 +19,4 @@ MathML. [itex]: http://golem.ph.utexas.edu/~distler/blog/itex2MMLcommands.html [itex2MML]: http://golem.ph.utexas.edu/~distler/blog/itex2MML.html -[example]: http://www.physics.drexel.edu/~wking/unfolding-disasters/posts/mdwn_itex/ +[example]: http://blog.tremily.us/posts/mdwn_itex/ diff --git a/doc/todo/mdwn_preview/discussion.mdwn b/doc/todo/mdwn_preview/discussion.mdwn new file mode 100644 index 000000000..4fb30adf9 --- /dev/null +++ b/doc/todo/mdwn_preview/discussion.mdwn @@ -0,0 +1 @@ ++1, not sure where this feature is going. I'm keen to seen this! diff --git a/doc/todo/multi-thread_ikiwiki.mdwn b/doc/todo/multi-thread_ikiwiki.mdwn index 1494fed7a..358185a22 100644 --- a/doc/todo/multi-thread_ikiwiki.mdwn +++ b/doc/todo/multi-thread_ikiwiki.mdwn @@ -6,3 +6,84 @@ Lots of \[[!img ]] (~2200), lots of \[[!teximg ]] (~2700). A complete rebuild ta We could use a big machine, with plenty of CPUs. Could some multi-threading support be added to ikiwiki, by forking out all the external heavy plugins (imagemagick, tex, ...) and/or by processing pages in parallel? Disclaimer: I know nothing of the Perl approach to parallel processing. + +> I agree that it would be lovely to be able to use multiple processors to speed up rebuilds on big sites (I have a big site myself), but, taking a quick look at what Perl threads entails, and taking into acount what I've seen of the code of IkiWiki, it would take a massive rewrite to make IkiWiki thread-safe - the API would have to be completely rewritten - and then more work again to introduce threading itself. So my unofficial humble opinion is that it's unlikely to be done. +> Which is a pity, and I hope I'm mistaken about it. +> --[[KathrynAndersen]] + +> > I have much less experience with the internals of Ikiwiki, much +> > less Multi-threading perl, but I agree that to make Ikiwiki thread +> > safe and to make the modifications to really take advantage of the +> > threads is probably beyond the realm of reasonable +> > expectations. Having said that, I wonder if there aren't ways to +> > make Ikiwiki perform better for these big cases where the only +> > option is to wait for it to grind through everything. Something +> > along the lines of doing all of the aggregation and dependency +> > heavy stuff early on, and then doing all of the page rendering +> > stuff at the end quasi-asynchronously? Or am I way off in the deep +> > end. +> > +> > From a practical perspective, it seems like these massive rebuild +> > situations represent a really small subset of ikiwiki builds. Most +> > sites are pretty small, and most sites need full rebuilds very +> > very infrequently. In that scope, 10 minute rebuilds aren't that +> > bad seeming. In terms of performance challenges, it's the one page +> > with 3-5 dependency that takes 10 seconds (say) to rebuild that's +> > a larger challenge for Ikiwiki as a whole. At the same time, I'd +> > be willing to bet that performance benefits for these really big +> > repositories for using fast disks (i.e. SSDs) could probably just +> > about meet the benefit of most of the threading/async work. +> > +> > --[[tychoish]] + +>>> It's at this point that doing profiling for a particular site would come +>>> in, because it would depend on the site content and how exactly IkiWiki is +>>> being used as to what the performance bottlenecks would be. For the +>>> original poster, it would be image processing. For me, it tends to be +>>> PageSpecs, because I have a lot of maps and reports. + +>>> But I sincerely don't think that Disk I/O is the main bottleneck, not when +>>> the original poster mentions CPU usage, and also in my experience, I see +>>> IkiWiki chewing up 100% CPU usage one CPU, while the others remain idle. I +>>> haven't noticed slowdowns due to waiting for disk I/O, whether that be a +>>> system with HD or SSD storage. + +>>> I agree that large sites are probably not the most common use-case, but it +>>> can be a chicken-and-egg situation with large sites and complete rebuilds, +>>> since it can often be the case with a large site that rebuilding based on +>>> dependencies takes *longer* than rebuilding the site from scratch, simply +>>> because there are so many pages that are interdependent. It's not always +>>> the number of pages itself, but how the site is being used. If IkiWiki is +>>> used with the absolute minimum number of page-dependencies - that is, no +>>> maps, no sitemaps, no trails, no tags, no backlinks, no albums - then one +>>> can have a very large number of pages without having performance problems. +>>> But when you have a change in PageA affecting PageB which affects PageC, +>>> PageD, PageE and PageF, then performance can drop off horribly. And it's a +>>> trade-off, because having features that interlink pages automatically is +>>> really nifty ad useful - but they have a price. + +>>> I'm not really sure what the best solution is. Me, I profile my IkiWiki builds and try to tweak performance for them... but there's only so much I can do. +>>> --[[KathrynAndersen]] + +>>>> IMHO, the best way to get a multithreaded ikiwiki is to rewrite it +>>>> in haskell, using as much pure code as possible. Many avenues +>>>> then would open up to taking advantage of haskell's ability to +>>>> parallize pure code. +>>>> +>>>> With that said, we already have some nice invariants that could be +>>>> used to parallelize page builds. In particular, we know that +>>>> page A never needs state built up while building page B, for any +>>>> pages A and B that don't have a dependency relationship -- and ikiwiki +>>>> tracks such dependency relationships, although not currently in a form +>>>> that makes it very easy (or fast..) to pick out such groups of +>>>> unrelated pages. +>>>> +>>>> OTOH, there are problems.. building page A can result in changes to +>>>> ikiwiki's state; building page B can result in other changes. All +>>>> such changes would have to be made thread-safely. And would the +>>>> resulting lock contention result in a program that ran any faster +>>>> once parallelized? +>>>> +>>>> Which is why [[rewrite_ikiwiki_in_haskell]], while pretty insane, is +>>>> something I keep thinking about. If only I had a spare year.. +>>>> --[[Joey]] diff --git a/doc/todo/natural_sorting.mdwn b/doc/todo/natural_sorting.mdwn index 5df17e95b..3c42a4f94 100644 --- a/doc/todo/natural_sorting.mdwn +++ b/doc/todo/natural_sorting.mdwn @@ -7,7 +7,7 @@ page titles if they have numeric components. the provides an algorithm for that. there is a -[patch](http://git.ikiwiki.info/?p=ikiwiki;a=commit;h=55b83cb7bd1cd7c60bb45dc22c3745dd80a63fed) +patch 55b83cb7bd1cd7c60bb45dc22c3745dd80a63fed attached that makes the [[plugins/inline]] plugin use Sort::Naturally if sort is set to "title_natural". diff --git a/doc/todo/org_mode.mdwn b/doc/todo/org_mode.mdwn index 3e9d95376..ef7f4dbaf 100644 --- a/doc/todo/org_mode.mdwn +++ b/doc/todo/org_mode.mdwn @@ -18,7 +18,18 @@ but Ikiwiki currently (as far as I know) lacks a method to escape inserted HTML depending on which plugins will be used during the [[htmlize phase|plugins/write#index11h3]]. +new plugin +========== + +A complete rewrite of the plugin can be found +[here][chrismgray-rewrite]. It is an [[external|plugins/write/external]] plugin using a +dedicated emacs instance to parse the org-mode files. Thus, it should +be a bit faster than the older plugin, as well as properly handling +[[wikilinks|ikiwiki/wikilink]] and images, two features not present in the older +plugin. + [org-mode]: http://orgmode.org/ [MS]: http://www.golden-gryphon.com/blog/manoj/blog/2008/06/08/Using_org-mode_with_Ikiwiki/ -[example]: http://www.physics.drexel.edu/~wking/unfolding-disasters/posts/Git/notes/ +[example]: http://blog.tremily.us/posts/Git/notes/ [raw]: http://orgmode.org/manual/Quoting-HTML-tags.html +[chrismgray-rewrite]: https://github.com/chrismgray/ikiwiki-org-plugin diff --git a/doc/todo/pagespec_aliases.mdwn b/doc/todo/pagespec_aliases.mdwn index 209ec5435..748444a2f 100644 --- a/doc/todo/pagespec_aliases.mdwn +++ b/doc/todo/pagespec_aliases.mdwn @@ -100,6 +100,10 @@ however, to add ' or internal()' to `boring`, for some reason. >>>> for this patch. I personally like special pages like Kathryn is doing >>>> more than complex setup files. --[[Joey]] +>>>>> I've ran out of time to keep working on this, so I'm just going to +>>>>> submit it as a 'contrib' plugin and leave things at that for now. +>>>>> — [[Jon]] + --------------------------- Based on the above, I have written an experimental plugin called "subset". @@ -162,3 +166,4 @@ Unfortunately I haven't figured out how to do the dependencies - I'd really appr >>>>> I'm a bit confused by your statement "having the aliases/subsets/"things" work in any pagespec (inside map, or inline) is a deal-breaker for me". >>>>> Do you mean that you want them to work in any pagespec, or that you *don't* want them to work in any pagespec? -- [[KathrynAndersen]] +>>>>>> I mean I would want them to work in any pagespec. — [[Jon]] diff --git a/doc/todo/pdf_output.mdwn b/doc/todo/pdf_output.mdwn index 1a1411093..29c89e4eb 100644 --- a/doc/todo/pdf_output.mdwn +++ b/doc/todo/pdf_output.mdwn @@ -4,3 +4,17 @@ Note that for example dokuwiki has a [[nice plugin|http://danjer.doudouke.org/te > I've actually written one, it's just not publicly released. You can check it out from the "experimental" branch of my <a href="https://github.com/rubykat/ikiplugins">ikiplugins githup repo</a>. It's called "html2pdf" and it depends on the static version of <a href="http://code.google.com/p/wkhtmltopdf/">wkhtmltopdf</a> rather than requiring a whole LaTeX setup. It's only been used on Ubuntu, so I can't say what problems there might be on other setups, but it works for me. It's not properly documented; I'd appreciate some help with that. > -- [[KathrynAndersen]] + +>> Thanks, I downloaded the git-repro and did `sudo cp html2pdf.pm /usr/share/perl5/IkiWiki/Plugin/` then I added html2pdf to the addplugins line in my setup-file (`mywiki.setup`) as well a new line `html2pdf_pages=>"/*",`. Then I did `sudo ikiwiki --setup mywiki.setup`. However there is no button or something like that which let's me create the pdf's +>> -- [[micheal]] + +>>> That is because they are created automatically as part of the page-build process. That's what the "html2pdf_pages" option is for: it defines which pages have PDFs generated from them. If a PDF is generated for page "foo", then the PDF itself will be in "foo/foo.pdf". + +>>> I also notice you didn't mention installing wkhtmltopdf - it won't create PDFs without that! +>>> -- [[KathrynAndersen]] + +>>>> Yes, wkhtmltopdf is installed and works, however there are no pdf-files in my /var/www/myiki directory or in scrdir. + +>>>>> Have you tried running it with "verbose" turned on, and noting the output? That could give some clues. +>>>>> And no, the PDFs are not placed in the source dir, only in the destination dir. +>>>>> -- [[KathrynAndersen]] diff --git a/doc/todo/rewrite_ikiwiki_in_haskell.mdwn b/doc/todo/rewrite_ikiwiki_in_haskell.mdwn index 48ed744b1..e48765b0e 100644 --- a/doc/todo/rewrite_ikiwiki_in_haskell.mdwn +++ b/doc/todo/rewrite_ikiwiki_in_haskell.mdwn @@ -62,8 +62,4 @@ Some other things to be scared about: a bunch of haskell libraries. OTOH, it might be possible to build a static binary at home and upload it, thus avoiding a messy installation procedure entirely. -* I can barely code in haskell yet. I'm probably about 100x faster at - programming in perl. I need to get some more practical experience before - I´m fast and seasoned enough in haskell to attempt such a project. - (And so far, progress at learning has been slow and I have not managed - to write anything serious in haskell.) --[[Joey]] + --[[Joey]] diff --git a/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn b/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn index 1edebe4e8..b6495194a 100644 --- a/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn +++ b/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn @@ -12,3 +12,46 @@ Congratulations for demonstrating that April fools jokes can still be subtle >>> It doesn't really. I recently (re-)read about couchdb and thought that >>> what it was trying to do had some comparisons with the thinking going on >>> in [[todo/structured_page_data]]. -- [[Jon]] + +----- + +I'm torn about this idea, if it's actually serious. I'm very comfortable +programming in Perl, and have written quite a few modules for IkiWiki, and +it would be a huge pain to have to start from scratch all over again. On +the other hand, this could be a motivation for me to learn Haskell. My +only encounter with Haskell has been a brief time when I was using the +Xmonad window manager, but it looks like an interesting language. +Functional programming is cool. + +There are a lot of interesting plusses for Haskell you note (in the parent +page), but it's true that the idea is horribly daunting (as [[Joey]] said +"If only I had a spare year"). Is there any way that you could "start +small"? Because nothing will ever happen if the task is too daunting to +even start. + +> This seems destined to remain a thought experiment unless something like +> that can be done, or I get a serious case of second system disease. +> +> I've considered doing things like using the external plugin interface +> to run a separate haskell program, which would allow implementing +> arbitrary plugins in haskell (starting with a pandoc plugin..), +> and could perhaps grow to subsume the perl code. However, this would +> stick us with the perl data structures, which are not a very good fit +> for haskell. --[[Joey]] + +On further thought... perhaps it would be easier to fork or contribute to +an existing Haskell-based wiki, such as <a +href="http://jaspervdj.be/hakyll">Hakyll</a>? + +--[[KathrynAndersen]] + +> As far as I know there are no other wikis (haskell or otherwise) +> that are wiki compilers. Since we know from experience that dealing +> with static compilation turns out to be one of the trickiest parts of +> ikiwiki, I'm doubtful about trying to bolt that into one. --[[Joey]] + +>> Haykll isn't a wiki but it does do static compilation. The missing +>> parts are: the web interface, the wiki link processing, and page +>> dependency stuff. -- [[tychoish]] + +>>> (nods) Which is why I suggested it. I'm not sure whether it would be easier to "bolt on" those things than static compilation, but it could be worth looking at, at least. -- [[KathrynAndersen]] diff --git a/doc/todo/sortbylastcomment_plugin.mdwn b/doc/todo/sortbylastcomment_plugin.mdwn index 71dfb67c8..84cf86e21 100644 --- a/doc/todo/sortbylastcomment_plugin.mdwn +++ b/doc/todo/sortbylastcomment_plugin.mdwn @@ -9,3 +9,5 @@ You'll find it in this repository, in the 'sortbylastcomment' branch: [[!tag wishlist patch]] > Reviewed, tested: looks good to me. We need it for the [Tails forum](https://tails.boum.org/forum/). --[[intrigeri]] + +>> Hi, is there a chance of seeing this plugin getting included in a release at any point soon? --sajolida diff --git a/doc/todo/sorting_by_path.mdwn b/doc/todo/sorting_by_path.mdwn new file mode 100644 index 000000000..a483c331a --- /dev/null +++ b/doc/todo/sorting_by_path.mdwn @@ -0,0 +1,18 @@ +[[!tag patch]] +[[!template id=gitbranch branch=smcv/trail3 author="[[smcv]]"]] + +My branch for [[plugins/contrib/trail]] also includes `path` +and `path_natural` sort orders, which sort the entire page name, +e.g. "a a/z ab ab/c b", much like [[ikiwiki/directive/map]]. +I used `path` as the default order for the +[[plugins/contrib/ikiwiki/directive/trailitems]] directive, +since it seemed the most sensible. +([[plugins/contrib/ikiwiki/directive/trailinline]] uses +`age` as its default, to be consistent with `inline`.) + +It's one commit (including a regression test) which can be +cherry-picked if you don't want the rest of `trail`. + +--[[smcv]] + +> [[done]] --[[Joey]] diff --git a/doc/todo/submodule_support.mdwn b/doc/todo/submodule_support.mdwn new file mode 100644 index 000000000..d6a7edb03 --- /dev/null +++ b/doc/todo/submodule_support.mdwn @@ -0,0 +1,15 @@ +I would love to be able to publish my theme in my personnal wiki. The theme is in a separate git repository, and i feel it would be pretty awesome if it was rendered within my main ikiwiki site. I have tried the following: + + git submodule add /usr/share/ikiwiki/themes/night_city/ + git commit -m"add the theme to my site" ; git push + +But this made really weird things on the other side. The files from the theme end up flat in the parent directory. Now I have reverted the above change and ikiwiki *still* generates those files. Not sure what is going on. + +To be really clear here: this is an arbitrary source code repository that I want to include, I do not mean to enable the theme with this, this could very well be presentation material, C source code or whatever else... In fact, I think this would be a powerful way to do syntax highlightning for source code published on your website... + +Other people had experience with this? Or other suggestions on how to publish repositories within my site? -- [[anarcat]] + +> Ikiwiki does not support git submodules. +> +> You can use the [[plugins/underlay]] plugin to merge the +> contents of other directories into your wiki's source. --[[Joey]] diff --git a/doc/todo/supporting_comments_via_disussion_pages.mdwn b/doc/todo/supporting_comments_via_disussion_pages.mdwn index aae0b3008..420ae4a7e 100644 --- a/doc/todo/supporting_comments_via_disussion_pages.mdwn +++ b/doc/todo/supporting_comments_via_disussion_pages.mdwn @@ -218,3 +218,5 @@ I've updated smcvpostcomment and publicised it as [[plugins/contrib/comments]]. > While there is still room for improvement and entirely other approaches, > I am calling this done since smcv's comments plugin is ready. --[[Joey]] + +[[done]] diff --git a/doc/todo/test_coverage.mdwn b/doc/todo/test_coverage.mdwn new file mode 100644 index 000000000..56e11e01a --- /dev/null +++ b/doc/todo/test_coverage.mdwn @@ -0,0 +1,24 @@ +[[!tag patch]] +[[!template id=gitbranch branch=smcv/coverage author="[[smcv]]"]] + +It would be nice for `make coverage` (or something) to produce a HTML +test-coverage report. I found this very useful for test-driven development of +[[plugins/contrib/trail]]. + +Limitations of the current branch, which uses [[!cpan Devel::Cover]]: + +* Some tests use `./blib` and some use `.` so coverage gets split between + the two copies of each module; not a problem for [[plugins/contrib/trail]] + which only has one test. + +> How annoying. I think in at least some cases there is reason to use +> `./blib` -- perhaps everything that users `.` should be changed to use +> it. --[[Joey]] + +* The [[plugins/git]] and [[plugins/mercurial]] plugins want to `chdir`, + and so does [[!cpan Devel::Cover]], so they fight. For now, those tests + are disabled under `make coverage`. + +--[[smcv]] + +> [[merged|done]] --[[Joey]] diff --git a/doc/todo/themes_should_ship_with_templates.mdwn b/doc/todo/themes_should_ship_with_templates.mdwn new file mode 100644 index 000000000..875e5ce89 --- /dev/null +++ b/doc/todo/themes_should_ship_with_templates.mdwn @@ -0,0 +1,19 @@ +if i understand [[todo/multiple_template_directories]] correctly, i read it as templates directories being separate from themes. shouldn't a themer be able to ship more than just a CSS and instead override the (say) page.tmpl page? -- [[anarcat]] + +> A theme can ship any files it wants to, including templates (in the +> templates/ directory). +> +> So far none of them do; I'd much rather have one version of page.tmpl to +> maintain than one per theme.. --[[Joey]] + +> > that, dear author, is amazingly simple, intuitive and useful. why didn't i try this before! :) thank you very much! +> > +> > i do agree that having a completely different template file is tricky, but I think it's important for themes to be able to modify those files, otherwise making themes is *really* hard. besides the burden of maintenance falls on the theme maintainer, and as long as it's not in ikiwiki core, you have nothing to worry about... right? ;) +> > +> > i have just ported the [night_city theme](http://www.openwebdesign.org/viewdesign.phtml?id=3318) to ikiwiki, and it was a nightmare when i wasn't modifying the page.tmpl... but now it's done! i'll try to publish my changes somewhere when i finish figuring out how to share small things like that easily. ;) ([[suggestions|submodule_support]]?) +> > +> > i guess the only thing to be done here is to update the documentation so that this is clearer - where do you suggest I do that? --[[anarcat]] +> > +> > > i have updated the [[plugins/theme]] documentation, hopefully that was the right place. so i think this is [[done]] --[[anarcat]] + +>>>> I would love it it you would share your theme! Thanks, Adam. :-) diff --git a/doc/todo/websetup_should_link_to_plugin_descriptions.mdwn b/doc/todo/websetup_should_link_to_plugin_descriptions.mdwn new file mode 100644 index 000000000..8b15fb7d0 --- /dev/null +++ b/doc/todo/websetup_should_link_to_plugin_descriptions.mdwn @@ -0,0 +1,3 @@ +A [[wishlist]] item. + +It would be nice if the websetup plugin could link to plugin descriptions. When it refers to a plugin by name, the name could be a link to <http://ikiwiki.info/plugins/$NAME/> (or other suitable location). --liw diff --git a/doc/todo/wikitrails.mdwn b/doc/todo/wikitrails.mdwn index ca97c9404..f2f87ac82 100644 --- a/doc/todo/wikitrails.mdwn +++ b/doc/todo/wikitrails.mdwn @@ -1,17 +1,25 @@ ## summary at times it is useful to have a guided tour or trail through a subset of the pages of a wiki; in pmwiki, this is implemented as [wikitrails](http://www.pmwiki.org/wiki/PmWiki/WikiTrails). +### smcv's implementation + +... is the out-of-tree [[plugins/contrib/trail]] plugin, see there for details. + +> And will be the one landing in ikiwiki. So, I'm closing this bug report. [[done]] --[[Joey]] + +### chrysn's implementation + i'm working on a python xmlrpc plugin for ikiwiki to support wikitrails, both as a navigation feature (have "forward" and "back" links based on a sequence) and a modified inline that includes all pages in the trail with appropriate modifications (suitable for printing if necessary). the current status is published on `git://github.com/github076986099/ikiwiki-plugins.git`; as of now, i don't have a public demo of it. feedback on both the concept and the code is very much appreciated by [[discussion]] or [email](mailto:chrysn@fsfe.org). -## usage +#### usage two preprocessor commands are provided: -### \[[!trail index="my_indexpage"]] +##### \[[!trail index="my_indexpage"]] embeds a navigation object with forward and back links as well as an indicator of the current position in the trail. @@ -19,15 +27,15 @@ if index is not specified, a suitable page up the path is used. this works very well together with the [[sidebar|plugins/sidebar]] plugin if the pages in a directory are roughly the same as the pages in the trail and the `index` is directory index page; just put the \[[!trail]] in the sidebar. -### \[[!trailinclude index="my_indexpage"]] +##### \[[!trailinclude index="my_indexpage"]] all pages linked from the index page are included in the same way as \[[!inline]] does, but in the proper sequence, with headings according to the indent in the source page and adoptions for the headings inside the page (a level 2 heading in a page that is a sub-sub-chapter in the whole trail will become a level 5 heading when trailincluded). -## the index page +#### the index page the index page is parsed as markdown; numbered lists and "`*`" bulleted lists are discovered. -## current issues +#### current issues * rebuilding --- currently, there is no propper rebuilding of pages (will use `will_render` and `add_depends`). care has to be taken of how not yet created pages play into this. * inline recursion --- there is simply no guard yet diff --git a/doc/todo/wikitrails/discussion.mdwn b/doc/todo/wikitrails/discussion.mdwn index 9dbbb6bc8..1ceb51f0d 100644 --- a/doc/todo/wikitrails/discussion.mdwn +++ b/doc/todo/wikitrails/discussion.mdwn @@ -1,3 +1,7 @@ +(This mainly discusses the original implementation (chrysn's). --[[smcv]]) + +---- + This is a nice idea, I do have my gripes about the imeplementation. Assuming that the index's list is in mdwn format is not ideal. I guess the diff --git a/doc/todo/wmd_editor_live_preview.mdwn b/doc/todo/wmd_editor_live_preview.mdwn new file mode 100644 index 000000000..d76fb2ba4 --- /dev/null +++ b/doc/todo/wmd_editor_live_preview.mdwn @@ -0,0 +1,11 @@ +Some time ago there was [[a question|http://ikiwiki.info/forum/wmd_editor_double_preview/]] in the forum about wmd editor and preview. However there were no answers: + +I use the wmd editor in my ikiwiki. However live preview seems not to be a fully correct preview so nevertheless I have to hit the preview button to get a correct preview. However then I have two previews so that I have to scroll down to see the correct one. + +Is it possible to disable the live preview or to replace the live preview with the correct one after pressing the preview button? + +> There's another page already tracking this UI problem: [[mdwn_preview]] +> There is a patch there, but AFAIK nobody has done any more work on +> WMD integration with ikiwiki. --[[Joey]] + +>> I tried to apply the patch via git apply, however get an error: fatal: corrupt patch at line 63, any idea? diff --git a/doc/usage.mdwn b/doc/usage.mdwn index b9516d740..44d32a01d 100644 --- a/doc/usage.mdwn +++ b/doc/usage.mdwn @@ -384,4 +384,4 @@ also be configured using a setup file. Joey Hess <joey@ikiwiki.info> -Warning: this page is automatically made into ikiwiki's man page via [mdwn2man](http://git.ikiwiki.info/?p=ikiwiki;a=blob;f=mdwn2man;hb=HEAD). Edit with care +Warning: Automatically converted into a man page by mdwn2man. Edit with care diff --git a/doc/users/Erkan_Yilmaz.mdwn b/doc/users/Erkan_Yilmaz.mdwn new file mode 100644 index 000000000..070a3a45a --- /dev/null +++ b/doc/users/Erkan_Yilmaz.mdwn @@ -0,0 +1,2 @@ +* [[recentchanges]] +* my site: [here](http://iaskquestions.com) diff --git a/doc/users/NeilSmithline.mdwn b/doc/users/NeilSmithline.mdwn new file mode 100644 index 000000000..27370248e --- /dev/null +++ b/doc/users/NeilSmithline.mdwn @@ -0,0 +1 @@ +Neil Smithline, that's me! diff --git a/doc/users/fil.mdwn b/doc/users/fil.mdwn new file mode 100644 index 000000000..b17399383 --- /dev/null +++ b/doc/users/fil.mdwn @@ -0,0 +1 @@ +http://hands.com/~phil diff --git a/doc/users/jon.mdwn b/doc/users/jon.mdwn index eb01821ff..3d5304365 100644 --- a/doc/users/jon.mdwn +++ b/doc/users/jon.mdwn @@ -1,4 +1,7 @@ -[[!meta title="Jon Dowland"]] +[[!meta title="Jon Dowland"]][[!toc levels=2]] + +## intro + I'm looking at ikiwiki both for my personal site but also as a team-documentation management system for a small-sized group of UNIX sysadmins. @@ -54,7 +57,9 @@ Penultimately, the following are merely half-formed thoughts: * I'd like to make profiling ikiwiki in action very easy for newcomers. Perhaps even a plugin that created a file /profile or similar on build. +## backlinks + Finally, backlinks (since I have issues with the current backlinks implementation, see [[bugs/backlinks onhover thing can go weird]]): -[[!inline pages="link(users/Jon)" archive="yes" feeds="no"]] +[[!map pages="link(users/Jon)"]] diff --git a/doc/users/pelle.mdwn b/doc/users/pelle.mdwn new file mode 100644 index 000000000..5475b67e8 --- /dev/null +++ b/doc/users/pelle.mdwn @@ -0,0 +1 @@ +Have migrated some company internal wiki's from MediaWiki to IkiWiki. Going from mysql+php to git+perl is a blessing, never going to look back! diff --git a/doc/users/schmonz.mdwn b/doc/users/schmonz.mdwn index ec282c990..fc7558b24 100644 --- a/doc/users/schmonz.mdwn +++ b/doc/users/schmonz.mdwn @@ -1,5 +1,10 @@ -[Amitai Schlair](http://www.netbsd.org/~schmonz/) recently discovered ikiwiki and finds himself using it for all sorts of things. His attempts at contributing: +[Amitai Schlair](http://www.schmonz.com/) finds himself using ikiwiki +for all sorts of things. His attempts at contributing: -[[!map pages="!*/Discussion and ((link(users/schmonz) and plugins/*) or rcs/cvs)"]] +[[!map +pages="!*/Discussion and ((link(users/schmonz) and plugins/*) or rcs/cvs)" +]] -I've also written a plugin for [WIND authentication](http://www.columbia.edu/acis/rad/authmethods/wind/), which may or may not be of general utility. +He's also written a plugin for [WIND +authentication](http://www.columbia.edu/acis/rad/authmethods/wind/), which +may or may not be of general utility. diff --git a/doc/users/Terry_Golubiewski.mdwn b/doc/users/tjgolubi.mdwn index 15b995270..edf871843 100644 --- a/doc/users/Terry_Golubiewski.mdwn +++ b/doc/users/tjgolubi.mdwn @@ -1,2 +1,3 @@ +[[!meta title="Terry Golubiewski"]] Terry Golubiewski likes to program in C++ and manages software projects. Terry is just starting to use ikiwiki. diff --git a/doc/users/wtk.mdwn b/doc/users/wtk.mdwn index a34473577..d00911a76 100644 --- a/doc/users/wtk.mdwn +++ b/doc/users/wtk.mdwn @@ -3,4 +3,4 @@ * Git branch: `wtk`. * [Ikiwiki-based blog][blog] -[blog]: http://www.physics.drexel.edu/~wking/unfolding-disasters/ +[blog]: http://blog.tremily.us/ |