| Commit message (Expand) | Author | Age |
... | |
* | | audited use POSIX•••The POSIX perl module exports a huge number of functions by default, so
make sure all imports are qualified. (And remove one that was not
necessary.)
| Joey Hess | 2010-03-19 |
* | | add Makefile to exclude example | Joey Hess | 2010-03-17 |
* | | set exclude example to match *.private and improve its description | Joey Hess | 2010-03-17 |
* | | slight optimisation to file_pruned•••Precompile the regexp, rather than rebuilding on every call.
| Joey Hess | 2010-03-14 |
* | | Add a include setting, which can be used to make ikiwiki process wiki source ... | Joey Hess | 2010-03-14 |
* | | Improve openid url munging; do not display anchors and cgi parameters, as use... | Joey Hess | 2010-03-13 |
* | | Add new --clean option; this makes ikiwiki remove all built files in the dest... | Joey Hess | 2010-02-28 |
* | | Loosen regexp, to allow empty quoted parameters in directives. | Joey Hess | 2010-02-26 |
* | | add ngettext support & optimize gettext handling•••As I was adding ngettext support, I realized I could optimize the gettext
functions by memoizing the creation of the gettext object. Note that
the object creation is still deferred until a gettext function is called,
to avoid unnecessary startup penalties on code paths that do not need
gettext.
A side benefit is that separate stub functions are no longer needed to
handle the C language case.
| Joey Hess | 2010-02-14 |
* | | Allow globs to be used in user() pagespecs. | Joey Hess | 2010-02-11 |
* | | httpauth: Add httpauth_pagespec setting that can be used to limit pages to on... | Joey Hess | 2010-02-11 |
* | | update comment re openid library version | Joey Hess | 2010-02-06 |
* | | factor out a userpage function•••Not yet exported, as only 4 quite core plugins use it.
| Joey Hess | 2010-02-04 |
* | | remove userlink()•••That was dead code; changes to lockedit and recentchanges removed the last
callers.
| Joey Hess | 2010-02-04 |
|/ |
|
* | fix typo•••This was probably not noticed because it only results in a warning, and in
the checkcontent diff having some unchanged lines in it.
| Joey Hess | 2009-12-14 |
* | fix bestlink to not return just-deleted pages•••bestlink was looking at whether %links existed for a page in order to tell
if the page exists, but just-deleted pages still have entries in there (for
reasons it may be best not to explore). So bestlink would return
just-deleted pages. Instead, make bestlink use %pagesources.
Also, when finding a deleted page, %pagecase was not cleared of that page.
This, again, made bestlink return just-deleted pages. Now that is cleared.
Fixing bestlink exposed another issue though. The backlink calculation code
uses bestlink. So when a page was deleted, no backlinks to it are found,
and pages that really did backlink to it were not updated, and had broken
links.
To fix that, the code that actually removes deleted pages had to be split
out from find_del_files, so it can run a bit later. It is run just after
backlinks are calculated. This way, backlink calculation still sees the
deleted pages, but everything afterwards does not.
However, it does not address the original bug report that started this
whole thing, [[bugs/bestlink_returns_deleted_pages]]. Because there
bestlink is run in the needsbuild hook. And that happens before backlink
calculation, and so bestlink still returns deleted pages then. Also in the
scan hook.
If bestlink needs to work consistently during those hooks, a more involved
fix will be needed.
| Joey Hess | 2009-11-30 |
* | calendar: Add title attributes for all links in the calendars. | Joey Hess | 2009-11-26 |
* | htmllink: allow a title attribute to be specified | Joey Hess | 2009-11-26 |
* | remove debugging and cruft | Joey Hess | 2009-10-13 |
* | influence blocker implementation•••This avoids unnecessary influences being recorded from pagespecs
such as "link(done) and bugs/*", when a page cannot ever possibly
match.
A pagespec term that returns a value without influence is an influence
blocker. If such a blocker has a false value (possibly due to being
negated) and is ANDed with another term, it blocks that term's influence
from propigating out.
If the term is ORed, or has a true value, it does not block influence.
(Consider "link(done) or bugs/*" and "link(done) and !nosuchpage")
In the implementation in merge_influence, I had to be careful to never
negate $this or $other when testing if they are an influence blocker,
since negation mutates the object. Thus the slightly weird if statement.
| Joey Hess | 2009-10-13 |
* | match_link: dynamic influence needed for page that currently has no links | Joey Hess | 2009-10-13 |
* | add_depends: optimise influence calculation•••I made match_* functions whose influences can vary depending on the page
matched set a special "" influence to indicate this.
Then add_depends can try just one page, and if static influences are found,
stop there.
| Joey Hess | 2009-10-09 |
* | rework influence calculation•••Thought of a cleaner way to accumulate all influences in
pagespec_match_list, using the pagespec_match result object as an
accumulator.
(This also accumulates all influences from failed matches, rather than just
one failed match. I'm not sure if the old method was correct.)
| Joey Hess | 2009-10-09 |
* | fix pagespec_match_list handling of list parameter | Joey Hess | 2009-10-09 |
* | pagespec_match_list: change limit to filter | Joey Hess | 2009-10-09 |
* | pagespec_match_list allow additional pagespec limit parameters again | Joey Hess | 2009-10-09 |
* | conditional: use yesno | Joey Hess | 2009-10-09 |
* | rename use_pagespec to pagespec_match_list•••To avoid breaking plugins, also support the old pagespec_match_list
calling convention, with a deprecation warning.
| Joey Hess | 2009-10-08 |
* | Merge branch 'master' into dependency-types•••Conflicts:
IkiWiki.pm
IkiWiki/Render.pm
debian/changelog
| Joey Hess | 2009-10-08 |
|\ |
|
| * | Optimize away most expensive file prune calls, when refreshing•••Benchmarking refresh of a a wiki with 25 thousand pages showed
file_pruned() using most of the time. But, when refreshing, ikiwiki already
knows about nearly all the files. So we can skip calling file_pruned() for
those it knows about. While tricky to do, this sped up a refresh (that
otherwise does no work) by 10-50%.
| Joey Hess | 2009-10-08 |
* | | use_pagespec: do not fail with error when unable to match, unless it fails•••with an ErrorReason
| Joey Hess | 2009-10-08 |
* | | add use_pagespec and deptype functions | Joey Hess | 2009-10-08 |
* | | fix handling of influences of pagespecs that fail to match•••If a pagespec fails to match, I had been throwing the influences away, but
that is not right. Consider `backlink(foo)`, where foo does not exist.
It still needs to be added as an influence, because if it is created, it
will influence the pagespec to match.
But with that fix, `link(bar)` had as influences all pages, whether they
link to bar or not. Which is not necessary, because modifiying a page to
add a link to bar will directly cause the pagespec to match.
So, in match_link (and all the match_* functions for page metadata),
only return an influence if the match succeeds.
match_backlink had been implemented as the inverse of match_link, but that
is no longer completly true. While match_link does not return an influence
on failure, match_backlink does.
match_created_before/after also return the influence on failure, this way
if created_after(foo) currently fails because foo does not exist, it will
still update the page with the pagespec if foo is created.
| Joey Hess | 2009-10-08 |
* | | bugfix | Joey Hess | 2009-10-07 |
* | | add type info to influence information | Joey Hess | 2009-10-07 |
* | | convert add_depends to use influences•••No more horrible special-case pagespec parsing.
OTOH, matching over all pages to determine influences is a lot of work.
| Joey Hess | 2009-10-07 |
* | | add influence info to match_*•••Also update docs, test suite.
| Joey Hess | 2009-10-07 |
* | | make success and failreason objects carry an influences hash•••The hash will be used used to record a set of pages that influenced the
result of a pagespec match.
The influences are merged together when boolean and/or are encountered
in a pagespec. That means using a non-short-circuiting OR operator. And
so I use & and | when translating pagespecs, since those bitwise operators
can be overloaded. ("and" and "or" cannot, apparently).
| Joey Hess | 2009-10-07 |
* | | add_depends should default to content dependencies if unknown type specified | Joey Hess | 2009-10-06 |
* | | oops!! | Joey Hess | 2009-10-06 |
* | | support backlink() in pagespecs for links dependencies | Joey Hess | 2009-10-06 |
* | | implement links dependencies•••Involved some code refactoring so that same code that detects
link changes for backlinks updating can be used for link dependency
checking. The nice thing is that link dep checking is thus
comopletly free!
| Joey Hess | 2009-10-05 |
* | | add test suite for add_depends•••and found a bug in my bitmath..
| Joey Hess | 2009-10-04 |
* | | Merge branch 'master' into dependency-types | Joey Hess | 2009-10-04 |
|\| |
|
| * | remove /i from regexp•••Nothing case-oriented going on in here.
| Joey Hess | 2009-10-04 |
* | | rework dependency types code•••Simplify, change default content depends number to 1,
change interface to make more sense.
| Joey Hess | 2009-10-04 |
* | | expand the set of things that can be matched contentless | Joey Hess | 2009-10-04 |
* | | optimise add_depends for simple pagespecs•••We don't need to check if the pagespec is contentless; all simple ones are.
| Joey Hess | 2009-10-04 |
* | | detect pagespecs that require content dependencies•••When adding a contentless dependency, the pagespec also needs to be one
that does not look at any page content information.
As a first approximation of that, only allow glob-based pagespecs in
contentless dependencies. While there are probably a few other types of
pagespecs that can match contentless, this will work for most of them.
| Joey Hess | 2009-10-04 |
* | | add dependency type parameters to add_depends•••Dependency types are represented by bits in the values of the %depends
and %depends_simple hashes.
Change the dependslist array saved to the index to a depends hash.
depends_simple is also converted from an array to a hash.
Note that the depends field used to be a string, and we still
have compat code to handle upgrades from that, as well as from the arrays.
I didn't use ikiwiki-transition because I don't want ikiwiki to break if
users forget to run it; also we're going to recommend a full rebuild on
upgrade to this version to get the improved dependency handling. So
this compat code can be removed or moved to ikiwiki-transition later.
| Joey Hess | 2009-10-03 |
|/ |
|