Use Text.Markdown in a typical yesod project. This module contains instances related to persistence, even though it isn't tightly coupled to yesod.
This package is different from the yesod-markdown package which uses the pandoc renderer for markdown. The main advantages of having Text.Markdown as underlying renderer is the much smaller dependencies and the permissiver license. See https://github.com/pbrisbin/yesod-markdown and https://github.com/snoyberg/markdown.
This package intentionally tries to be like yesod-markdown, so switching between the markdown backends should be easy.