aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki
Commit message (Collapse)AuthorAge
* 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
| |
* | Merge remote-tracking branch 'spalax/calendar-autocreate'Simon McVittie2014-11-26
|\ \
| * | Corrected error: month pages were created even without calendar_autocreate ↵Louis2014-11-14
| | | | | | | | | | | | config option
| * | Deleted unnecessary codeLouis2014-11-14
| | |
| * | IndentationLouis2014-11-14
| | |
| * | Calendar pages are now rebuilt when previous or next page have changedLouis2014-07-07
| | |
| * | Making use of the transient pluginLouis2014-07-07
| | |
| * | Added option `calendar_fill_gaps`Louis2014-07-05
| | |
| * | Simplifying codeLouis2014-07-05
| | | | | | | | | | | | Thanks to review from http://ikiwiki.info/todo/calendar_autocreate/
| * | calendar plugin: Autocreate archive pages if neededLouis2014-06-24
| | |
* | | openid: Stop suppressing the email field on the Preferences page.Joey Hess2014-11-06
| | | | | | | | | | | | | | | This is needed for notifyemail, and not all openid providers report an email address, or necessarily the one the user wants to get email.
* | | add ikiwiki-comment programJoey Hess2014-10-20
| | |
* | | Remove space from perl shebang path.Amitai Schlair2014-10-17
| | |
* | | IkiWiki::Plugin::openid: as a precaution, do not call non-coderefsAmitai Schlair2014-10-16
| | | | | | | | | | | | | | | | | | | | | | | | We're running under "use strict" here, so if CGI->param's array-context misbehaviour passes an extra non-ref parameter, it shouldn't be executed anyway... but it's as well to be safe. [commit message added by smcv]
* | | Call CGI->param_fetch instead of CGI->param in array contextAmitai Schlair2014-10-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CGI->param has the misfeature that it is context-sensitive, and in particular can expand to more than one scalar in function calls. This led to a security vulnerability in Bugzilla, and recent versions of CGI.pm will warn when it is used in this way. In the situations where we do want to cope with more than one parameter of the same name, CGI->param_fetch (which always returns an array-reference) makes the intention clearer. [commit message added by smcv]
* | | Make sure we do not pass multiple CGI parameters in function callsSimon McVittie2014-10-16
| |/ |/| | | | | | | | | | | | | | | | | | | When CGI->param is called in list context, such as in function parameters, it expands to all the potentially multiple values of the parameter: for instance, if we parse query string a=b&a=c&d=e and call func($cgi->param('a')), that's equivalent to func('b', 'c'). Most of the functions we're calling do not expect that. I do not believe this is an exploitable security vulnerability in ikiwiki, but it was exploitable in Bugzilla.
* | Do not pass ignored sid parameter to checksessionexpirySimon McVittie2014-10-12
| | | | | | | | | | | | | | | | checksessionexpiry's signature changed from (CGI::Session, CGI->param('sid')) to (CGI, CGI::Session) in commit 985b229b, but editpage still passed the sid as a useless third parameter, and this was later cargo-culted into remove, rename and recentchanges.
* | comments: don't log remote IP address for signed-in usersSimon McVittie2014-10-12
| | | | | | | | | | | | | | The intention was that signed-in users (for instance via httpauth, passwordauth or openid) are already adequately identified, but there's nothing to indicate who an anonymous commenter is unless their IP address is recorded.
* | In html5 mode, generate a host- or protocol-relative <base> for the CGISimon McVittie2014-10-05
| | | | | | | | This increases the number of situations in which we do the right thing.
* | Add reverse_proxy option which hard-codes cgiurl in CGI outputSimon McVittie2014-10-05
| | | | | | | | | | This solves several people's issues with the CGI trying to be too clever when IkiWiki is placed behind a reverse-proxy.
* | Force use of $config{url} as top URL in w3mmodeSimon McVittie2014-10-05
| |
* | Fix crash that can occur when only_committed_changes is set and a file is ↵Joey Hess2014-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deleted from the underlay. srcfile_stat got called on a file from the underlay that no longer existed. I am not 100% sure of the circumstances of that; I was able to reproduce the bug but neglected to snapshot the tree, and then accidentially got it to stop crashing. I know that a transient tag page got deleted using the web interface to trigger the crash. It seems that process_changed_files must have returned the file, despite it being deleted. And since the file was not checked into git, it seems it must have not been included in @IkiWiki::underlayfiles, which would have caused process_changed_files to not return it. I do not know why a transient tag page would not be in @IkiWiki::underlayfiles. There is a bug here that I don't understand. This is just a workaround -- run srcfile_stat such that it won't crash, and if it is unable to stat a file, find_changed knows it's not changed, so it's ok to skip it. Also made find_new_files run srcfile_stat such that it won't crash, just because I was there.
* | img: raise an error if we cannot find the image's sizeSimon McVittie2014-09-16
| | | | | | | | This happens for PDFs without ghostscript installed, for instance.
* | Merge branch 'ready/templatebody'Simon McVittie2014-09-15
|\ \
| * | Assume that every page has been scanned by the time the scan phase endsSimon McVittie2014-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't prevent memory from being used to track what we have and haven't scanned, but it does make it temporary. The existing %rendered hash, which is filled afterwards, will be larger than %scanned in practice anyway: %scanned will contain an entry for each page that changed, plus an entry for each template used by templatebody, whereas %rendered will contain an entry for each page that changed plus an entry for each page rendered due to links or dependencies.
| * | Track whether we're in the scan or render phaseSimon McVittie2014-03-05
| | | | | | | | | | | | | | | | | | | | | | | | In the scan phase, it's too early to match pagespecs or sort pages; in the render phase, both of those are OK. It would be possible to add phases later, renumbering them if necessary to maintain numerical order.
| * | Add templatebody plugin and directive, and enable it by defaultSimon McVittie2014-03-05
| | | | | | | | | | | | Also add a regression test for templatebody.
| * | IkiWiki::Render: make 'scan' idempotentSimon McVittie2014-03-05
| | | | | | | | | | | | | | | | | | If it does nothing when a page has already been scanned, we can use it at any time to force a page to be scanned. In particular, the templatebody plugin is going to need this.
* | | Merge branch 'ready/autoindex-more-often'Simon McVittie2014-09-15
|\ \ \
| * | | Allow creation of transient index pages for directories outside srcdirSimon McVittie2014-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After this change autoindex creates index pages also for empty directories included in underlays, but only if it isn't going to commit them to the srcdir ($config{autoindex_commit} = 0). Inspired by a patch from Tuomas Jormola. Bug-Debian: http://bugs.debian.org/611068
| * | | autoindex: remove unnecessary special case for transient underlaySimon McVittie2014-07-04
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not clear that the transient underlay should be excluded from indexing; see [[bugs/transient autocreated tagbase is not transient autoindexed]]. In any case, the code that checks what directories might need indexes specifically checks for the srcdir anyway, so the only effect this extra check can have is negative (it could fail to notice files in the transient underlay and attempt to recreate them unnecessarily).
* | | Merge branch 'ready/more-magic'Simon McVittie2014-09-15
|\ \ \
| * | | filecheck: accept MIME types that don't contain ';'Simon McVittie2014-09-10
| | | |
* | | | Merge remote-tracking branch 'jcflack/early-env'Simon McVittie2014-09-15
|\ \ \ \
| * | | | More cautious escaping of environment values.Lafayette Chamber Singers Webmaster2014-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tightened the escaping per this review comment: http://source.ikiwiki.branchable.com/?p=source.git;a=commitdiff;h=f35fc6a603b5473ce2c07bb0236e28e57f718315 (I didn't introduce a $tmp, as $val was local to that block already, and each hex encoding is in its own C string literal to avoid consuming subsequent chars that are valid hex digits.)
| * | | | Installing ikiwiki on a shared-hosting server, there may be no access toLafayette Chamber Singers Webmaster2014-09-14
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | install prerequisite Perl modules in the systemwide locations. They may have to be installed under the home directory, such as by using local::lib (which is how the cPanel Perl-module installer works, on systems that use it). For that to work, the local::lib-defined value for PERL5LIB must be in the environment when Perl starts up. The former way %config{ENV} was handled was too late, depending on the Perl code to unpack it from the storable and put it into the environment. Easy solution is to build the wrapper to repopulate the environment based on %config{ENV} before ever exec'ing Perl (and then remove it from the storable as there is nothing more that the Perl code will need to do with it).
* | | | Merge branch 'ready/imgforpdf-and-more'Simon McVittie2014-09-12
|\ \ \ \
| * | | | show resized img in preview using data: urlschrysn2014-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in analogy to sparklines, this renders scaled imgs to data:img/...;base64,... urls in preview mode. if the image is already present on the server (eg because it was not just inserted), the already rendered image is referenced instead.
| * | | | img plugin: split resizing calculations and actual resizingchrysn2014-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | there is now a size calculating part (which chooses a final size) and a scaling part (which triggers if the sizes calculated by the former indicate a downscaling). this solves the issue of unproportional upscalings (bugs/image_rescaling_distorts_with_small_pictures). also, "small" pdf files (or pdf files without explicit size settings), which would not be converted under the old mechanism, now get rendered to pngs. this commit affects a unit test: while svgs were previously unconditionally rendered to pngs, this now only happens on downscaling. this is intentional -- while a small version of an svg graphic is likely to be more compact when rendered (eg as a preview), a large version would not have that benefit, and why convert something that browsers basically can show and be inconsistend with how other images are handled. the new unit test simply makes the original svg larger to check for the same behaviros as before.
| * | | | add pagenumber parameterchrysn2014-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this allows picking a page from a pdf. also, this enhances performance greatly when rendering pdfs, as only the first page is rasterized. (otherwise, imagemagick would treat the pdf as a list of images, work with all of them, until finally only the first page gets saved). the default parameter of 0 will select the single image contained in typical image files anyway, so no specialcasing between single- and multifile containers is needed.
| * | | | add pdf support to the img directivechrysn2014-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | this is trivial as pdf is supported by imagemagick, and just needs an explicit mention to enable conversion.
| * | | | set the file type parameter after reading the imagechrysn2014-04-07
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | imagemagick, when reading an image, sets its magick parameter to indicate the file type, overriding the explicitly set file type for output if it is set at creation. as a result, previously (with graphicsmagick-libmagick-dev-compat 1.3.18-1 providing Image::Magick), svg output files were not png, neither svg, but mvg (imagemagick vector graphics).
* | | | Merge branch 'ready/chrysn/linkmapenhancement'Simon McVittie2014-09-12
|\ \ \ \
| * | | | display the pagetitle() in linkmapschrysn2012-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | without this patch, linkmaps display underscores and underscore escape sequences in the rendered output. this introduces a pageescape function, which invoces pagetitle() to get rid of underscore escapes and wraps the resulting utf8 string appropriately for inclusion in a dot file (using dot's html encoding because it can represent the '\"' dyad properly, and because it doesn't need special-casing of newlines).