refactor repeated widgets with frontmatter