Tags

MimeIconPlugin

Icon sets for mimetypes

This plugin tries to map known mime types commonly found on the internet to an icon set. There are not many icon sets that have a got coverage of mime types despite looking nicely, yet still coherent, not too exotic so that they can be used with a variety of web designs without too much of a problem.

MimeIconPlugin comes with two complete icon sets, namely oxygen, crystal and papirus provided in several sizes.

Usage

MimeIconPlugin implements a single macro %MIMEICON which returns the right icon in the desired size of an icon theme for a given file.

For instance you type:
%MIMEICON{
  "screenshot.png" 
  size="48" 
  theme="oxygen"
}%

will give you:

image-x-generic.png

if this plugin is installed.

The idea is that you can pretty much throw any file at it and %MIMEICON will return the right icon for it reflecting the mimetype of this file. Well, obviously there is a fallback to a neutral icon in case some file extension is totally unknown.

REST service

The get endpoint allows to retrieve a proper icon for a given mime type or file.

Parameter Description Default
file file or file extension for which to retrieve a matching icon  
size size of icon 48
theme icon set $Foswiki::cfg{Plugins}{MimeIconPlugin}{Theme}
class css class(es) to be added to the icon in addition to foswikiIcon, <iconName> and <themeName>  

Calling the get service will create a redirect to the proper icon url in a way that it can be used in an IMG html tag

<img src="%SCRIPTURLPATH{"rest"}%/MimeIconPlugin/get?file=foobar.docx;size=48" />

redirects to

.../pub/System/MimeIconPlugin/oxygen/48x48/application-vnd.oasis.opendocument.text.png

Examples

Papirus

MimeIconPluginSnap3.png

Oxygen

MimeIconPluginSnap2.png

Crystal

MimeIconPluginSnap1.png

Installation Instructions

You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.

Open configure, and open the "Extensions" section. "Extensions Operation and Maintenance" Tab -> "Install, Update or Remove extensions" Tab. Click the "Search for Extensions" button. Enter part of the extension name or description and press search. Select the desired extension(s) and click install. If an extension is already installed, it will not show up in the search results.

You can also install from the shell by running the extension installer as the web server user: (Be sure to run as the webserver user, not as root!)
cd /path/to/foswiki
perl tools/extension_installer <NameOfExtension> install

If you have any problems, or if the extension isn't available in configure, then you can still install manually from the command-line. See https://foswiki.org/Support/ManuallyInstallingExtensions for more help.

Dependencies

None

Change History

25 Jan 2024: (4.11) more mappings for microsoft document types
04 May 2022: (4.10) added visio icon
26 Oct 2020: (4.00) updated papirus icon set
18 Nov 2019: (3.13) default to papirus icon set
13 Dec 2018: (3.12) added more mappings for office file types
26 Nov 2018: (3.11) docu fixes
12 Nov 2018: (3.10) added class parameter
06 Nov 2018: (3.00) added papirus icon set
16 Aug 2018: (2.01) disabled error message writing to stderr
30 Aug 2017: (2.00) added get REST handler
09 Sep 2016: (1.31) added vsd to image mapping
17 Jul 2015: (1.30) added support for google file formats webp, weba, webm
22 May 2013: (1.20) only ship icons covered by a mapping
16 Dec 2011: (1.10) fixed mapping in oxygen icon set; fix to make sure the icon mapping is read in properly
Topic revision: r1 - 18 Nov 2019, ProjectContributor
This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding CLASSE Wiki? Send feedback