Extension:Attachments
Appearance
Release status: stable |
|
|---|---|
| Implementation | Parser function, Variable, Page action, Hook |
| Description | Attach subpages, files and external links to pages. |
| Author(s) |
|
| Latest version | 1.0.1 |
| Compatibility policy | Snapshots releases along with MediaWiki. Master is not backward compatible. |
| MediaWiki | 1.39+ |
| License | MIT License |
| Download | GitHub: Note: |
| Example | https://vowi.fsinf.at/ |
|
|
|
The Attachments extension lets users attach subpages, files and external links to pages in enabled namespaces.
- Attachments can easily be added through the user interface.
- Attachments of an article are displayed in an automatically generated list at its end.
- This extension integrates with the Vector and Minerva Neue skins.
So how does it work?
- subpages automatically count as attached to their parent page
- When you upload a file through the Attach page action, a parser function
{{#attach: Title}}is added to the description. - When you add a link, the extension creates a subpage containing the
{{#exturl: URL}}parser function. - Both parser functions set page properties, which are queried for the autogenerated sections.
Advanced features
[edit]#attachcan also be used to attach a regular page to another regular page.- You can exclude subpages starting with a specific prefix from the autoindex with
{{#attachments ignore subpages: prefix}}on the parent page. - You can access attachments before they are sorted with the
BeforeSortAttachments(&$links)hook, where links is an associative array mapping string keys to HTML links. Returnfalseto take over the sorting.
Relatively linking an attached file
[edit]The Attachments extension provides the {{FILEPREFIX}} parser function to faciliate linking/embedding attached files.
If you attach an image Example.jpg to Somepage then you can embed the image:
- from Somepage with
[[File:{{FILEPREFIX}}Example.jpg]] - from Somepage/Subpage with
[[File:{{FILEPREFIX:..}}Example.jpg]] - from Somepage/Subpage/Subsubpage with
[[File:{{FILEPREFIX:../..}}Example.jpg]]
Note that the same also works with [[Media:...]] links.
Installation
[edit]- Enable Uploads.
- Developers can clone the extension into your MediaWiki
extensionsdirectory:cd extensions/ git clone https://github.com/vuhuy/Swiki
- Note that you should also enable subpages for these namespaces.
Optional configuration parameters
[edit]| Name | Type | Description | Default |
|---|---|---|---|
$wgAttachmentsChunkListByLetter
|
Boolean | Whether or not the attachment list should be chunked by the first letter of list items. | true
|
$wgAttachmentsShowSubpageForm
|
Boolean | Whether or not the subpage form should be shown. | true
|
$wgAttachmentsShowLinkForm
|
Boolean | Whether or not the external link form should be shown. | true
|
$wgAttachmentsShowInNamespaces
|
Boolean | Whether or not a link to the attachments should be shown in the namespaces (page, discussion). | false
|
$wgAttachmentsShowInViews
|
Boolean | Whether or not an 'add attachments' link should be shown in the views (read, edit source, view history). | false
|
$wgAttachmentsShowEmptySection
|
Boolean | Whether or not to show certain elements when there are no attachments for a page. | false
|
Tips
[edit]- Enable $wgCountCategorizedImagesAsUsed to exclude attached files from Special:UnusedImages.
- Attachments and external URLs are both stored as page props, meaning they can be queried with API:Pageprops and API:Pageswithprop.
- Set $wgForeignUploadTargets to
[], if you want to prevent users from circumventing this extension through the upload dialog. - If new attachments do not show up, it might be because you have many jobs in your job queue.
Credits
[edit]This extension is essentially a complete rewrite of PerPageResources by Mathias Ertl, which consists of Extension:Resources, Extension:AddResource and Extension:ExternalRedirects. This extension replaces all three, notable differences are:
- attachments are stored in page_props instead of pagelinks
- no open redirects, just links
- attachments are shown at the end of pages, as opposed to on a special page
Originally developed and maintained by Gittenburg.
See also
[edit]- MoinMoinWiki - supports attachments out of the box.
Categories:
- Stable extensions
- Parser function extensions
- Variable extensions
- Page action extensions
- Hook extensions
- MIT licensed extensions
- Extensions in GitHub version control
- ParserFirstCallInit extensions
- BeforePageDisplay extensions
- MagicWordwgVariableIDs extensions
- ParserGetVariableValueSwitch extensions
- SkinTemplateNavigation::Universal extensions
- ListDefinedTags extensions
- ChangeTagsListActive extensions
- All extensions
- Attachment extensions
