#!/usr/bin/env python3 """ Convert Markdown into 80-column DOS-compatible plain text. """ from __future__ import annotations import argparse import json import re import sys from pathlib import Path from typing import Iterable, List, Optional, Set, Tuple from md_types import BlockStyle, FrontMatter from markdown_parser import MarkdownParser from text_renderer import TextRenderer FRONTMATTER_PATTERN = re.compile(r"^---\s*$") INCLUDE_WIKILINK_PATTERN = re.compile(r"^\s*!\[\[(.+?)\]\]\s*$") INCLUDE_DIRECTIVE_PATTERN = re.compile(r"^\s*\{\s*\.include\s+(.+?)\s*\}\s*$") ASCII_BLOCK_PATTERN = re.compile( r"^\s*#\[(?P