The Admin Addon Media Metadata Plugin is an extension for the Grav CMS Admin plugin. It lets you add and edit metadata for media files in the Page Media browser.
The Admin plugin has not been offering a feature like this yet. In order to add/edit metadata e.g. for an image you had to create a [image.filename].meta.yaml for the image in your file browser and edit it in a text editor.
- the plugin will create and edit [mediafile].meta.yaml files in your page folder via a simple form in the Admin plugin
- by default you can add/edit a title, alt text, and a caption – see Configuration section below on how to adapt this for your Grav installation
- multiline text can be added (e.g. for caption)
- in case you are storing additional, manually added data in your [mediafile].meta.yaml file, it will not be overwritten even if the form does not let you change it
(see also screenshots below)
- hover any file in your Page Media section
- hit the small «i» button to open the metadata form (the regular «i» button which just showed the metadata will be overwritten by the plugin)
If your system is set to automatically write EXIF metadata
(system.yaml → media.auto_metadata_exif: true)
- On Admin Plugin 1.10:
Please save the page after uploading an image and before you write additional metadata using this plugin. On saving the page, the Admin Plugin will create the meta.yaml file including the EXIF data – but it won’t do so if a meta.yaml file already exists. - On Admin Plugin 1.9 and admin-addon-media-metadata >= 1.1.0:
There’s no problem here: the EXIF data will be written immediately upon upload whereas this plugin now only writes or edits meta.yaml files when needed.
If you can access your Grav installation via the command line, install the plugin by typing the following from your Grav root:
bin/gpm install admin-addon-media-metadata
In the Plugins section, hit the [+ Add] button, search for Admin Addon Media Metadata and install.
To install the plugin manually, download the ZIP version of the latest release of this repository and unzip it under /your/site/grav/user/plugins
. Then rename the folder to admin-addon-media-metadata
. You can find these files on GitHub.
The default fields in the metadata form are alt, title, and caption. If you want to add more data to your meta.yaml files, please copy
user/plugins/admin-addon-media-metadata/admin-addon-media-metadata.yaml
to
user/config/plugins/admin-addon-media-metadata.yaml
and add more form fields to the form by updating the copy. E.g. if you want to add a field for a web link, you might add the following lines:
- type: text
label: Web link
name: weblink
placeholder: https://domain.tld/
The URL field will be available in your metadata form and you’ll be able edit the information.
Do not remove or edit filename
or filepath
fields as the plugin requires them to run properly.
Also nesting (multi level arrays) like name: misc.tip
or name: misc[tip]
is not supported.
You may also add page specific fields to a page’s frontmatter. Note: The fields will be added to the form, not override the ones from the above mentioned config files:
admin-addon-media-metadata:
metadata_form:
fields:
-
type: text
label: 'Yet another field'
name: yetAnotherField
placeholder: 'yet yet yet'
Having added this example code to the frontmatter of your page, it will add the new field 'Yet another field' to the metadata modal, but only for this specific page.
I have based the plugin on Dávid Szabó’s Admin Addon Media Rename plugin. Much of the code would not have been possible for me without Dávid’s work.
@renards helped a lot in replacing my original self-written Yaml parsing and writing code with Grav core technology and thus made version 1.0.0 possible.