aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki
Commit message (Collapse)AuthorAge
* store state to avoid needing to rebuild when changing themeJoey Hess2010-06-18
|
* needsbuild hook is passed an array refJoey Hess2010-06-18
|
* avoid shellingJoey Hess2010-06-18
|
* mercurial: Fix buggy getctime code.Joey Hess2010-06-18
| | | | | | | The file passed to rcs_getctime is already absolute, and it was trying to stick the srcdir on the front. Also, eliminated potentially unsafe shelling.
* avoid dying if cannot chdir to an underlaydirJoey Hess2010-06-17
|
* Merge branch 'themes'Joey Hess2010-06-16
|\
| * force rebuild for theme changeJoey Hess2010-06-16
| | | | | | | | | | | | For now, a rebuild is the only way to ensure the changed theme is used. Ikiwiki normally will not realize style.css has changed, since themes tend to have the same timestamp for the file.
| * add theme pluginJoey Hess2010-06-16
| |
| * Encode not usedJoey Hess2010-06-16
| |
* | force list contextJoey Hess2010-06-16
|/ | | | run_or_die returns a status code in scalar context
* attachment: Support Windows paths when taking basename of client-supplied ↵Joey Hess2010-06-16
| | | | file name.
* git: Gix --gettime to properly support utf8 filenames.Joey Hess2010-06-15
| | | | | In passing, fixed a bug where the srcdir was in a subdir of a repository named "0".
* Make --gettime be honored after initial setup.Joey Hess2010-06-15
| | | | Bugfix in passing: New files not treated as such when no rcs is used.
* fix other cases of unicode mixing issueJoey Hess2010-06-15
|\ | | | | | | and fix underlaydir override attack guard when srcdir is non-absolute
| * Fix issues with combining unicode srcdirs and source files.Joey Hess2010-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A short story: Once there was a unicode string, let's call him Srcdir. Along came a crufy old File::Find, who went through a tree and pasted each of the leaves in turn onto Srcdir. But this 90's relic didn't decode the leaves -- despite some of them using unicode! Poor Srcdir, with these leaves stuck on him, tainted them with his nice unicode-ness. They didn't look like leaves at all, but instead garbage. (In other words, perl's unicode support sucks mightily, and drives us all to drink and bad storytelling. But we knew that..) So, srcdir is not normally flagged as unicode, because typically it's pure ascii. And in that case, things work ok; File::Find finds filenames, which are not yet decoded to unicode, and appends them to the srcdir, and then decode_utf8 happily converts the whole thing. But, if the srcdir does contain utf8 characters, that breaks. Or, if a Yaml setup file is used, Yaml::Syck's implicitunicode sets the unicode flag of *all* strings, even those containing only ascii. In either case, srcdir has the unicode flag set; a non-decoded filename is appended, and the flag remains set; and decode_utf8 sees the flag and does *nothing*. The result is that the filename is not decoded, so looks valid and gets skipped. File::Find only sticks the directory and filenames together in no_chdir mode .. but we need that mode for security. In order to retain the security, and avoid the problem, I made it not pass srcdir to File::Find. Instead, chdir to the srcdir, and pass ".". Since "." is ascii, the problem is avoided. Note that chdir srcdir is safe because we check for symlinks in the srcdir path. Note that it takes care to chdir back to the starting location. Because the user may have specified relative paths and so staying in the srcdir might break. A relative path could even be specifed for an underlay dir, so it chdirs back after each.
* | Fix issues with combining unicode srcdirs and source files.Joey Hess2010-06-15
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A short story: Once there was a unicode string, let's call him Srcdir. Along came a crufy old File::Find, who went through a tree and pasted each of the leaves in turn onto Srcdir. But this 90's relic didn't decode the leaves -- despite some of them using unicode! Poor Srcdir, with these leaves stuck on him, tainted them with his nice unicode-ness. They didn't look like leaves at all, but instead garbage. In other words, perl's unicode support sucks mightily, and drives us all to drink and bad storytelling. But we knew that.. So, srcdir is not normally flagged as unicode, because typically it's pure ascii. And in that case, things work ok; File::Find finds filenames, which are not yet decoded to unicode, and appends them to the srcdir, and then decode_utf8 happily converts the whole thing. But, if the srcdir does contain utf8 characters, that breaks. Or, if a Yaml setup file is used, Yaml::Syck's implicitunicode sets the unicode flag of *all* strings, even those containing only ascii. In either case, srcdir has the unicode flag set; a non-decoded filename is appended, and decode_utf8 sees the flag and does *nothing*. The result is that the filename is not decoded, so looks valid and gets skipped. File::Find only sticks the directory and filenames together in no_chdir mode .. but we need that mode for security. In order to retain the security, and avoid the problem, I made it not pass srcdir to File::Find. Instead, chdir to the srcdir, and pass ".". Since "." is ascii, the problem is avoided. Note that it takes care to chdir back to the starting location. Because the user may have specified relative paths and so staying in the srcdir might break. A relative path could even be specifed for an underlay dir, so it chdirs back after each.
* calendar: Tune archive_pagespec to only match pages, not other files.Joey Hess2010-06-15
|
* editpage, comments: Fix broken links in sidebar (due to forcebaseurl). ↵Joey Hess2010-06-14
| | | | (Thanks, privat)
* more symetric enable/disableJoey Hess2010-06-13
| | | | | | Removing a plugin from add_plugins is not always enough to disable it. It may have been redundantly added there and also pulled in via goodstuff. Always add didabled plugins to disable_plugins.
* websetup: Allow enabling plugins listed in disable_plugins.Joey Hess2010-06-13
| | | | | | | | The bug here was that disabling a plugin included thru goodstuff, like htmlscrubber, caused it to be added to disable_plugins, and those plugins were never loaded, so could not be re-enabled. Fix by allowing them to be force loaded when appropriate. (Also that allows disabled plugins to still record their setup options when dumping a setup file.)
* attachment: When inserting links, insert img directives for images, if that ↵Joey Hess2010-06-12
| | | | plugin is enabled.
* avoid ugly warning if size="" is specifiedJoey Hess2010-06-12
|
* edittemplate: Look for template pages under templates/ like everything else ↵Joey Hess2010-06-12
| | | | (still looks in old location for backwards compatability).
* edittemplate: Make silent mode not disable display when the template page ↵Joey Hess2010-06-12
| | | | does not exist, so it can be easily created.
* editpage: Rename "comments" field to avoid CSS conflict with the comments div.Joey Hess2010-06-12
|
* img: Support hspace and vspace attributes.Joey Hess2010-06-12
|
* attachment: Show files from underlay in attachments list.Joey Hess2010-06-12
| | | | | While those files cannot be removed or renamed, this allows easy downloading of them, and a new version can after all be uploaded.
* realm is an url patternJoey Hess2010-06-11
|
* openid: Add openid_realm and openid_cgiurl configuration options, useful in ↵Joey Hess2010-06-11
| | | | a few edge case setups.
* calendar stylingJoey Hess2010-06-10
| | | | | | * calendar: Shorten day names, and improve styling of month calendar. * style.css: Reduced sidebar width back to 20ex from 30; the month calendar will now fit in the smaller width, and 30 was feeling too large.
* let's allow comments of "0"Joey Hess2010-06-09
|
* editpage: Avoid storing accidental state changes when previewing pages.Joey Hess2010-06-09
| | | | | This is a slow, safe, stupid approach. Could make deep copies of the data structures as backups instead of re-loading the index from disk.
* improve preview mode commentsJoey Hess2010-06-09
|
* Fix display of sidebar when previewing page edit. (Thanks, privat)Joey Hess2010-06-09
| | | | | On second thought, only display a page's personal sidebar when previewing it, not when editing normally.
* relativedate: Fix problem with localised dates not working.Joey Hess2010-06-09
|
* When editing a page, show that page's sidebar. (Thanks, privat)Joey Hess2010-06-09
|
* img: Fill in missing height or width when scaling image.Joey Hess2010-06-08
|
* fix uninitalized value warningJoey Hess2010-05-21
|
* disable warnings when evaling setup filesJoey Hess2010-05-21
| | | | | | | In particular, perl warns if a qw{} contains a #, but openids can. If the setup file has 'use warnings', it will turn warning messages back on, so it seems reasonable to squelch them by default.
* Fix a typo in the last release.Joey Hess2010-05-18
|
* simplify exampleJoey Hess2010-05-18
| | | | | | I've seen user(http://*) confuse someone who didn't know pagespecs to think that just http://* would moderate all comments to every page, or something like that.
* Fix a bug that prevented matching deleted comments, and so did not update ↵Joey Hess2010-05-18
| | | | | | | | | | | | | | pages that had contained them. Problem is that by the time rendering calls render_dependent, %pagesources has had deleted files removed from it. So match_comment's lookup of files in there to see if they had the _comment extension failed. I had to introduce a hash that temporarily holds filenames of deleted pages to fix this. Note that unlike comment(), internal() had avoided this pitfall by being defined to match both internal and non-internal pages.
* force scalar contextJoey Hess2010-05-17
|
* fix typoJoey Hess2010-05-15
|
* Revert "avoid showing comment post stuff on dynamic pages"Joey Hess2010-05-15
| | | | | | | This reverts commit 4a6d5330e5b9554f1bd25b9025dd96200c6519c7. That was too ugly, the DYNAMIC test on page.tmpl will avoid the problem anyway -- just needs to be added.
* avoid showing comment post stuff on dynamic pagesJoey Hess2010-05-15
| | | | | | | If the site is configured to allow comments on *, then the comment post interface was being added to cgi pages like signin and prefs. This fixes it w/o requiring more page.tmpl changes. The pagetemplate hook is called by misctemplate with an empty page name for dynamic pages.
* allow misctemplate callers to pass params to suppress actions etcJoey Hess2010-05-14
| | | | | Suppress disiplay of small search for on search results page, and of Prefrences link on prefs page.
* avoid showing redundant search box on search results pageJoey Hess2010-05-14
|
* better misctemplate splitting sequenceJoey Hess2010-05-14
|
* put back recentchangesurlJoey Hess2010-05-14
| | | | | | On second thought, misctemplate can use pagetemplate hooks to provide it, so it's better to keep back-compat, and allow full customisation of how it's displayed via the template.