aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki.pm
Commit message (Collapse)AuthorAge
...
* | | | | | improved fix for depends_simple_mixupJoey Hess2010-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid adding the page matched against as an influence for currently failing pagespec matches, while still adding any other influences. This avoids bloating depends_simple with lots of bogus influences when matching eg, "!link(done)". It's only necessary for the page being tested to be an influence of that if the page matches.
* | | | | | indentJoey Hess2010-04-21
| |_|_|_|/ |/| | | |
* | | | | add missing undef guard in derelJoey Hess2010-04-21
| |_|_|/ |/| | |
* | | | layoutJoey Hess2010-04-21
| | | |
* | | | Always give createlink class to links to nonexistent pagesGiuseppe Bilotta2010-04-21
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | With this change, the <span> with class createlink is always created around the link text, even when no CGI URL is defined. This allows styling of these 'links' in this case too. The same class is used as when CGI URL is defined so that e.g. clones of the same ikiwiki, one with CGI and one without, display in the same way (modulo the missing question mark link). (cherry picked from commit 290d1b498f00f63e6d41218ddb76d87e68ed5081)
* | | remove 2 argument form of file_prunedJoey Hess2010-04-20
| | |
* | | unfinished file_prune revampJoey Hess2010-04-17
|/ / | | | | | | | | | | | | | | | | Many calls to file_prune were incorrectly calling it with 2 parameters. In cases where the filename being checked is relative to the srcdir, that is not needed. Made absolute filenames be pruned. (This won't work for the 2 parameter call style.)
* | automatically run --gettime, and optimise it for gitJoey Hess2010-04-16
| | | | | | | | | | | | | | | | | | | | * Automatically run --gettime the first time ikiwiki is run on a given srcdir. * Optimise --gettime for git, so it's appropriatly screamingly fast. (This could be done for other backends too.) * However, --gettime for git no longer follows renames. * Use above to fix up timestamps on docwiki, as well as ensure that timestamps on basewiki files shipped in the deb are sane.
* | --gettime revampJoey Hess2010-04-16
| | | | | | | | | | | | | | | | * Rename --getctime to --gettime. (The old name still works for backwards compatability.) * --gettime now also looks up last modification time. * Add rcs_getmtime to plugin API; currently only implemented for git.
* | refactor sortspec translationJoey Hess2010-04-12
| |
* | optimization: pagespec_match_list with no num limit matches before sortingJoey Hess2010-04-11
| | | | | | | | | | | | This can be a lot faster, since huge numbers of pages are not sorted only to mostly be thrown away. It sped up a build of my blog by at least 5 minutes.
* | minor style etc changesJoey Hess2010-04-06
| |
* | Merge remote branch 'smcv/ready/sort-package'Joey Hess2010-04-06
|\ \ | | | | | | | | | | | | Conflicts: debian/NEWS
| * | Use $a and $b for SortSpec cmp callbacksSimon McVittie2010-04-05
| | |
| * | Move sort hooks to the IkiWiki::SortSpec namespaceSimon McVittie2010-04-03
| | | | | | | | | | | | | | | Also rename cmpspec_translate (internal function) to sortspec_translate for consistency.
| * | Remove support for check_cmp_foo (pre-sort checks)Simon McVittie2010-04-03
| | |
| * | Split out sortnaturally into a pluginSimon McVittie2010-04-03
| | |
| * | Reimplement extensible sorting mechanisms, in the same way as pagespecsSimon McVittie2010-03-25
| | |
| * | Allow sorting to be combined and/or reversedSimon McVittie2010-03-24
| | |
| * | Allow hooks to add sorting functions to pagespec_match_listSimon McVittie2010-03-24
| | |
* | | Merge remote branch 'smcv/ready/link-types'Joey Hess2010-04-06
|\ \ \
| * | | Remove the typedlink(tag foo) pagespec feature, which is less friendly than ↵Simon McVittie2010-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | tagged() Plugins that introduce a link type should also introduce pagespec syntax for it.
| * | | implement typed links; add tagged_is_strict config optionSimon McVittie2010-04-04
| | | |
* | | | fix bug that left stray </p> tagsJoey Hess2010-04-05
|/ / / | | | | | | | | | | | | | | | | | | Both markdown and tidy add paragraph tags around text, that needs to be stripped when the text is a short, one line fragment that is being inserted into a larger page. tidy also adds several newlines to the end, and this broke removal of the paragraph tags.
* | | don't check $@ after pagespec_translateJoey Hess2010-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | pagespec_translate may set $@ if it fails to parse a pagespec, but due to memoization, this is not reliable. If a memoized call is repeated, and $@ is already set for some other reason previously, it will remain set through the call to pagespec_translate. Instead, just check if pagespec_translate returns undef.
* | | Fix incorrect influence info returned by a failing link() pagespec, that ↵Joey Hess2010-03-26
|/ / | | | | | | could lead to bad dependency handling in certian situations.
* | shorten setuptypeJoey Hess2010-03-19
| |
* | allow multiple setup file types, and support safe parsingJoey Hess2010-03-19
| | | | | | | | | | | | | | | | | | Finally removed the last hardcoding of IkiWiki::Setup::Standard. Take the first "IkiWiki::Setup::*" in the setup file to define the setuptype, and remember that type to use in dumping later. (But it can be overridden using --set, etc.) Also, support setup file types that are not evaled.
* | audited use POSIXJoey Hess2010-03-19
| | | | | | | | | | | | 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.)
* | add Makefile to exclude exampleJoey Hess2010-03-17
| |
* | set exclude example to match *.private and improve its descriptionJoey Hess2010-03-17
| |
* | slight optimisation to file_prunedJoey Hess2010-03-14
| | | | | | | | Precompile the regexp, rather than rebuilding on every call.
* | Add a include setting, which can be used to make ikiwiki process wiki source ↵Joey Hess2010-03-14
| | | | | | | | files, such as .htaccess, that would normally be skipped for security or other reasons. Closes: #447267 (Thanks to Aaron Wilson for the original patch.)
* | Improve openid url munging; do not display anchors and cgi parameters, as ↵Joey Hess2010-03-13
| | | | | | | | used by yahoo and google urls.
* | Add new --clean option; this makes ikiwiki remove all built files in the ↵Joey Hess2010-02-28
| | | | | | | | destdir, as well as wrappers and the .ikiwiki directory.
* | Loosen regexp, to allow empty quoted parameters in directives.Joey Hess2010-02-26
| |
* | add ngettext support & optimize gettext handlingJoey Hess2010-02-14
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Allow globs to be used in user() pagespecs.Joey Hess2010-02-11
| |
* | httpauth: Add httpauth_pagespec setting that can be used to limit pages to ↵Joey Hess2010-02-11
| | | | | | | | only being edited via users authed with httpauth.
* | update comment re openid library versionJoey Hess2010-02-06
| |
* | factor out a userpage functionJoey Hess2010-02-04
| | | | | | | | Not yet exported, as only 4 quite core plugins use it.
* | remove userlink()Joey Hess2010-02-04
|/ | | | | That was dead code; changes to lockedit and recentchanges removed the last callers.
* fix typoJoey Hess2009-12-14
| | | | | This was probably not noticed because it only results in a warning, and in the checkcontent diff having some unchanged lines in it.
* fix bestlink to not return just-deleted pagesJoey Hess2009-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* calendar: Add title attributes for all links in the calendars.Joey Hess2009-11-26
|
* htmllink: allow a title attribute to be specifiedJoey Hess2009-11-26
|
* remove debugging and cruftJoey Hess2009-10-13
|
* influence blocker implementationJoey Hess2009-10-13
| | | | | | | | | | | | | | | | | | 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.
* match_link: dynamic influence needed for page that currently has no linksJoey Hess2009-10-13
|
* add_depends: optimise influence calculationJoey Hess2009-10-09
| | | | | | | | 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.