Taggd is a tool that allows you to tag pictures with additional information.
This project isn't actively maintained. This means issues will not be answered and pull requests will not be accepted.
If you are reading this, please consider inheriting the repository. Please let me know by opening an issue.
- Download the latest release
- npm:
npm install taggd
- Bower:
bower install taggd
- cdnjs: https://cdnjs.com/libraries/taggd
You need to include the stylesheet in the <head>
-tag, and the script in the <body>
-tag. Both files are in the dist
directory.
<link rel="stylesheet" href="/path/to/taggd/dist/taggd.css">
The stylesheet has no default theme, so they will be dull default buttons ready for you to style!
<script src="/path/to/taggd/dist/taggd.js"></script>
Finally, you can initialise taggd:
const image = document.getElementById('my-image');
const options = {};
const tags = [];
const taggd = new Taggd(image, options, tags);
The options
parameter is a list of options. The tags
parameter is a list of Tags. These are the buttons and popup that will render over your image. You can generate these using the Taggd tags generator.
Taggd wraps the image the element in an element so the DOM Taggd adds is contained in a single element. Be cautious applying styles on the image that is used for Taggd.
<img src="cat.jpg" alt="A cat playing piano">
Would change into:
<div class="taggd">
<img src="cat.jpg" alt="A cat playing piano">
<!-- Elements generated by Taggd go here -->
</div>
If you want to position your element and use Taggd as an enhancement, you can style your image like so:
/*
Apply image styling to the Taggd container as well.
*/
img, .taggd {
display: block;
float: left;
width: 50%;
}
/*
Reset images that are in a Taggd container.
*/
.taggd img {
display: initial;
float: initial;
width: initial;
}
If you’re importing Taggd via the ES2015 syntax with a bundler that respects the module
field in package.json
, Taggd
and Tag
are exported separately:
import { Taggd, Tag } from 'taggd';
new Taggd(image, options, [
new Tag(...),
]);
If you include the UMD bundle, Tag
is part of the Taggd
class:
new Taggd(image, options, [
new Taggd.Tag(...),
]);
The former allows ES2015 environments to use imports as intended. The latter prevents having to expose multiple classes.
If you have better ideas to have best of both worlds, please create an issue.
For more information, check out the documentation.
The code is released under the MIT license.