summaryrefslogtreecommitdiff
path: root/IkiWiki.pm
AgeCommit message (Collapse)Author
2008-07-11whitespaceJoey Hess
2008-07-08Fix a bug with links to pages whose names contained colons.Joey Hess
So the problem is that ikiwiki would generate a relative link like href="colon:problem", which web browsers treat as being in the "colon:" uri scheme. The best fix seems to be to make url beautification fix this, by slapping a "./" in front.
2008-07-06editpage escaping fixesJoey Hess
* The editpage form now uses the raw page name, not the page title, in its 'page' cgi parameter. Using the title was ambiguous and made it impossible to tell between some pages, like "foo/bar" and "foo__47__bar", sometimes causing the wrong page to be edited. * This change means that some edit links need to be updated. Force a rebuild on upgrade to this version. * Above change also allowed really fixing escaped slashes from the blogpost form.
2008-07-02typoJoey Hess
2008-07-02factor out glob2reJoey Hess
2008-07-01better approach for cgi upload disablingJoey Hess
Make it a config setting, this way subtle load order issues don't come into play. (As much?)
2008-06-15append index.html to url generated by urlto("")Joey Hess
This special case crops up when generating the parentlink to the toplevel index page. urlto("") had been generating a link to "./" (or "../" etc) for that, which is fine, if the web server redirects that to the toplevel index.html. It's less fine if there is no web server. I actually ran into the problem first when using gopher. (Yes, yes, don't laugh.. see upcoming tip.) But it also crops up when browsing local wiki files. Of course, the index.html is stripped back off if usedirs is enabled.
2008-06-04Pass a destpage parameter to the sanitize hook.Joey Hess
Because the search plugin needed it, also because it's one of the few plugins that didn't already have it. I also considered adding it to htmlize, but I really cannot imagine caring what the destpage is when htmlizing. (I'll probably be poven wrong later.)
2008-06-04move indexing to sanitize hookJoey Hess
I think this will give better results overall. I made %IkiWiki::preprocessing accessible and used it to avoid indexing at unnecessary points.
2008-05-28Add rel=nofollow to edit links. This may prevent some spiders from pounding ↵Joey Hess
on the cgi following edit links.
2008-05-22Avoid unsightly warning message when evaling broken pagespecs.Joey Hess
Also improve error message when a pagespec fails to parse.
2008-05-15ENV can be used in the setup file to override environment variable setting, ↵Joey Hess
such as TZ or PATH.
2008-05-07Optimised file statting code when scanning for modified pages; cut the ↵Joey Hess
number of system calls in half. (Still room for improvement.)
2008-05-05avoid strange FreeBSD problemJoey Hess
<mxey> I have a weird problem with Ikiwiki on FreeBSD: When rendering this page <http://rafb.net/p/zmfROX86.html>, I get "ikiwiki.setup: Modification of a read-only value attempted at /usr/local/lib/perl5/site_perl/5.8.8/IkiWiki.pm line 1300.". And converting the constructors to not operate on the parameters directly but use lexical variables fixed it. Not sure exactly when this occurs.
2008-05-02Fix ugly display when editing a page that has vanished.Joey Hess
srcfile now has an optional second parameter to avoid it throwing an error if the source file does not exist.
2008-04-24Correct a bug in pagespec matching, where a empty pagespec matched all pages.Joey Hess
This manifested as wikis with no locked pages treating them all as locked. The bug was introduced in version 2.41. Medium urgency upload due to above fix.
2008-04-10Fix missing import of escapeHTML in userlink. (Scott Bronson)Joey Hess
2008-03-29Added a hardlink option in the setup file, useful if the source and dest are ↵Joey Hess
on the same filesystem and the wiki includes large media files, which would normally be copied, wasting time and space.
2008-03-21fix page source storingJoey Hess
This saves space, and stores the data under the right keys.
2008-03-21fix transition callJoey Hess
2008-03-21add transition code for indexdbJoey Hess
2008-03-21Changed to a binary index file, written using Storable, for speedJoey Hess
During refresh of a wiki with 800 files, loadindex was using more total time than any other function, and saveindex was also in the top ten. Rewriting them to use Storable makes them three times as fast. 0.7 seconds is saved on my laptop in profiling mode.
2008-03-21Precompile pagespecs, about 10% overall speedupJoey Hess
About 12% of ikiwiki runtime was spent in pagespec_match. It was evaling the same pagespec code over and over again. This changes pagespec_translate to return memoized, precompiled functions that can be called to match against a given pagespec. This also allows getting rid of the weird variable scoping trick that had to be in effect for pagespec_translate to be called -- the variables are now just fed into the function it returns. On my laptop, this drops build time for the docwiki from about 60 to 50 seconds.
2008-03-21improve commentJoey Hess
2008-03-17* Detect invalid pagespecs and do not merge them in add_depends,Joey Hess
as that can result in a broken merged pagespec that matches nothing.
2008-03-17* Correct bug in encoding of %pagestate keys, fixes edittemplate.Joey Hess
2008-02-24typoJoey Hess
2008-02-11* Add the linkify and scan hooks. These hooks can be used to implementJoey Hess
custom, first-class types of wikilinks. * Move standard wikilink implementation to a new wikilink plugin, which will of course be enabled by default.
2008-02-09Tighten page name regex to not allow carriage returns or line feedsJosh Triplett
2008-02-06Allow whitespace in page names.Josh Triplett
Spaces in page names map to underscores in file names. Newlines and tabs follow ikiwiki's usual filename escaping rules: __10__ and __9__.
2008-02-05Merge branch 'master' into prefix-directivesJoey Hess
2008-02-04* inline: Add new `allowrss` and `allowatom` config options. These can beJoey Hess
used if you want a wiki that doesn't default to generating rss or atom feeds, but that does allow them to be turned on for specific blogs.
2008-02-03clear %pagestate in loadindexJoey Hess
This is to handle the case where loadindex is called multiple times in one run, as when aggregating.
2008-01-30move openiduser function to the openid pluginJoey Hess
2008-01-29* meta: Add pagespec functions to match against title, author, authorurl,Joey Hess
license, and copyright. This can be used to create custom RecentChanges. * meta: To support the pagespec functions, metadata about pages has to be retained as pagestate. * Fix encoding bug when pagestate values contained spaces.
2008-01-29improve support for internal pagesJoey Hess
This makes it a lot quicker to deal with lots of recentchanges pages appearing and disappearing. It avoids needing to clutter up pagespecs with exclusions for those pages, by making normal pagespecs not match them.
2008-01-29non-tabular recentchanges displayJoey Hess
Doesn't look as good as the old table, but works as a rss feed.
2008-01-29* Removed support for sending commit notification mails. Along with it wentJoey Hess
the svnrepo and notify settings, though both will be ignored if left in setup files.
2008-01-28only linkify openids in userlinkJoey Hess
Can't use htmllink in userlink due to it being called from recentchanges in cases where there is no configured url. It seems easist, at least for now, to not linkify user names in this case. I don't think I've ever clicked on such a link anyway. Might revisit this later.
2008-01-28move userlink to IkiWiki.pmJoey Hess
I have a plugin that needs to use userlink.
2008-01-27Add new preprocessor directive syntax¸ using a '!' prefix.Josh Triplett
Add a prefix_directives option to the setup file to turn this syntax on; currently defaults to false, for backward compatibility. Support optional '!' prefix even with prefix_directives off, and use that in the underlay to support either setting of prefix_directives. Add NEWS entry with migration information.
2008-01-09fixJoey Hess
2008-01-09not only markdown adds gunk, so remove it in the main htmlize functionJoey Hess
2008-01-09Call preprocessor hooks in void context during the scan pass.Joey Hess
This allows the hook to determine if it's just scanning, and avoid expensive operations.
2007-12-17further improve the .. regexpJoey Hess
2007-12-17* Don't refuse to render files with ".." in their name. (Anchor the regexp.)Joey Hess
2007-12-12 * Allow dashes in preprocessor directive commands, and shortcuts.Joey Hess
2007-12-10* Fix file pruning code to work if ikiwiki is run with "." as the srcdir.Joey Hess
2007-12-08bug fixJoey Hess
2007-12-08* Finally implemented a simple per-page data storage mechanism for plugins,Joey Hess
via the %pagestate hash. * Use pagestate in meta to detect potential redir loops.