blob: afb6e8a80c1761a925dc3e32e79e45b9167c5afe [file] [log] [blame]
#!/usr/bin/python3
import argparse
from pathlib import Path
import re
import shutil
import sys
REPLACEMENT_REGEX = r'^\{\% setvar book_path.*\%\}\n\{\%.*\%\}$'
STYLE_TEMPLATE = '<link rel="stylesheet" href="%s">'
def relative_style(html_file):
return '../' * str(html_file).count('/') + 'style.css'
def main(args=None):
parser = argparse.ArgumentParser()
parser.add_argument('--path', '-p', required=True)
parser.set_defaults(format=False)
args = parser.parse_args()
# copy style.css
shutil.copyfile(sys.path[0] + '/style.css', args.path + 'style.css')
# rewrite html files to include stylesheet link
root = Path(args.path)
regex = re.compile(REPLACEMENT_REGEX, flags=re.MULTILINE)
for html_file in list(root.glob('**/*.html')):
relative_html_file = html_file.relative_to(root)
content = html_file.read_text()
style_link = STYLE_TEMPLATE % relative_style(relative_html_file)
html_file.write_text(regex.sub(style_link, content))
if __name__ == '__main__':
main()