def _process_external_entry()

in src/externals.py [0:0]


def _process_external_entry(self: ExternalMount, url_mappers, entry: dict) -> list:
    item = ExternalItem(self, url_mappers, entry)

    if not os.path.isdir(item.target_dir):
        os.makedirs(item.target_dir, mode=0o777)

    with open(item.source_item, 'r') as file:
        source_text = file.read()

    # TODO: check `---` headers at the beginning of the original file and WARN or MERGE
    source_text = url_mappers(source_text, item.source_item)

    for repl in item.replacements:
        source_text = repl(source_text)

    if self.wrap_code_snippets:
        def handle_match(m):
            if m.group(1).lower() == 'kotlin':
                return '\n\n<div class="sample" markdown="1" theme="idea" data-highlight-only>' + m.group(0) + '\n</div>\n\n'
            else:
                return '\n\n<div class="sample" markdown="1" theme="idea" mode="' + m.group(1) + '">' + m.group(0) + '\n</div>\n\n'

        source_text = re.compile("[\\r\\n]+```([^\\r\\n]+)([\\r\\n]+[^`][^\\r\\n]*)+[\\r\\n]+```").sub(handle_match, source_text)

    template = item.generate_header()

    source_text = template + source_text

    with open(item.target_item, 'w') as file:
        file.write(source_text)

    return [{
        'url': item.html,
        'title': item.title
    }]