기여 가이드
어떤 것들을 기여할 수 있나요?
번역, 개선, 제안, 버그 제보 등 기여에는 다양한 방법이 있습니다.
- 새로운 번역은 외국어가 익숙하지 않은 분들이 새로운 것을 배울 때 큰 도움이 됩니다.
- 새로운 기능을 추가하거나 기존 기능을 개선하는 것에 대한 아이디어를 제공하는 것은 다음 버전의 개발에 큰 도움이 됩니다.
- 문서를 개선하거나 예제를 추가하는 것은 다른 사람들이 더 나은 사용자 경험을 할 수 있도록 도움이 됩니다.
- 버그를 제보하는 것은 MMG를 더 안정적으로 사용할 수 있도록 도와줍니다.
의견을 제공하거나 질문을 하려면 어떻게 해야 하나요?
- 제안하고 싶은 것이나 개선하고 싶은 것이 있다면, GitHub의 Issues에 새로운 이슈를 등록해 주세요.
- Pull Request를 보내는 것도 좋습니다.
- GitHub의 Discussions에 질문을 남길 수도 있습니다.
모든 제안이 받아들여지나요?
항상 여러분의 의견을 환영하고 감사하게 생각합니다. 최대한 많은 제안을 받아들이려고 노력하고 있지만, 현실적으로 모든 의견을 수용할 수는 없습니다.
다음과 같은 경우에는 받아들이지 않을 수 있습니다:
- MMG의 방향성과 맞지 않는 경우
- MMG는 가능한 직관적으로 사용될 수 있기를 희망합니다.
- Base File의 구조가 복잡해지는 것은 선호하지 않습니다.
- MMG의 기능을 늘리는 것이 아니라, 다른 프로그램을 만드는 것이 더 적합한 경우
- 예를 들어, Base File에서 관리해야 할 언어가 너무 많아지게 된다면, 사용자가 직접 MMG를 사용하는 것은 매우 불편할 수 있습니다. 이러한 경우에는 MMG에 기반한 별도의 GUI 프로그램을 만드는 것이 더 적합할 것입니다.
- 오픈소스 라이선스에 문제가 생기는 경우
- MMG는 MIT 라이선스를 사용하므로, GPL 라이선스와 호환되지 않습니다.
다음과 같은 경우에는 반영이 늦어질 수 있습니다:
- 유료 서비스의 기능을 요구하는 기능
- MMG는 무료 소프트웨어를 지향하기 때문에, 유료 서비스는 옵션으로 제공되는 것이 바람직합니다.
- 인터넷이 연결되어야 작동하는 기능
- MMG는 인터넷이 연결되지 않은 환경에서도 작동할 수 있어야 하므로, 온라인에서만 작동하는 기능은 옵션으로 제공되는 것이 바람직합니다.
MMG를 로컬에서 개발하려면 어떻게 해야 하나요?
기존 로컬의 개발환경과 충돌하지 않도록, 파이썬 가상환경을 사용하는 것을 추천합니다. MMG는 Poetry를 사용하여 개발환경을 관리하고 있습니다. Poetry는 강력한 의존성 관리 기능을 제공하며, 가상환경을 관리하는 것이 매우 편리합니다.
환경 설정
먼저 다음과 같이 개발환경을 설정합니다:
- 공식 문서의 지침에 따라 Poetry를 설치합니다.
-
저장소를 복제하고 프로젝트 디렉토리로 이동합니다.
git clone https://github.com/ryul1206/multilingual-markdown.git cd multilingual-markdown
-
필수는 아니지만, 프로젝트 디렉토리 내에 가상환경을 생성하는 것을 추천합니다. 이를 위해 다음과 같이 설정합니다:
poetry config virtualenvs.in-project true poetry config virtualenvs.path "./.venv"
-
가상환경을 생성하고
pyproject.toml
파일에 명시된 의존성을 설치합니다:poetry install --with dev,test,docs
-
가상환경을 활성화하려면 다음과 같이 입력합니다:
poetry shell
개발
개발환경이 설정되었으니 이제 MMG를 수정하고 테스트할 수 있습니다. 수정된 MMG를 적용하려면 다음과 같이 입력합니다:
poetry install
예를 들어, pyproject.toml
에서 version
을 9.9.9-beta
로 수정하였다면, 다음과 같이 mmg --version
결과가 달라집니다:
$ poetry shell
------------------------------------------------------------------------
(mmg-py3.11) $ mmg --version
Version 2.0.0
------------------------------------------------------------------------
# Change version in pyproject.toml from 2.0.0 to 9.9.9-beta
------------------------------------------------------------------------
(mmg-py3.11) $ poetry install
Installing dependencies from lock file
No dependencies to install or update
Installing the current project: mmg (9.9.9-beta)
------------------------------------------------------------------------
(mmg-py3.11) $ mmg --version
Version 9.9.9b0