X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=ikiwiki%2Fpagespec%2Fattachment.mdwn;fp=ikiwiki%2Fpagespec%2Fattachment.mdwn;h=419f00ee4284f3a0bae6305e290a1ef8d5cef95a;hb=21bc7812e43447c6184393b6af03440ec48da227;hp=0000000000000000000000000000000000000000;hpb=e7cd66b8cf72a928b847f78bf8ba0edbf02499ea;p=notmuch-wiki diff --git a/ikiwiki/pagespec/attachment.mdwn b/ikiwiki/pagespec/attachment.mdwn new file mode 100644 index 0000000..419f00e --- /dev/null +++ b/ikiwiki/pagespec/attachment.mdwn @@ -0,0 +1,37 @@ +[[!meta robots="noindex, follow"]] +[[!if test="enabled(attachment)" + then="This wiki has attachments **enabled**." + else="This wiki has attachments **disabled**."]] + +If attachments are enabled, the wiki admin can control what types of +attachments will be accepted, via the `allowed_attachments` +configuration setting. + +For example, to limit arbitrary files to 50 kilobytes, but allow +larger mp3 files to be uploaded by joey into a specific directory, and +check all attachments for viruses, something like this could be used: + + virusfree() and ((user(joey) and podcast/*.mp3 and mimetype(audio/mpeg) and maxsize(15mb)) or (!ispage() and maxsize(50kb))) + +The regular [[ikiwiki/PageSpec]] syntax is expanded with the following +additional tests: + +* "`maxsize(size)`" - tests whether the attachment is no larger than the + specified size. The size defaults to being in bytes, but "kb", "mb", "gb" + etc can be used to specify the units. + +* "`minsize(size)`" - tests whether the attachment is no smaller than the + specified size. + +* "`ispage()`" - tests whether the attachment will be treated by ikiwiki as a + wiki page. (Ie, if it has an extension of ".mdwn", or of any other enabled + page format). + + So, if you don't want to allow wiki pages to be uploaded as attachments, + use `!ispage()` ; if you only want to allow wiki pages to be uploaded + as attachments, use `ispage()`. + +* "`mimetype(foo/bar)`" - checks the MIME type of the attachment. You can + include a glob in the type, for example `mimetype(image/*)`. + +* "`virusfree()`" - checks the attachment with an antiviral program.