How do you render posts from outside wordpress?

The best ways to get content OUTSIDE of WordPress would be (listed in my order of preference):

  1. By using the WP REST API plugin (soon to be fully integrated into core)
  2. Via RSS feed as mentioned by @AricWatson in the comments above.
  3. Direct queries into the MySQL wp_posts and wp_postmeta tables.

When content is rendered INSIDE of WordPress there are a number of “filters” applied to the content before it is output on the screen. Things like paragraph tags, shortcodes and other formatting and tag adjustments are all applied AFTER the content is pulled from the database BEFORE it’s rendered in the browser.

If you absolutely must query the DB directly for the content in question your best bet for an accurate render will be to apply some of your own custom filters to the content. Some examples might include:

  • converting newline characters to paragraphs
  • stripping out shortcode references
  • applying your own custom shortcode filters on the content
  • replacing WP specific class names with classes of your own (if you needed to)

The primary reason to avoid direct MYSQL queries to retrieve WP content is that WP is already well equipped to query, parse and render the content in a variety of formats. Using WP to feed other applications is a common practice and can be quite painless when done right.