Skip to content

ReviewExtention v0.1.0 - Ruby Hybrid Pipeline

Choose a tag to compare

@dsgarage dsgarage released this 08 Sep 07:03
· 8 commits to main since this release

ReviewExtention v0.1.0

🎉 初回リリース

ReviewExtention v0.1.0 をリリースしました!このバージョンでは、Re:VIEW 5.8 向けの Ruby 拡張によるハイブリッドパイプラインを実装し、長年の課題であった wrap/fold オプションと #@mapfile 機能を完全にサポートしました。

✨ 主な機能

📝 コードブロック拡張(//list)

  • wrap/fold オプション: 長い行の自動折り返し
    • wrap=on: 自動折り返し有効化
    • wrap=80: 80桁での厳密な折り返し
    • fold=on: 折り返し機能有効化
    • foldmark=↩: カスタム折り返し記号
  • 行番号表示: lineno=on で行番号を表示
  • その他のオプション:
    • indent: インデント設定
    • fontsize: フォントサイズ調整
    • filename: ファイル名バッジ表示
    • lang: シンタックスハイライト言語指定

📁 外部ファイル参照

  • #@mapfile: 外部ファイルの安全な取り込み
  • #@maprange: マーカーによる範囲指定取り込み
  • セキュリティ機能:
    • 200KB のファイルサイズ制限
    • 拡張子ホワイトリスト
    • パストラバーサル攻撃防止
    • プロジェクトルート外アクセス禁止

🏗️ ハイブリッドパイプライン

  • アーキテクチャ: JS前処理 + Ruby Builder
  • 責務分担:
    • JS: 入力正規化とメタデータ付与
    • Ruby: 最終レンダリング(PDF品質確定)
  • 統一ビルド: MCP と手動ビルドで同一パイプライン

📦 インストール

git clone https://github.com/dsgarage/ReviewExtention.git
cd ReviewExtention

🚀 使い方

Makefile ターゲット

# JS前処理のみ
make preprocess

# フルパイプライン(JS→Ruby→PDF)
make pdf

# Rubyのみ(デバッグ用)
make pdf-nopre

# テストプロジェクトビルド
make test-pdf

Re:VIEW プロジェクトでの利用

  1. review-ext.rb をプロジェクトにコピー
  2. lib/ruby/ ディレクトリをコピー
  3. Re:VIEW コマンド実行時に自動的に拡張が読み込まれます

📋 動作要件

  • Re:VIEW 5.8.0 以上
  • Ruby 2.7 以上
  • Node.js 18 以上(JS前処理使用時)
  • TeX Live 2022 以上(PDF生成時)

🔧 解決した Issue

  • #19: 外部コードファイル参照機能(#@mapfile)のドキュメント不足
  • #20: //listブロックのwrap/foldオプションが動作しない

📚 ドキュメント

🤝 コントリビューション

Issue や Pull Request を歓迎します!
バグ報告や機能要望は Issues までお願いします。

📄 ライセンス

MIT License

🙏 謝辞

Re:VIEW 開発チームの皆様に感謝いたします。