diff --git a/justfile b/justfile index c5fb0f5..88ab488 100644 --- a/justfile +++ b/justfile @@ -54,6 +54,9 @@ new number: # generate HTML email mail file: - echo {{file}} PYTHONPATH=PWD venv/bin/python ./scripts/prepare_email.py {{file}} +# Format the content of a given newsletter +format number: + PYTHONPATH=PWD venv/bin/python ./scripts/format.py --number={{number}} + diff --git a/scripts/format.py b/scripts/format.py new file mode 100644 index 0000000..d711e48 --- /dev/null +++ b/scripts/format.py @@ -0,0 +1,23 @@ +import argparse +from pathlib import Path + +REPLACEMENTS = { + " :": " :", + " ;": " :", + " !": " :", + " ?": " :", + "'": "’", +} + +parser = argparse.ArgumentParser() +parser.add_argument("-n", "--number", required=True, type=int, help="Newsletter number") +args = parser.parse_args() + +file = Path(f"./content/newsletter/craft-letter-{args.number}.md") + +with open(file) as f: + content = f.read() + for value, replacement in REPLACEMENTS.items(): + content = content.replace(value, replacement) + +file.write_text(content)