Merge branch 'master' of ssh://git.ikiwiki.info
commit
278036ef45
|
@ -0,0 +1,16 @@
|
|||
[[!template id=gitbranch branch=smcv/ready/git-push-origin-master
|
||||
browse="http://git.pseudorandom.co.uk/smcv/ikiwiki.git/shortlog/refs/heads/ready/git-push-origin-master"
|
||||
author="[[smcv]]"]]
|
||||
[[!tag patch]]
|
||||
|
||||
git's behaviour when doing "git push origin" is configurable, and the
|
||||
default is going to change in 2.0. In particular, if you've set
|
||||
push.default to "nothing" (the "explicit is better than implicit" option),
|
||||
the regression test will warn:
|
||||
|
||||
fatal: You didn't specify any refspecs to push, and push.default
|
||||
is "nothing".
|
||||
'git push origin' failed: at .../lib/IkiWiki/Plugin/git.pm line 220.
|
||||
|
||||
The solution is to do "git push origin master" instead (but with the
|
||||
configured remote and branch names). --[[smcv]]
|
|
@ -55,3 +55,20 @@ Weird... --[[anarcat]]
|
|||
> > I have a stupid [[patch]] in my git repo which just appends a semicolon to the `::magic()` output, but maybe this should be done in another way...
|
||||
> >
|
||||
> > --[[anarcat]]
|
||||
|
||||
> > > If the regex match isn't necessary and it's just about deleting the
|
||||
> > > parameters, I think I'd prefer something like
|
||||
> > >
|
||||
> > > if (! defined $mimetype) {
|
||||
> > > ...
|
||||
> > > }
|
||||
> > > $mimetype =~ s/;.*//;
|
||||
> > >
|
||||
> > > but I'd be hesitant to do that without knowing why Joey implemented it
|
||||
> > > the way it is. If it's about catching a result from file(1) that
|
||||
> > > is not, in fact, a MIME type at all (empty string or error message
|
||||
> > > or something), maybe something more like this?
|
||||
> > >
|
||||
> > > if (! defined $mimetype || $mimetype !~ s{[-\w]+/[-\w]+(?:;.*)?}{})
|
||||
> > >
|
||||
> > > (or whatever the allowed characters in MIME types are). --[[smcv]]
|
||||
|
|
|
@ -65,3 +65,6 @@ error: ikiwiki failed
|
|||
> > > Right, I know that. The trick is to find the rabbit hole. :P
|
||||
> > >
|
||||
> > > And I found it. With my dev/proxy-utf8-fail, this doesn't fail anymore. Yay, a [[patch]] ready for commit! --[[anarcat]]
|
||||
|
||||
> > > > I don't see that branch in your git repo, could you repost it please?
|
||||
> > > > (I'm trying to review some of the pending patches.) --[[smcv]]
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
On this wiki, editing `templates/gitbranch.mdwn` causes a really slow
|
||||
refresh, orders of magnitude slower than a full rebuild: a large number of
|
||||
pages depend on that template, or link to a page that embeds that template,
|
||||
and so on.
|
||||
|
||||
I suspect that, as with my optimization pass for `album`'s benefit, the
|
||||
costly thing is evaluating lots of pagespecs. I'm profiling it to see
|
||||
whether the problem is there are any low-hanging fruit.
|
||||
|
||||
Easy to reproduce offline:
|
||||
|
||||
* comment out the `exclude` option in `docwiki.setup`
|
||||
* `/usr/bin/perl -Iblib/lib ikiwiki.in -setup docwiki.setup -rebuild`
|
||||
* `touch templates/gitbranch.mdwn`
|
||||
* `/usr/bin/perl -Iblib/lib ikiwiki.in -setup docwiki.setup -refresh`
|
||||
|
||||
--[[smcv]]
|
|
@ -0,0 +1,27 @@
|
|||
[[!template id=gitbranch branch=smcv/ready/careful-eval author="[[smcv]]"
|
||||
browse="http://git.pseudorandom.co.uk/smcv/ikiwiki.git/shortlog/refs/heads/ready/careful-eval"]]
|
||||
[[!tag patch]]
|
||||
|
||||
As noted in the [[!cpan Try::Tiny]] man page, eval/$@ can be quite
|
||||
awkward in corner cases, because $@ has the same properties and problems
|
||||
as C's errno. While writing a regression test for definetemplate
|
||||
in which it couldn't find an appropriate template, I received
|
||||
|
||||
<span class="error">Error: failed to process template
|
||||
<span class="createlink">deftmpl</span> </span>
|
||||
|
||||
instead of the intended
|
||||
|
||||
<span class="error">Error: failed to process template
|
||||
<span class="createlink">deftmpl</span> template deftmpl not
|
||||
found</span>
|
||||
|
||||
which turned out to be because the "catch"-analogous block called
|
||||
gettext before it used $@, and gettext can call define_gettext,
|
||||
which uses eval.
|
||||
|
||||
Fixed in my branch smcv/ready/careful-eval. Another possibility
|
||||
for fixing this would be to depend on something like Try::Tiny,
|
||||
which is already indirectly recommended by ikiwiki, because
|
||||
[[!cpan RPC::XML]], [[!cpan XML::Feed]], etc., depend on it.
|
||||
--[[smcv]]
|
|
@ -34,4 +34,63 @@ The [[ikiwiki/directive/listdirectives]]` directive doesn't register a link betw
|
|||
> --[[smcv]]
|
||||
|
||||
> No follow-up or objection for a while, so considering this to
|
||||
> be [[working as designed|done]]. --[[smcv]]
|
||||
> be working as designed. --[[smcv]]
|
||||
|
||||
> > Seems I'm a bit late to butt in, but would it be possible to have two
|
||||
> > further phases after the scan phase, the first running map and inline
|
||||
> > and the second orphan? Then map and inline could log or register their
|
||||
> > links (obviously somewhere were it won't change the result of the link function)
|
||||
> > and orphan could take them into account. This logging could be
|
||||
> > turned on by parameter to not waste time for users not needing this and
|
||||
> > make it tunable (i.e. so that the user can decide which map directives count and which don't)
|
||||
> >
|
||||
> > For someone using map and especially autoindex the output of the orphans directive
|
||||
> > is simply wrong/useless (at least it is for me). And there is no easy workaround like for listdirectives
|
||||
> > -- [[holger]]
|
||||
|
||||
>>> Hmm. I think this can be done without introducing any "phases",
|
||||
>>> even, but it would require each plugin that generates links according
|
||||
>>> to a pagespec to have either a conditional call into the orphans plugin,
|
||||
>>> or a call to a new core function in ikiwiki that exists solely to
|
||||
>>> support the orphans plugin. Something like this, maybe:
|
||||
>>>
|
||||
>>> # in map.pm, inline.pm, pagestats.pm etc., at scan time
|
||||
>>> if (IkiWiki::Plugin::orphans->can("add_reachable")) {
|
||||
>>> IkiWiki::Plugin::orphans::add_reachable($page, $pagespec);
|
||||
>>> }
|
||||
>>>
|
||||
>>> # in orphans.pm (pseudocode; note that this does not *evaluate*
|
||||
>>> # $pagespec, only stores it, so it's OK to do this at scan time)
|
||||
>>> sub needsbuild ($pages)
|
||||
>>> for each page in $pages
|
||||
>>> clear $pagestate{location}{orphans}{reachable}
|
||||
>>> sub reachable ($location, $pagespec)
|
||||
>>> add $pagespec to @{$pagestate{location}{orphans}{reachable}}
|
||||
>>>
|
||||
>>> # in preprocess function in orphans.pm (pseudocode)
|
||||
>>> # executed at build time, not at scan time, so pagespecs work
|
||||
>>>
|
||||
>>> for each maybe_orphan with no links to it
|
||||
>>> for each location with a list of reachable pagespecs
|
||||
>>> make the page with the orphans directive depend on \
|
||||
>>> the page that is the location
|
||||
>>> for each of those pagespecs
|
||||
>>> if pagespec matches orphan
|
||||
>>> take orphan off the list
|
||||
>>> go to next orphan
|
||||
>>> output list of orphans
|
||||
>>>
|
||||
>>> (Maybe parentlinks should also annotate the parent/ancestors of
|
||||
>>> each page as reachable from that page.)
|
||||
>>>
|
||||
>>> Do other people (mainly Joey) think that'd be acceptable, or
|
||||
>>> too intrusive?
|
||||
>>>
|
||||
>>> Taking this off the list of resolved bugs again while we think about it.
|
||||
>>>
|
||||
>>> I suspect that in the presence of autoindex, what you really want might
|
||||
>>> be less "there's a link to it" and more "there's a path to it from
|
||||
>>> the root of the wiki", which is why I called the proposed function
|
||||
>>> "add_reachable". On the other hand, maybe that's too computationally
|
||||
>>> intensive to actually do; I haven't tried it.
|
||||
>>> --[[smcv]]
|
||||
|
|
|
@ -14,3 +14,6 @@ Maybe just encode all < and > when compling pages within the templates fol
|
|||
|
||||
> I never noticed this bug, since it only happens if the htmlscrubber is
|
||||
> disabled. --[[Joey]]
|
||||
|
||||
>> My `templatebody` branch on [[template creation error]] fixes this.
|
||||
>> --[[smcv]]
|
||||
|
|
|
@ -17,3 +17,5 @@ index 75c9579..ad0f8b0 100644
|
|||
</pre></code>
|
||||
|
||||
[[!tag patch]]
|
||||
|
||||
> [[Seems reasonable|users/smcv/yesplease]] --smcv
|
||||
|
|
|
@ -21,3 +21,5 @@ Yet I am not sure how to fix that kind of problem in Perl... --[[anarcat]]
|
|||
> I have improved a little the error handling in log_message() so that we see *something* when syslog fails, see the branch documented above. I can also confirm that reverting [[todo/syslog_should_show_wiki_name]] fixes the bug. Finally, I have a unit test that reproduces the problem in git, and a working [[!taglink patch]] for the bug, again in git.
|
||||
>
|
||||
> > One last note: I noticed that this problem also happens elsewhere in ikiwiki. For example, the [[plugins/notifyemail]] plugin will silently fail to send notifications if the pages contain unicode. The [[plugins/notifychanges]] plugin I am working on (in [[todo/option to send only the diff in notifyemail]]) seems to be working around the issue so far, but there's no telling which similar problem are out there.
|
||||
|
||||
>> [[I'd merge it|/users/smcv/yesplease]]. --[[smcv]]
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
[[!template id=gitbranch branch=smcv/ready/template-syntax-test
|
||||
browse="http://git.pseudorandom.co.uk/smcv/ikiwiki.git/shortlog/refs/heads/ready/template-syntax-test"
|
||||
author="[[smcv]]"]]
|
||||
[[!tag patch]]
|
||||
|
||||
`t/template_syntax.t` looks as though it's meant to check the syntax of
|
||||
`doc/templates/*.mdwn` as well as `templates/*.tmpl`, but it doesn't.
|
||||
Patch in my git repository. --[[smcv]]
|
|
@ -110,8 +110,6 @@ Please, let me know what to do to avoid this kind of error.
|
|||
>
|
||||
> --[[smcv]]
|
||||
|
||||
>> [[!template id=gitbranch author="[[smcv]]" branch=smcv/definetemplate]]
|
||||
>> [[!tag patch]]
|
||||
>> OK, here is a branch implementing what I said. It adds the `definetemplate`
|
||||
>> directive to [[plugins/goodstuff]] as its last commit.
|
||||
>>
|
||||
|
@ -195,3 +193,14 @@ Please, let me know what to do to avoid this kind of error.
|
|||
>>>>> the right thing to do in this situation.
|
||||
>>>>>
|
||||
>>>>> --[[chrysn]]
|
||||
|
||||
>>>>>> [[!template id=gitbranch author="[[smcv]]" branch=smcv/ready/templatebody
|
||||
browse=http://git.pseudorandom.co.uk/smcv/ikiwiki.git/shortlog/refs/heads/ready/templatebody]]
|
||||
>>>>>> [[!tag patch]]
|
||||
>>>>>> Branch and directive renamed to `ready/templatebody` as chrysn suggested.
|
||||
>>>>>> It's on-by-default now (or will be if that branch is merged).
|
||||
>>>>>> Joey, any chance you could review this?
|
||||
>>>>>>
|
||||
>>>>>> There is one known buglet: `template_syntax.t` asserts that the entire
|
||||
>>>>>> file is a valid HTML::Template, whereas it would ideally be doing the
|
||||
>>>>>> same logic as IkiWiki itself. I don't think that's serious. --[[smcv]]
|
||||
|
|
|
@ -2,7 +2,7 @@ The `edittemplate` directive is supplied by the [[!iki plugins/edittemplate desc
|
|||
|
||||
This directive allows registering template pages, that provide default
|
||||
content for new pages created using the web frontend. To register a
|
||||
template, insert a [[ikiwiki/directive/template]] directive on some other
|
||||
template, insert an [[ikiwiki/directive/edittemplate]] directive on some other
|
||||
page.
|
||||
|
||||
\[[!edittemplate template="bugtemplate" match="bugs/*"]]
|
||||
|
|
|
@ -88,7 +88,7 @@ Projects & Organizations
|
|||
* [[Nos oignons|http://nos-oignons.net]] - Tor exit nodes funded by the community.
|
||||
* [[CAS Libres|http://cas-libres.poivron.org]] - A French feminist radio program.
|
||||
* [[Les Barricades|http://barricades.int.eu.org]] - A French socialist choir (CSS has been adapted from the one of [[Grésille|http://www.gresille.org]]).
|
||||
* [[DKØTU Amateur Radio Station]](http://www.dk0tu.de), TU Berlin
|
||||
* [DKØTU Amateur Radio Station](http://www.dk0tu.de), TU Berlin
|
||||
|
||||
Personal sites and blogs
|
||||
========================
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<span class="infobox">
|
||||
<div class="infobox">
|
||||
Available in a [[!taglink /git]] repository [[!taglink branch|/branches]].<br />
|
||||
Branch: <TMPL_VAR branch><br />
|
||||
Author: <TMPL_VAR author><br />
|
||||
</span>
|
||||
Branch: <TMPL_IF browse><a href="<TMPL_VAR browse>"></TMPL_IF><TMPL_VAR branch><TMPL_IF browse></a></TMPL_IF><br />
|
||||
<TMPL_IF author>Author: <TMPL_VAR author><br /></TMPL_IF>
|
||||
</div>
|
||||
<TMPL_UNLESS branch>
|
||||
This template is used to create an infobox for a git branch. It uses
|
||||
these parameters:
|
||||
|
|
|
@ -182,3 +182,15 @@ Here is a [[patch]] that adds an option `disp` for the [[ikiwiki/directive/pages
|
|||
|
||||
Regards,
|
||||
-- [[Louis|spalax]]
|
||||
|
||||
> Saved to my git repository as `contrib/spalax/pagestats-disp`.
|
||||
> I'd rather find a better name than `disp` for the parameter.
|
||||
> I think `display` would be an improvement, but that doesn't solve the
|
||||
> problem of "it's a synonym for show, and non-obvious which is which".
|
||||
> Maybe `linktext`?
|
||||
>
|
||||
> It's unfortunate that `map` and `pagestats` have different meanings for
|
||||
> the `show` parameter. I'm tempted to propose a patch that adds something
|
||||
> like `limit` (by analogy with SQL) or `max` as the canonical name for the
|
||||
> "number of things to match" parameter, at which point a non-numeric
|
||||
> `show` could mean this thing. --[[smcv]]
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
[[!template id=gitbranch branch=anderbubble/edittemplate author="Jonathon Anderson"]]
|
||||
[[!tag wishlist patch]]
|
||||
|
||||
I use a default template for all new pages:
|
||||
|
@ -17,3 +18,31 @@ I've already made these changes in my installation, and have made my patches ava
|
|||
Changes to the structure of `$pagestate{$registering_page}{edittemplate}{$pagespec}` mean that a `cgi` rebuild is necessary (for reasons I don't entirely understand); but I think that's preferable to creating an entirely separate `$pagestate` namespace for storing parameters. That said, I'm not really a perl programmer, so corrections are welcome.
|
||||
|
||||
> I like this patch. I hate seeing things I've already read get marked as unread in my rss feed. -- [[JoshBBall]]
|
||||
|
||||
>> (I don't have commit access so take this with a pinch of salt -
|
||||
>> I'm just trying to help deal with the code-review backlog.)
|
||||
>>
|
||||
>> I mostly like the first and third patches in the branch (adding v4
|
||||
>> (random) UUIDs, and adding the timestamps). I'd be tempted to rename
|
||||
>> `time` and `formatted_time` to `iso_time` and `time`, but that's
|
||||
>> a matter of taste, and perhaps people with commit access have
|
||||
>> stronger opinions one way or another. I haven't researched
|
||||
>> whether there's precendent for any particular naming style
|
||||
>> elsewhere in ikiwiki.
|
||||
>>
|
||||
>> The UUID bit would require adding some reference to libuuid-tiny-perl
|
||||
>> to the Debian packaging - I think a `Recommends` is too strong
|
||||
>> but a `Suggests` seems OK.
|
||||
>>
|
||||
>> I don't like the second patch (adding URL-namespaced UUID support).
|
||||
>> I'm having a hard time thinking of any situation in which a v4 UUID
|
||||
>> would be unsuitable, which means it's unnecessary complexity.
|
||||
>> FYI, the reason that it makes a rebuild is necessary is that
|
||||
>> you've restructured `$pagestate`, which is carried over from one
|
||||
>> refresh to the next (that's its purpose), and you haven't
|
||||
>> built in any migration or backwards-compatibility code that will
|
||||
>> cope with it being in the old format. My inclination would be to
|
||||
>> drop that patch. If there's a really good reason to prefer
|
||||
>> v3/v5 UUIDs, please describe it and I'll try to suggest some
|
||||
>> better way based on that, maybe global configuration in `$config`.
|
||||
>> --[[smcv]]
|
||||
|
|
|
@ -8,3 +8,6 @@ This means:
|
|||
2. Content can correctly be tagged with the language code, to enable screenreaders and other accessibility providers to render/speak the text in the correct language.
|
||||
|
||||
The [[patch]] is currently being used on http://addons.nvda-project.org and seems to work well. --[[mhameed]]
|
||||
|
||||
> I don't have commit access, but it [[seems reasonable|/users/smcv/yesplease]].
|
||||
> --[[smcv]]
|
||||
|
|
|
@ -30,6 +30,12 @@ This patch, or one like it, would enable better blogging support, by adding
|
|||
the ability to hierarchically organize blog posts and automatically generate
|
||||
structural pages for year, month, or day. Please apply. --Ethan
|
||||
|
||||
> This looks a lot like [[plugins/autoindex]], except limited to a subset
|
||||
> of pages, and with different templates according to the page it's used
|
||||
> on. Perhaps it could become several enhancements for autoindex? --[[smcv]]
|
||||
|
||||
----
|
||||
|
||||
<pre>
|
||||
Index: IkiWiki/Render.pm
|
||||
===================================================================
|
||||
|
|
|
@ -27,6 +27,17 @@ the substitution of `\[[file]]` in `diffurl` and `historyurl`?
|
|||
|
||||
>>>> Ping? --[[intrigeri]]
|
||||
|
||||
>>>> Normally, my tendency towards pedantic preservation of existing APIs
|
||||
>>>> would make me implement a new token \[[file_less_escaped]] or
|
||||
>>>> something, analogous to `%s` vs. `%S` in [[shortcuts]]; but
|
||||
>>>> gitweb and cgit are both OK with `/` not being escaped, whereas
|
||||
>>>> only gitweb allows it to be escaped as `%2F`, so I think your
|
||||
>>>> solution is fine. Also, it would need a much better name than
|
||||
>>>> \[[file_less_escaped]], and I can't think of one.
|
||||
>>>>
|
||||
>>>> I don't have commit access to ikiwiki.info, but if I did,
|
||||
>>>> [[I'd merge this|/users/smcv/yesplease]]. --[[smcv]]
|
||||
|
||||
[[wishlist]]
|
||||
|
||||
[[!tag patch]]
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
I'm sysadmin at a german university.
|
||||
|
||||
I'm using ikiwiki as personal wiki at work and at home.
|
|
@ -7,4 +7,4 @@ My repository containing ikiwiki branches:
|
|||
* gitweb: http://git.pseudorandom.co.uk/smcv/ikiwiki.git
|
||||
* anongit: git://git.pseudorandom.co.uk/git/smcv/ikiwiki.git
|
||||
|
||||
Currently thinking about a [[users/smcv/gallery]] plugin.
|
||||
Recently tried to [[help with the review backlog|yesplease]].
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
A tag for patches that I would merge if I had commit access to ikiwiki,
|
||||
in the hope that it's a useful shortlist for committers to look at.
|
||||
They're mirrored in my git repository under the `ready/*` namespace.
|
||||
|
||||
[[!inline pages="(todo/* or bugs/*) and link(patch) and !link(bugs/done) and
|
||||
!link(todo/done) and link(users/smcv/yesplease) and !*/Discussion"
|
||||
archive="yes"]]
|
Loading…
Reference in New Issue