mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 16:48:31 +02:00
- Add Japanese translations for documentation - Implement I18N framework - Update mkdocs.yml for multi-language support This commit significantly enhances the project's internationalization.
132 lines
9 KiB
Markdown
132 lines
9 KiB
Markdown
<!--
|
||
Copyright © 2012-2023 jrnl contributors
|
||
License: https://www.gnu.org/licenses/gpl-3.0.html
|
||
-->
|
||
|
||
# jrnlへの貢献
|
||
|
||
jrnlへの貢献を歓迎します。バグの報告、ドキュメントの改善、リリースのテスト、機能やバグに関する議論への参加、コードの作成など、さまざまな形での貢献が可能です。
|
||
|
||
## 目次
|
||
|
||
- [行動規範](#行動規範)
|
||
- [バグの報告](#バグの報告)
|
||
- [ドキュメントの編集](#ドキュメントの編集)
|
||
- [テスト](#テスト)
|
||
- [機能リクエストとアイデアの提出](#機能リクエストとアイデアの提出)
|
||
- [jrnlの開発](#開発)
|
||
|
||
## 行動規範
|
||
|
||
まず始めに、[行動規範](https://github.com/jrnl-org/jrnl/blob/develop/CODE_OF_CONDUCT.md)をお読みください。
|
||
|
||
## バグの報告
|
||
|
||
バグは[新しい問題を開く](https://github.com/jrnl-org/jrnl/issues/new/choose)ことで報告してください。できるだけ詳細に説明してください。多くのバグは特定のオペレーティングシステムやPythonのバージョンに固有のものなので、その情報も含めてください!
|
||
|
||
## ドキュメントの編集
|
||
|
||
ドキュメントにタイプミスや間違いを見つけた場合は、すぐに修正してプルリクエストを送ってください。何を変更すべきか不確かだが問題を見つけた場合は、「ドキュメントの変更」タイプで[新しい問題を開く](https://github.com/jrnl-org/jrnl/issues/new/choose)ことができます。
|
||
|
||
ドキュメントを編集するには、**develop**ブランチの`docs/*.md`ファイルを編集します。プロジェクトのルートディレクトリで`poe docs-run`を実行し、ブラウザで[localhost:8000](http://localhost:8000)にアクセスすることで結果を確認できます。
|
||
|
||
### 外部エディタとヒントとコツ
|
||
|
||
便利だと思うjrnlのコマンドラインテクニックを共有したい場合は、["ヒントとコツ"セクション](tips-and-tricks.md)に追加するとよいでしょう。特定の外部エディタとの統合に関するアドバイスは、["外部エディタ"セクション](external-editors.md)に追加できます。
|
||
|
||
## テスト
|
||
|
||
jrnlの保守作業の多くは、コーディングよりもテストに関わるものです。
|
||
|
||
jrnlの性質上、非常に機密性の高いデータを扱うため、データ損失のリスクを冒すことはできません。jrnlには包括的な自動テストスイートがありますが、ユーザーテストはこのリスクを軽減する上で極めて重要です。
|
||
|
||
### プレリリース
|
||
|
||
[プレリリースは通常のリリースと同様にPyPiを通じてデプロイされます](https://pypi.org/project/jrnl/#history)。[pipx](https://pypi.org/project/pipx/)を使用してそれらを取得し、テストすることができます。各リリースで変更された内容については[チェンジログ](https://github.com/jrnl-org/jrnl/blob/develop/CHANGELOG.md)を参照してください。
|
||
|
||
### プルリクエスト
|
||
|
||
gitに慣れている場合は、特定の[プルリクエスト](https://github.com/jrnl-org/jrnl/pulls)をフェッチし、自分でテストして、結果を報告してください。新機能の動作をスクリーンキャストで示すとなおよいでしょう。
|
||
|
||
### バグ報告の確認
|
||
|
||
[GitHubの問題](https://github.com/jrnl-org/jrnl/issues?q=is%3Aissue+is%3Aopen+label%3Abug)には常にオープンなバグがあり、多くは特定のOS、Pythonバージョン、またはjrnlバージョンに固有のものです。「jrnl v2.2、MacOS 10.15、Python 3.8.1で確認」といった簡単なコメントでも、バグの追跡に非常に役立ちます。
|
||
|
||
### 自動テスト
|
||
|
||
新しい自動テストの追加方法については、以下の開発セクションを参照してください。
|
||
|
||
## 機能リクエストとアイデアの提出
|
||
|
||
jrnlに対する機能リクエストやアイデアがある場合は、[新しい問題を開いて](https://github.com/jrnl-org/jrnl/issues/new/choose)機能の目的と関連するユースケースを説明してください。私たちはあなたと議論し、それがプロジェクトに適しているかどうかを決定します。
|
||
|
||
新機能について議論する際は、私たちの設計目標を念頭に置いてください。jrnlは[一つのことをうまく行う](https://en.wikipedia.org/wiki/Unix_philosophy)ことを目指しています。私たちにとって、それは以下を意味します:
|
||
|
||
- *機敏*であること
|
||
- シンプルなインターフェースを持つこと
|
||
- 機能の重複を避けること
|
||
|
||
## 開発
|
||
|
||
### 環境のセットアップ
|
||
|
||
jrnlを開発するには[poetry](https://python-poetry.org/)をインストールする必要があります。poetryがプロジェクトの他のすべての依存関係を管理します。
|
||
|
||
### ブランチの理解
|
||
|
||
jrnlは主に2つのブランチを使用します:
|
||
|
||
- `develop` - 継続的な開発用
|
||
- `release` - リリース用
|
||
|
||
一般的に、プルリクエストは`develop`ブランチに対して行われるべきです。
|
||
|
||
### 一般的な開発コマンド
|
||
|
||
`pyproject.toml`にコマンドの一覧があります。ユーザーは`poe`の後にコマンド名を入力することでコマンドを実行できます([Poe the Poet](https://github.com/nat-n/poethepoet)は単独で、または`poetry install`の一部としてインストールできます)。
|
||
|
||
典型的な開発ワークフローには以下が含まれます:
|
||
|
||
- 依存関係のインストール:
|
||
- `poetry install`
|
||
- 仮想環境の有効化:
|
||
- `poetry shell`
|
||
- 仮想環境でソースを実行:
|
||
- `jrnl`(必要に応じて引数を付けて)
|
||
- テストの実行:
|
||
- `poe test`
|
||
- コードのフォーマットをスタイルに標準化:
|
||
- `poe format`
|
||
|
||
### 自動テストの更新
|
||
|
||
バグの解決や新機能の追加時には、将来その機能が壊れるのを防ぐためにテストを追加してください。テストでカバーされていない機能に気づいた場合は、テストのみのプルリクエストを提出することもできます。
|
||
|
||
テストには、ユニットテスト用に[pytest](https://docs.pytest.org)を、統合テスト用に[pytest-bdd](https://pytest-bdd.readthedocs.io/)を使用しています。すべてのテストは`tests`フォルダーにあります。
|
||
|
||
多くのテストは、他のテストと同じフォーマットの`*.feature`ファイルを編集するだけで作成できます。より複雑な機能については、`tests/lib/`にステップを実装し、それを`feature`ファイルのテストで実行する必要があるかもしれません。
|
||
|
||
### プルリクエストの提出
|
||
|
||
準備ができたら、プルリクエスト(PR)を提出してください。jrnlのメンテナーは通常2週間ごとにプルリクエストをレビューしますが、継続的統合パイプラインは数分以内にあなたのコードに対して自動テストを実行し、さまざまな環境で見つかった問題を報告します。
|
||
|
||
プルリクエストのテンプレートにはハウスキーピング項目のチェックリストが含まれています。提出時に必要に応じてそれらを記入してください。
|
||
|
||
プルリクエストにテスト失敗が含まれている場合、おそらくレビューされず、確実に承認されません。ただし、テスト失敗の解決に助けが必要な場合は、PRでその旨を言及してください。
|
||
|
||
### 作業対象を見つける
|
||
|
||
[jrnlのGitHub Issues](https://github.com/jrnl-org/jrnl/issues)を[ラベル](https://github.com/jrnl-org/jrnl/labels)で検索して、作業対象を見つけることができます。以下は検索する価値のあるラベルです:
|
||
|
||
- [critical](https://github.com/jrnl-org/jrnl/labels/critical)
|
||
- [help wanted](https://github.com/jrnl-org/jrnl/labels/help%20wanted)
|
||
- [bug](https://github.com/jrnl-org/jrnl/labels/bug)
|
||
- [enhancement](https://github.com/jrnl-org/jrnl/labels/enhancement)
|
||
|
||
[マイルストーン](https://github.com/jrnl-org/jrnl/milestones)をレビューして、プロジェクトの優先事項を把握することもできます。
|
||
|
||
### 新しいプログラマーとPythonを初めて使うプログラマーへの注意
|
||
|
||
jrnlは発足以来かなり成長しましたが、全体的な複雑さ(エンドユーザープログラムとしては)は比較的低く、コードを理解しやすいと思います。
|
||
|
||
質問がある場合は、遠慮なく聞いてください!Pythonは初心者プログラマーを歓迎し、オープンなコミュニティとして知られています。コードをフォークして自由に試してみてください!私たちと共有したいものを作成した場合は、プルリクエストを作成してください。プルリクエストが完璧で、慣用的で、すぐにマージできるコードであることは期待していません。一緒に取り組んでいきましょう!
|