summaryrefslogtreecommitdiff
path: root/IkiWiki.pm
AgeCommit message (Collapse)Author
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.
2007-11-27* Add umask configuration option. Closes: #443329Joey Hess
2007-11-17* Don't consider links to anchors on the same page to be self links.Joey Hess
Patch by Daniel Burrows. Closes: #451729 * When usedirs is disabled, link direct to index.html files, not to directories, to improve browsing of file:// urls. Patch by Daniel Burrows. Closes: #451728
2007-11-17need to remove trailing slashes in not one, but 2 placesJoey Hess
htmllink needs to do it because it uses the basename of the link as the link text bestlink needs to do it because it is not always called from htmllink
2007-11-17* Allow trailing slashes after page names in wikilinks.Joey Hess
2007-11-13* inline: Add timeformat parameter to control how the ctime ofJoey Hess
inlined pages is displayed. Closes: #451019
2007-10-13* Add a "createlink" class attribute to the span for wikilinks pointingjoey
to not-yet-existing pages. I don't have a useful style defined for that though.
2007-10-10clear hashes in loadindex, so that it can safely be called more than oncejoey
even if pages have been deleted in between
2007-09-24* Don't allow whitespace in link text in a wikilink. This was stilljoey
allowed by the regexp in one case though not documented to work, and was ambiguous with preprocessor directives.
2007-09-22improve diagnosticsjoey
2007-09-22* map: Render pages on the way to subpages whose parent pagesjoey
are not included in the map. Include special styling for such pages. * map: Remove common prefixes and don't over-indent. * Add class option to htmllink().
2007-09-05* table: Text::CSV doesn't return decoded unicode (XS module); decode itsjoey
return values.
2007-08-28fixjoey