다국어 마크다운 생성기

April 23, 2025 · View on GitHub

Multilingual Markdown Generator

다국어 마크다운 생성기

이 패키지는 단일 기본 파일로부터 다국어 콘텐츠를 관리하고, i18n 마크 다운을 생성하는 명령 줄 인터페이스 (CLI)를 제공합니다.

PyPI - Version PyPI - Python Version GitHub code size in bytes PyPI - License

PyPI - Downloads PyPI Downloads

🌏 English | Français | 한국어 | 日本語

Bash, Zsh, Windows PowerShell에서 사용할 수 있습니다.


목차

  1. 개요
    1. 작동 방식
    2. 특징
  2. 설치
    1. Linux
    2. macOS
    3. Windows
  3. 사용법
  4. 문제 해결
  5. Changelog
  6. 기여하신 분들

개요 🔎

작동 방식

Base 파일 하나만 관리하기 때문에, 콘텐츠 번역이 누락되거나 불일치되는 실수를 줄일 수 있습니다. 또한 단일 파일에서 편집하는 덕분에, Copilot과 같은 AI 도구의 자동 완성 기능으로 편리한 번역을 기대할 수 있습니다.

Markdown:

How It Works: Markdown

Jupyter Notebook:

How It Works: Jupyter Notebook

특징

다음 기능을 지원합니다:

  • Markdown, Jupyter Notebook(.ipynb)을 입력 형식으로 사용
  • As-is(있는 그대로), HTML, PDF 출력 형식
  • Bash, Zsh, Windows PowerShell용 명령줄 인터페이스
  • 파이썬 API
  • -r 옵션을 사용한 재귀 순회 모드 (As-is, HTML, PDF 모두 지원됨)
  • YAML 파일을 사용한 일괄 처리 모드 (As-is만 지원)
  • IETF 언어 태그
  • UTF-8 인코딩
  • 레벨 및 이모티콘 옵션이 포함된 목차 자동 생성 (Markdown 및 Jupyter Notebook 모두 지원)
  • Base 파일 유효성 검사 (언어별 태그 개수 확인)
  • CI/CD를 위한 유효성 검사 only 모드 (파일 생성 비활성화)

설치 📦

Linux

pip3 install mmg

macOS

pip3 install mmg

만약 WeasyPrint와 관련된 문제가 발생한다면, 아래 명령어으로 설치해주세요. WeasyPrint는 PDF를 생성할 때에만 사용됩니다.

brew install weasyprint

Windows

윈도우에는 파이썬이 기본으로 설치되어 있지 않습니다. 파이썬을 설치한 후 파이썬 패키지 관리자 pip로 MMG를 설치해주세요.

pip3 install mmg

Microsoft Store에서 파이썬을 설치했다면, MMG 설치 시 다음과 같은 경고가 나타날 수 있습니다. (표시되는 경로는 사용자마다 다를 수 있습니다.)

$ pip3 install mmg
...
  WARNING: The script mmg.exe is installed in 'C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed mmg-2.0.1

이 경고가 나타나면, 터미널에서 mmg 명령어를 찾지 못하는 상태입니다. 경고 문구에 안내된 경로를 환경변수 PATH에 추가해주세요. 추가하는 방법은 문제 해결 문서에 적어두었습니다.

추가적으로, MMG는 WeasyPrint를 사용하여 PDF를 생성합니다. WeasyPrint는 GTK 라이브러리가 있어야 작동하므로, 최신 GTK3 설치 파일을 다운로드하고 실행하세요. PDF 생성 기능을 사용하지 않는다면 이 단계을 건너뛰어도 됩니다. GTK가 없더라도 MMG의 다른 기능들은 정상적으로 쓸 수 있습니다.

사용법 💡

자세한 사용법과 예제는 문서를 참고해주세요.

$ mmg --help
Usage: mmg [OPTIONS] [FILE_NAMES]...

  FILE_NAMES: Base file names to convert.

  Supported extensions are:
      .md, .markdown, .mkd (Markdown)
      .mdx (MDX - Markdown + JSX) [experimental]
      .rmd (R Markdown) [experimental]
      .mmd (MultiMarkdown) [experimental]
      .qmd (Quarto) [experimental]
      .ipynb (Jupyter Notebook)

  Here are some examples:
      mmg *.base.md
      mmg *.base.ipynb
      mmg *.base.md *.base.ipynb -o pdf --css github-dark
      mmg --recursive
      mmg --recursive --validation-only
      mmg --batch mmg.yml

Options:
  -r, --recursive                 This will search all subfolders based on
                                  current directory.
  -b, --batch FILE                YAML file path for batch conversion.
                                  (Default: None)
  -o, --output-format [as-is|html|pdf]
                                  Output format. (Default: as-is)
  --css TEXT                      CSS file path or preset('github-
                                  light'/'github-dark'). Only for the HTML/PDF
                                  output. (Default: github-light)
  -y, --yes                       This will confirm the conversion without
                                  asking. (Default: False)
  -s, --skip-validation           Skip the health check. (Default: False)
  --validation-only               Only check the health. (Default: False)
  -v, --verbose                   Verbosity level from 0 to 2. --verbose:1,
                                  -v:1, -vv:2 (Default: 0)
  --version                       Show the current version.
  --help                          Show this message and exit.

문제 해결 💊

문제 해결 페이지를 참고해주세요.

Changelog 📝

CHANGELOG.md

기여하신 분들 🤝

contrib.rocks로 만들었습니다.

기여 방법에 관심이 있으시다면, 기여 가이드를 참고해주세요.