Adding h-entry markup to posts on your site allows computers to understand them as easily as humans can, without publishing separate copies. All you need to do is add microformats2 h-entry classnames, for example:
<article class="h-entry"> <div class="e-content p-name">Hello world! This is my first indieweb post.</div> <a class="u-url" href="https://example.com/my-first-post"> Published <time class="dt-published">2020-08-08 03:28:17+0000</time> </a> </article>
Your h-entries should have, at minimum, the following properties:
e-content— the main content of the post
p-name— if your post has a name, use this classname. Otherwise, (if for example the post is a note), either leave it off or apply to the same element as
dt-published— the datetime the post was published at, in ISO8601 format, with a timezone
u-url— the canonical URL of the post, especially important on pages listing multiple posts
It’s a common convention for the published datetime to be a link to the post itself, but they can be separate if you want.
There should also be some way to discover the author of the post — either link to your homepage (which should have your h-card on it) from anywhere within the body of the page with
rel=author, or optionally embed a
p-author h-card in the h-entry.
The web is an expressive medium, and as such there are many other properties which you can add to your posts. Check out the h-entry documentation for a full list.Want to be able to use h-entry data in your code? Check out the open-source implementations.