def METHOD_NAME(self, source, dest, is_two_file=True, post=None, lang=None):
    """Compile the source file into HTML and save as dest."""
    if Markdown is None:
        req_missing(['markdown'], 'build this site (compile Markdown)')
    makedirs(os.path.dirname(dest))
    with io.open(dest, "w+", encoding="utf-8") as out_file:
        with io.open(source, "r", encoding="utf-8-sig") as in_file:
            data = in_file.read()
        output, shortcode_deps = self.compile_string(data, source, is_two_file, post, lang)
        out_file.write(output)
    if post is None:
        if shortcode_deps:
            self.logger.error(
                "Cannot save dependencies for post {0} (post unknown)",
                source)
    else:
        post._depfile[dest] += shortcode_deps