Guide de Contribution
Que puis-je contribuer ?
Il existe de nombreuses façons de contribuer, telles que la traduction, l'amélioration, la suggestion, le signalement de bugs, etc.
- Les nouvelles traductions sont très utiles pour ceux qui ne sont pas familiers avec les langues étrangères pour apprendre quelque chose de nouveau.
- Fournir des idées pour ajouter de nouvelles fonctionnalités ou améliorer les fonctionnalités existantes est très utile pour le développement de la prochaine version.
- L'amélioration de la documentation ou l'ajout d'exemples aide les autres à avoir une meilleure expérience utilisateur.
- Le signalement des bugs aide à rendre MMG plus stable.
Comment puis-je contribuer ?
- Si vous souhaitez suggérer ou améliorer quelque chose, veuillez créer un nouveau problème sur Issues.
- Vous pouvez également envoyer une Pull Request.
- N'hésitez pas à poser des questions sur Discussions.
Toutes les suggestions sont-elles acceptées ?
J'accueille toujours et apprécie vos opinions. J'essaie d'accepter autant de suggestions que possible, mais je ne peux pas accepter toutes les suggestions de manière réaliste.
Les cas suivants peuvent ne pas être acceptés :
- Si cela ne correspond pas à la direction de MMG
- MMG espère être aussi intuitive que possible.
- MMG ne préfère pas une structure complexe d'un fichier de base.
- S'il est plus approprié de créer un autre programme plutôt que d'ajouter une fonctionnalité à MMG
- Par exemple, s'il y a trop de langues à gérer dans un fichier de base, il peut être très inconfortable pour les utilisateurs d'utiliser MMG directement. Dans de tels cas, il serait plus approprié de créer un nouveau programme GUI basé sur MMG.
- S'il y a un problème avec la licence open source
- MMG utilise la licence MIT, elle n'est donc pas compatible avec la licence GPL.
Les cas suivants peuvent être retardés :
- Les fonctionnalités qui nécessitent des services payants
- MMG vise à être un logiciel libre, donc les services payants doivent être fournis en option.
- Les fonctionnalités qui nécessitent une connexion Internet
- MMG doit pouvoir fonctionner même dans des environnements hors ligne, donc les fonctionnalités qui ne fonctionnent que en ligne doivent être fournies en option.
Comment puis-je construire MMG localement pour le développement ?
Je recommande d'utiliser un environnement virtuel Python afin de ne pas entrer en conflit avec votre environnement de développement local existant. MMG utilise Poetry pour gérer l'environnement de développement. Poetry fournit de puissantes fonctionnalités de gestion des dépendances et est très pratique pour gérer les environnements virtuels.
Configuration de l'environnement
Tout d'abord, configurez l'environnement de développement comme suit :
- Installez Poetry selon les instructions de la documentation officielle.
-
Clonez le dépôt et déplacez-vous dans le répertoire du projet.
git clone https://github.com/ryul1206/multilingual-markdown.git cd multilingual-markdown
-
Cette étape est facultative, mais je recommande de créer un environnement virtuel dans le répertoire du projet. Pour ce faire, exécutez les commandes suivantes :
poetry config virtualenvs.in-project true poetry config virtualenvs.path "./.venv"
-
Créez un environnement virtuel et installez les dépendances spécifiées dans le fichier
pyproject.toml
:poetry install --with dev,test,docs
-
Pour activer l'environnement virtuel, exécutez la commande suivante :
poetry shell
Développement
Maintenant que l'environnement de développement est configuré, vous pouvez modifier et tester MMG. Pour appliquer MMG modifié, exécutez la commande suivante :
poetry install
Par exemple, si vous modifiez version
en 9.9.9-beta
dans pyproject.toml
, le résultat de mmg --version
sera différent comme suit :
$ 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