| Commit message (Expand) | Author | Age |
* | Avoid %links accumulating duplicates. (For TOVA)•••This is sorta an optimisation, and sorta a bug fix. In one
test case I have available, it can speed a page build up from 3
minutes to 3 seconds.
The root of the problem is that $links{$page} contains arrays of
links, rather than hashes of links. And when a link is found,
it is just pushed onto the array, without checking for dups.
Now, the array is emptied before scanning a page, so there
should not be a lot of opportunity for lots of duplicate links
to pile up in it. But, in some cases, they can, and if there
are hundreds of duplicate links in the array, then scanning it
for matching links, as match_link and some other code does,
becomes much more expensive than it needs to be.
Perhaps the real right fix would be to change the data structure
to a hash. But, the list of links is never accessed like that,
you always want to iterate through it.
I also looked at deduping the list in saveindex, but that does
a lot of unnecessary work, and doesn't completly solve the problem.
So, finally, I decided to add an add_link function that handles deduping,
and make ikiwiki-transition remove the old dup links.
| Joey Hess | 2009-05-06 |
* | rename tag() to tagged(); add docs | Joey Hess | 2009-02-19 |
* | add tag() pagespec•••patch from jon
| Joey Hess | 2009-02-19 |
* | finalise version 3.00 of the plugin api | Joey Hess | 2008-12-23 |
* | Coding style change: Remove explcit vim folding markers. | Joey Hess | 2008-12-17 |
* | remove redundant link munge•••This is not needed now that tagpage returns a page name starting with a
slash.
(Also fixes a minor bug that the edit links started with double slashes due
to the hack.)
| Joey Hess | 2008-11-10 |
* | tag: Normalize tagbase so leading/trailing slashes in it don't break things. | Joey Hess | 2008-11-10 |
* | tag: When tagpage is set, force the links created by tagging to point at the ...•••The html links already went there, but internally the links were not
recorded as absolute, which could cause confusing backlinks etc.
For example, with tagbase=tags, if blog/tags/bar existed and blog/foo was
tagged bar, it would link to /tags/bar. But, the link would be recorded
simply as a link to tags/bar, and so later blog/tags/bar would appear to
have the backlink.
| Joey Hess | 2008-10-20 |
* | Export pagetitle, titlepage, linkpage. | Joey Hess | 2008-09-27 |
* | tag: Make edit link for new tags ensure that the tags are created inside tagb... | Joey Hess | 2008-09-25 |
* | add plugin safe/rebuild info (part 3 of 3) | Joey Hess | 2008-08-03 |
* | remove default values in getsetup•••They were a bit confusing, since they did not actually set the default, and
example values are sufficient.
| Joey Hess | 2008-07-26 |
* | finish adding getsetup hooks to plugins | Joey Hess | 2008-07-26 |
* | Don't prepend tagbase to tags if they start with "./" or "/".•••That syntax made little sense previously, and this allows sites to put
"most" of their tags under $tagbase.
| Simon McVittie | 2008-07-21 |
* | patch from madduck to fix thinko | joey | 2007-09-24 |
* | make taglink support the same method for specifying link text as a regular•••wikilink
| joey | 2007-09-22 |
* | * Add taglink preprocessor directive, supporting visible tag links.••• Closes: #443344
| joey | 2007-09-20 |
* | * Add rel=tag attribute to tag links, supporting that microformat, as well••• as allowing them to be styled specially. Thanks, NicolasLimare.
| joey | 2007-08-05 |
* | * pagespec_match() has changed to take named parameters, to better allow••• for extended pagespecs. The old calling convention will still work for
back-compat for now.
* The calling convention for functions in the IkiWiki::PageSpec namespace
has changed so they are passed named parameters.
* Plugin interface version increased to 2.00 since I don't anticipate any
more interface changes before 2.0.
| joey | 2007-04-27 |
* | * Fix tags to page names that contain special characters. | joey | 2007-04-04 |
* | deal with new preview parameter | joey | 2007-03-07 |
* | * Allow multiple tag settings to appear in a single page. | joey | 2007-02-14 |
* | * Fix missing categories in rss/atom feeds. | joey | 2007-01-14 |
* | * Make sure to check for errors from every eval. | joey | 2006-11-08 |
* | instead of over and over. Typical speedup is ~4x. Max possible speedup:••• 8x.
* Add "scan" parameter to hook(), which is used to make the hook be called
during the scanning pass, as well as the render pass. The meta and tag
plugins need to use the new scan parameter, so will any others that modify
%links.
* Now that links are calculated in a separate pass, it can also
precalculate backlinks in one pass, which is O(N^2) instead of the
previous code that was O(N^3). A very nice speedup for wikis with lots
(thousands) of pages.
| joey | 2006-10-28 |
* | * Work on firming up the plugin interface:••• - Plugins should not need to load IkiWiki::Render to get commonly
used functions, so moved some functions from there to IkiWiki.
- Picked out the set of functions and variables that most plugins
use, documented them, and made IkiWiki export them by default,
like a proper perl module should.
- Use the other functions at your own risk.
- This is not quite complete, I still have to decide whether to
export some other things.
* Changed all plugins included in ikiwiki to not use "IkiWiki::" when
referring to stuff now exported by the IkiWiki module.
* Anyone with a third-party ikiwiki plugin is strongly enrouraged
to make like changes to it and avoid use of non-exported symboles from
"IkiWiki::".
* Link debian/changelog and debian/news to NEWS and CHANGELOG.
* Support hyperestradier version 1.4.2, which adds a new required phraseform
setting.
| joey | 2006-09-09 |
* | fix title metadata on blogs, reorg needed to do it, simplified tag some | joey | 2006-07-31 |
* | * Put categories in rss feeds for tagged items. | joey | 2006-07-29 |
* | * Add exclude option in setup files, works same as --exclude. | joey | 2006-07-28 |
* | * Add getopt hook type, this allows plugins to add new command-line options.•••* Add --tagbase option to tag plugin.
| joey | 2006-07-28 |
* | Hope encrico doesn't mind, but I changed the location and layout of the•••tags on the templates. This way seems to fit better with the links. Also
some css cleanup, avoid hardcoded <i> etc.
| joey | 2006-07-28 |
* | more destpage improvements | joey | 2006-07-27 |
* | * Switch pagetemplate hooks to using named parameters.•••* Pass a "destpage" parameter to preprocessor and pagetemplate hooks.
This will be the page that a source page will be part of, which is
different than the source page for inlined pages.
* Audited all plugins to endure they pass page, destpage to htmllink
appropriatly. This means inlining of various plugins will not work
properly, with correct links generated.
| joey | 2006-07-27 |
* | - Adds a tag plugin that allows more easily tagging pages.••• The meta plugin can also still be used for that, but the tag plugin
also lists a page's tags at the bottom of the page.
- Allows preprocessor directives to have parameters with no specified
value.
- Fixes preprocessor directive parameter parsing so that
foo=bar baz now means "foo=bar" and a "baz" with no value.
* Run pagetemplate hooks when inlining pages so that inlines pages also
list their tags.
* Make all plugins with pagetemplate hooks check that variables exist
on the template before setting them.
| joey | 2006-07-27 |
* | * Patch from Enrico that••• - allows preprocessor directives to have parameters with no specified
value
- fixes preprocessor directive parameter parsing so that
foo=bar baz now means "foo=bar" and a "baz" with no value
- Add a tag plugin that allows more easily tagging pages.
The meta plugin can also still be used for this.
| joey | 2006-07-27 |