I've been having similar thoughts recently, and decided that the best option is probably too use Sphinx. It's reStructuredText rather than Markdown, but that that turns out to be an advantage as RST has a much cleaner extension story than Markdown. And the syntax is pretty similar to Markdown anyways.