The CMSMS CompanyDirectory module can support hCard and microformats-2 h-card
with minor template updates.
orig_detail_template
For example, the file orig_detail_template.tpl (inside the Templates directory in the CompanyDirectory directory) could be updated as such:
<div class="CompanyDirectoryItem vcard h-card"> Name: <span class="fn org p-name p-org">{$entry->company_name}</span><br /> {if $entry->address ne ''} Address: <span class="adr p-adr h-adr">{$entry->address}</span><br /> {/if} {if $entry->telephone ne ''} Telephone: <span class="tel p-tel">{$entry->telephone}</span><br /> {/if} {if $entry->fax ne ''} <span class="tel p-tel"><span class="type">Fax</span>: <span class="value">{$entry->fax}</span> {/if} {if $entry->contact_email ne ''} Contact Email: <a class="email u-email" href="mailto:{$entry->contact_email}">{$entry->contact_email}</a><br /> {/if} {if $entry->website ne ''} Website: <a class="url u-url" href="{$entry->website}">{$entry->website}</a><br /> {/if} {if $entry->details ne ''} Details:<br /> <span class="note p-note">{$entry->details}</span><br /> {/if} {if $entry->picture_location ne ''} Picture: <img class="photo u-photo" src="{$entry->picture_path}" /><br /> {/if} {if $entry->logo_location ne ''} Logo: <img class="logo u-logo" src="{$entry->logo_path}" /><br /> {/if} {if isset($entry->fields) } {foreach from=$entry->fields key='field_name' item=customfield} {$customfield->name}: {$customfield->value}<br /> {/foreach} {/if} {if $categorytext ne ''} Categories: {$categorytext}<br /> {/if} </div>