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
}]