provide a better implementation of escapeHTML, update blog link