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.
(see also screenshots below)
If your system is set to automatically write EXIF metadata
(system.yaml → media.auto_metadata_exif: true)
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 touch base_fields
in config as the plugin requires them to run properly. You can delete this field fromt your custom configuration though (which makes future upgrades more safe).
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.