aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki
Commit message (Collapse)AuthorAge
* Don't memoize ensure_committerSimon McVittie2015-11-30
| | | | | This makes it harder to test, and if we're invoking git anyway, a couple of extra subprocesses are no big deal.
* git: if no committer identity is known, set it to "IkiWiki <ikiwiki.info>" ↵Simon McVittie2015-11-30
| | | | | | | in .git/config This resolves commit errors in versions of git that require a non-trivial committer identity.
* emailauth: Added emailauth_sender config.Joey Hess2015-10-02
|
* Fix [[!meta name=foo]] by closing the open quote.Amitai Schlair2015-08-22
|
* Squelch regex deprecation warnings from Perl 5.22.Amitai Schlair2015-06-14
| | | | | | Specifically: "Unescaped left brace in regex is deprecated, passed through in regex"
* img: stop ImageMagick trying to be clever if filenames contain a colonSimon McVittie2015-06-13
| | | | | | | | | | $im->Read() takes a filename-like argument with several sets of special syntax. Most of the possible metacharacters are escaped by the default `wiki_file_chars` (and in any case not particularly disruptive), but the colon ":" is not. It seems the way to force ImageMagick to treat colons within the filename as literal is to prepend a colon, so do that.
* inline: change default sort order from age to "age title" for determinismSimon McVittie2015-06-13
|
* polygen: if deterministic build is requested, use a well-known random seedSimon McVittie2015-06-09
|
* haiku: if deterministic build is requested, return a hard-coded haikuSimon McVittie2015-06-09
|
* Sort backlinks deterministically, by falling back to sorting by href if the ↵Simon McVittie2015-06-09
| | | | link text is identical
* brokenlinks: sort the pages that link to the missing page, for better ↵Simon McVittie2015-06-09
| | | | reproducibility
* Populate pagectime from mtime or inode change time, whichever is olderSimon McVittie2015-06-09
| | | | | | | | | | | | When building ikiwiki from a tarball, the mtime (conceptually, the last modification date of the file) is preserved by tar, but the inode change time (creation/metadata-change date of *this copy* of the file) is not. This seems to lead to unstable sort ordering and unreproducible builds. The page can't possibly have been modified before it was created, so we can assume that the modification date is an upper bound for the creation date.
* In rebuilds, assume that every page has been scanned by the time the scan ↵Simon McVittie2015-06-09
| | | | | | | | | | phase ends This doesn't prevent memory from being used to track what we have and haven't scanned, but it does make it temporary. This only applies to rebuilds, as a way to avoid breaking the templatebody plugin, unlike the earlier version of this optimization.
* Revert "Assume that every page has been scanned by the time the scan phase ends"Simon McVittie2015-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c04a26f3e70d654ccec5542daf8425e44cb5bac8, which turns out to break the templatebody directive: readtemplate() relies on scan() populating %templates, but if scan() is a no-op after leaving the scan phase, we can't rely on that. The assumption made by skipping scan() after the end of the render phase is that everything that comes from a scan is already in the index. However, we don't really want to put template bodies in the index: that would force us to load and save them on every refresh, and redundantly persist them to disk. Test-case: % make clean % ./Makefile.PL % make % grep -E '<div class="notebox">|Use this template to' html/sandbox.html % touch doc/sandbox/New_blog_entry.mdwn # sandbox inlines this % make % grep -E '<div class="notebox">|Use this template to' html/sandbox.html Good result: html/sandbox.html contains <div class="notebox"> both times Bad result: html/sandbox.html contains "Use this template to..." the second time
* Make the attachment plugin work with CGI.pm 4.x (Closes: #786586; workaround ↵Simon McVittie2015-06-07
| | | | for #786587 in libcgi-pm-perl)
* Do not directly enable emailauth by default, only indirectly via openidSimon McVittie2015-05-27
| | | | | | | This avoids nasty surprises on upgrade if a site is using httpauth, or passwordauth with an account_creation_password, and relying on only a select group of users being able to edit the site. We can revisit this for ikiwiki 4.
* sohrten url in subjectJoey Hess2015-05-19
|
* nicer layout of subjectJoey Hess2015-05-19
|
* add url to subject of emailJoey Hess2015-05-19
| | | | | The wikiname can be pretty un-helpful, the user will probably regognise the url since they were just at it.
* cloak user PII when making commits etc, and let cloaked PII be used in ↵Joey Hess2015-05-14
| | | | | | | | | | | | | | banned_users This was needed due to emailauth, but I've also wrapped all IP address exposure in cloak(), although the function doesn't yet cloak IP addresses. (One IP address I didn't cloak is the one that appears on the password reset email template. That is expected to be the user's own IP address, so ok to show it to them.) Thanks to smcv for the pointer to http://xmlns.com/foaf/spec/#term_mbox_sha1sum
* passwordauth: Don't allow registering accounts that look like openids.Joey Hess2015-05-14
| | | | | Also prohibit @ in account names, in case the file regexp was relaxed to allow it.
* don't let emailauth user's email address be changed on preferences pageJoey Hess2015-05-13
| | | | | | There's no real problem if they do change it, except they may get confused and expect to be able to log in with the changed email and get the same user account.
* when an emailauth user posts a comment, use the username only, not the full ↵Joey Hess2015-05-13
| | | | | | | | | | | email address This makes the email not be displayed on the wiki, so spammers won't find it there. Note that the full email address is still put into the comment template. The email is also used as the username of the git commit message (when posting comments or page edits). May want to revisit this later.
* avoid showing password prefs for emailauth userJoey Hess2015-05-13
|
* allow adminuser to be an email addressJoey Hess2015-05-13
|
* fix up session cookieJoey Hess2015-05-13
|
* emailauth link sent and verified; user login worksJoey Hess2015-05-13
| | | | | Still some work to do since the user name is an email address and should not be leaked.
* move stub auth hook to loginselectorJoey Hess2015-05-13
|
* email auth plugin now works through email address entryJoey Hess2015-05-13
|
* Converted openid-selector into a more generic loginselector helper plugin.Joey Hess2015-05-13
|
* rename openid selector files to login-selectorJoey Hess2015-05-13
|
* further generalization of openid selectorJoey Hess2015-05-13
| | | | Now template variables can be set to control which login methods are shown
* generalized the openid selector to a login selectorJoey Hess2015-05-13
| | | | | | | | | This includes some CSS changes to names of elements. Also, added Email login button (doesn't work yet of course), and brought back the small openid login buttons. Demoted yahoo and verison to small buttons. This makes the big buttons be the main login types, and the small buttons be provider-specific helpers.
* When openid and passwordauth are the only enabled auth plugins, make the ↵Joey Hess2015-05-13
| | | | openid selector display "Password" instead of "Other", so users are more likely to click on it when they don't have an openid.
* Standardize on --long-option instead of -long-optionSimon McVittie2015-03-01
| | | | | | | | | | [[forum/refresh_and_setup]] indicates some confusion between --setup and -setup. Both work, but it's clearer if we stick to one in documentation and code. A 2012 commit to [[plugins/theme]] claims that "-setup" is required and "--setup" won't work, but I cannot find any evidence in ikiwiki's source code that this has ever been the case.
* Fix double UTF-8 decode on Perl < 5.20 with upgraded Encode.pmAnders Kaseorg2015-03-01
| | | | | | | | | | | | | | | | | | | | Commit feb21ebfacb341fc34244e1c9b8557fd81d1dfc1 added a safe_decode_utf8 function that avoids double decoding on Perl 5.20. But the Perl behavior change actually happened in Encode.pm 2.53 (https://github.com/dankogai/p5-encode/pull/11). Although Perl 5.20 is the first Perl version to bundle an affected version of Encode.pm, it’s also possible to upgrade Encode.pm independently; for example, Fedora 20 has Perl 5.18.4 with Encode.pm 2.54. On such a system, editing a non-ASCII file still fails with errors like Error: Cannot decode string with wide characters at /usr/lib64/perl5/vendor_perl/Encode.pm line 216. There doesn’t seem to be any reason not to check Encode::is_utf8 on old versions too, so just remove the version check altogether. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Bug-Debian: https://bugs.debian.org/776181
* fix another unchecked mallocJoey Hess2015-01-25
| | | | | | <joeyh> any parrticular reason 12? <igli> well maximum a 32-bit can go is 10 chars <igli> so one for \0 and round up to 4
* Fix NULL ptr deref on ENOMOM in wrapper. (Thanks, igli)Joey Hess2015-01-25
| | | | Probably not exploitable, but who knows..
* In VCS-committed anonymous comments, link to url.Amitai Schlair2015-01-08
|
* Update blogspam to the 2.0 API.Amitai Schlair2015-01-02
|
* po: If msgmerge falls over on a problem po file, print a warning message, ↵Joey Hess2014-12-30
| | | | but don't let this problem crash ikiwiki entirely.
* Avoid uninitialized warnings with comments+no CGI.Amitai Schlair2014-12-28
|
* ikiwiki-comment: optionally override parameters.Amitai Schlair2014-12-27
|
* Squelch "keys on reference is experimental".Amitai Schlair2014-12-27
|
* page.tmpl: tell mobile browsers we have a responsive layout, unless told not toSimon McVittie2014-12-01
| | | | | | | | | | Mobile browsers typically assume that arbitrary web pages are designed for a "desktop-sized" browser window (around 1000px) and display that layout, zoomed out, in order to avoid breaking naive designs that assume nobody will ever look at a website on a phone or something. People who are actually doing "responsive design" need to opt-in to mobile browsers rendering it at a more normal size.
* Merge branch 'ready/html5'Simon McVittie2014-11-26
|\
| * Now that we're always using HTML5, <base href> can be relativeSimon McVittie2014-10-16
| |
| * Always produce HTML5 doctype and new attributes, but not new elementsSimon McVittie2014-10-16
| | | | | | | | | | | | | | | | | | | | | | | | | | According to caniuse.com, a significant fraction of Web users are still using Internet Explorer versions that do not support HTML5 sectioning elements. However, claiming we're XHTML 1.0 Strict means we can't use features invented in the last 12 years, even if they degrade gracefully in older browsers (like the role and placeholder attributes). This means our output is no longer valid according to any particular DTD. Real browsers and other non-validator user-agents have never cared about DTD compliance anyway, so I don't think this is a real loss.
* | Fix numeric comparisons with undefSimon McVittie2014-11-26
| |
* | fix some typosSimon McVittie2014-11-26
| |