#!/usr/bin/env python """CLI: DOCX → Markdown (диалект md2gost).""" from __future__ import annotations import argparse import sys from .pipeline import ImportRequest, convert_docx def main() -> None: p = argparse.ArgumentParser( prog="word2md", description=( "Импорт DOCX в Markdown диалекта md2gost " "(заголовки # *, подписи %id, @Рисунок:id, таблицы, листинги)." ), ) p.add_argument("filename", help="Исходный .docx") p.add_argument( "-o", "--output", default=None, help="Путь к .md (по умолчанию: .md рядом с docx)", ) p.add_argument( "--media-dir", default=None, help="Каталог для картинок (по умолчанию: _media рядом с .md)", ) p.add_argument( "--keep-toc-pages", action=argparse.BooleanOptionalAction, default=False, help="Не выкидывать строки содержания Word (по умолчанию выкл.: только [TOC])", ) p.add_argument( "--pagebreaks", action=argparse.BooleanOptionalAction, default=False, help="Писать --- на разрывах страниц Word (для --hr-pagebreak при обратной сборке)", ) args = p.parse_args() result = convert_docx( ImportRequest( filename=args.filename, output=args.output, media_dir=args.media_dir, keep_toc_pages=args.keep_toc_pages, emit_page_breaks=args.pagebreaks, ) ) sys.exit(result.exit_code) if __name__ == "__main__": main()