#!/usr/bin/env python3 # From https://stackoverflow.com/a/25755038 from subprocess import Popen, PIPE, STDOUT from os import remove, system BASE_DIR = '/data' SITE_FILES_DIR = f'{BASE_DIR}/site-files' system(f'pandoc -f markdown-smart --data-dir . --template {SITE_FILES_DIR}/template.html -t html -o {SITE_FILES_DIR}/tmp.html {SITE_FILES_DIR}/index.md --metadata title="$(grep -m 1 -oP \'(?<=^# ).*\' {SITE_FILES_DIR}/index.md | cat)"') system(f'sed -i "s/sourceCode /language-/g" {SITE_FILES_DIR}/tmp.html') shell = Popen(['dd', 'if=/dev/zero', 'of=/dev/null', 'status=progress'], stdout=PIPE, stderr=STDOUT, universal_newlines=True, bufsize=1) for line in iter(shell.stdout.readline, b''): system(f'sed "s/output here/{line.strip().replace("/", "\\/")}/g" {SITE_FILES_DIR}/tmp.html >{SITE_FILES_DIR}/index.html')