The reason it's hard to render straight from Markdown isn't because it's not a markup language like html - because Markdown is just syntactic sugar for a subset of html. Because of that, it's usually easier to just use the abundant html tooling to render it. The problem is that html needs CSS to render nicely - and any tool used to render CSS+HTML is almost by definition a browser engine.