Markup generator