function escapeMarkdown( str ) {
	return replace( str, RE_MARKDOWN_OR_CODE, onMatch );
}
Escapes Markdown special characters in a string.

## Notes

-   This function escapes characters that have special meanings in Markdown, such as #, *, _, ~, etc., by prefixing them with a backslash.
-   The function does not escape characters inside code.

@private
@param {string} str - string to escape
@returns {string} escaped string

@example
var out = escapeMarkdown( 'Returns [index, value] pairs. ```No escape here: *[]!```' );
// returns 'Returns \[index, value] pairs. ```No escape here: *[]!```'

@example
var out = escapeMarkdown( 'Outside code: *, inside code: `*`' );
// returns 'Outside code: \*, inside code: `*`'