Important
このリポジトリはSourceSageを活用しており、リリースノートやREADME、コミットメッセージの9割はSourceSage + claude.aiで生成しています。
Prothielは、Markdownファイルからコードブロックを抽出し、それらを構造化されたファイル階層に整理するプロセスを簡素化する強力なPythonパッケージです。Prothielを使用すると、Markdownドキュメントを実行可能なPythonコードに簡単に変換できるため、開発者やテクニカルライターにとって貴重なツールとなります。
- 🔍 カスタマイズ可能なパターンに基づいてMarkdownファイルからコードブロックを抽出
- 📂 抽出されたコードをクリーンなファイル構造に整理
- 🎨 可読性を向上させるためのシンタックスハイライトをサポート
- 🧪 コードの整合性を確保するための組み込みテスト機能
- 🚀 ワークフローにシームレスに統合するためのコマンドラインインターフェイスを提供
- Python 3.11以降
-
新しいconda環境を作成します:
conda create -n prothiel python=3.11
-
環境をアクティベートします:
conda activate prothiel
-
Prothielをインストールします:
pip install prothiel
-
次の形式でコードブロックを含むMarkdownファイルを用意します:
### path/to/file.py ```python # ここにコードを書く ```
-
コマンドラインからProthielを実行します:
prothiel path/to/markdown_file.md output_directory
Prothielは、Markdownファイルからコードブロックを抽出し、指定された出力ディレクトリに対応するPythonファイルを作成します。
次の内容を持つexample.md
というMarkdownファイルがあるとします:
# Math functions
## Description
このテンプレートには、簡単な計算機能を持つ4つのPythonファイルが含まれています。各ファイルは基本的な算術演算を行う関数を定義しています。
### math_functions/basic_math/addition.py
```python
def add(a, b):
return a + b
```
### math_functions/basic_math/subtraction.py
```python
def subtract(a, b):
return a - b
```
## 発展的な数学
### math_functions/advanced_math/multiplication.py
```python
def multiply(a, b):
return a * b
```
### math_functions/advanced_math/division.py
```python
def divide(a, b):
if b != 0:
return a / b
else:
raise ValueError("0での除算は許可されていません。")
```
コードブロックを抽出してPythonファイルに整理するには、次のコマンドを実行します:
prothiel --markdown_file=example/01_math_functions.md --root_path=example/01_math_functions
prothiel --markdown_file=example/02_Project_Example.md --root_path=example/02_Project_Example
Prothielは次のファイル構造を作成します:
math_functions/
├── basic_math/
│ ├── addition.py
│ └── subtraction.py
└── advanced_math/
├── multiplication.py
└── division.py
詳細なドキュメントと高度な使用法については、Prothielドキュメントを参照してください。
貢献は大歓迎です!アイデア、提案、バグ報告がある場合は、Issueを開くかプルリクエストを送ってください。詳細についてはCONTRIBUTING.mdを参照してください。
このプロジェクトはMITライセンスの下でライセンスされています。
オープンソースコミュニティの皆様の貴重な貢献と着想に感謝いたします。
Prothielを使って、Markdownファイルからのコード抽出を楽々と始めましょう!🚀✨