We often want an article to include author attribution. For example a blog post, news article, etc, is more relevant if the reader knows the authors name and has a link to a bio.
With this plugin the config.js
file holds a list of authors, and each content document can declare one or more authors. Custom elements are available to present a list of one or more authors like:
By <a href="URL">Boy George</a>, <a href="URL">Elton John</a>
Additionally the default template contains appropriate Schema.org
metadata, and any link will contain a rel=author
attribute.
Installation
Add the following to package.json
"dependencies": {
...
"@akashacms/plugins-author": ">=0.7"
...
}
Once added to package.json
run: npm install
Configuration
Add the following to config.js
config
...
.use(require('@akashacms/plugin-author'), {
default: "boygeorge",
authors: [
{
code: "boygeorge",
fullname: "Boy George",
url: "URL",
bio: "<p>Weird ass british rocker</p>"
},
{
code: "eltonjohn",
fullname: "Elton John",
url: "URL",
bio: "<p>Mainstream british rocker</p>"
}
]
})
...
Custom Tags
authors-byline
<authors-byline data-authors='[ "authorcode" ]'></author-byline>
OR
<authors-byline data-authors="authorcode"></author-byline>
The other attributes are:
template="partial-file.html.ejs"
-- Override the default template,authors-byline.html.ejs
id="ID"
-- An ID attribute for the outer elementclass="class"
-- Additional class values for the outer elementstyle="style"
-- CSS style attribute
The data provided is:
id
- The ID attribute if any (undefined
otherwise)style
- The style attribute if any (undefined
otherwise)additionalClasses
-- Any class value supplied, orundefined
authors
-- The author objects corresponding to the supplied authorcode(s)
authors-bio-block
<authors-bio-block data-authors="eltonjohn"></authors-bio-block>
OR
<authors-bio-block data-authors='[ "boygeorge", "eltonjohn" ]'></authors-bio-block>
The other attributes are:
template="partial-file.html.ejs"
-- Override the default template,authors-bio-block.html.ejs
id="ID"
-- An ID attribute for the outer elementclass="class"
-- Additional class values for the outer elementstyle="style"
-- CSS style attribute
The data provided is:
id
- The ID attribute if any (undefined
otherwise)style
- The style attribute if any (undefined
otherwise)additionalClasses
-- Any class value supplied, orundefined
authors
-- The author objects corresponding to the supplied authorcode(s)