change formatting
resolve image URIs
introduce factory methods for PathInfo
use full path info in ExternalLinkTarget
use Option.fold instead of map...getOrElse