/**
  * Updates metadata fields.
  *
  * @param SiteConfig $config
  * @param SiteTree $owner
  * @param string $metadata
  *
  * @return void
  */
 public function updateMetadata(SiteConfig $config, SiteTree $owner, &$metadata)
 {
     // metadata
     $metadata .= $owner->MarkupComment('Metadata');
     // charset
     if ($config->CharsetEnabled()) {
         $metadata .= '<meta charset="' . $config->Charset() . '" />' . PHP_EOL;
     }
     // canonical
     if ($config->CanonicalEnabled()) {
         $metadata .= $owner->MarkupLink('canonical', $owner->AbsoluteLink());
     }
     // title
     if ($config->TitleEnabled()) {
         $metadata .= '<title>' . $owner->encodeContent($owner->GenerateTitle(), $config->Charset()) . '</title>' . PHP_EOL;
     }
     // description
     if ($description = $owner->GenerateDescription()) {
         $metadata .= $owner->MarkupMeta('description', $description, $config->Charset());
     }
     // extra metadata
     if ($config->ExtraMetaEnabled()) {
         $metadata .= $owner->MarkupComment('Extra Metadata');
         $metadata .= $owner->GenerateExtraMeta();
     }
 }