README_JP.md 3.1 KB

English 🇺🇸

このアプリについて

GROWI には、ページを PDF 形式で一括エクスポートする機能があり、ページメニューから実行できます。 このアプリ(PDF-Converter)は、そのプロセスの中で Markdown ページを PDF に変換するために必要です。

開発

内部仕様

/資料/内部仕様/Page Bulk Export/PDF エクスポート

Devcontainer 内での開発

  1. VSCode を開く
  2. .devcontainer/compose.extend.template.yml と同様の内容で .devcontainer/compose.extend.yml を作成
  3. コマンドパレットを開く(Windows: Ctrl + Shift + P、Mac: Cmd + Shift + P
  4. Dev Containers: Open folder in Container... を選択
  5. https://github.com/growilabs/growi からクローンした GROWI のルートディレクトリを選択
    • PDF-Converter のディレクトリ(growi/apps/pdf-converter)ではなく、GROWI のルートディレクトリを選択すること
  6. GROWI-PDF-Converter をコンテナとして選択
  7. cd apps/pdf-converter && turbo dev:pdf-converter を実行し、PDF-Converter アプリを起動
  8. apps/pdf-converter 内のファイルを編集して開発を行う

GROWI から PDF-Converter へのリクエストを実行(両方とも devcontainer 内で起動)

  1. VSCode を開き、GROWI の devcontainer を開く
    • GROWI-Dev をコンテナとして選択
  2. apps/app/.env.development.localBULK_EXPORT_PDF_CONVERTER_URI=http://pdf-converter:3010 を追記
  3. 新しい VSCode ウィンドウを開き、PDF-Converter の devcontainer を開く
  4. 両方のアプリを起動
  5. GROWI アプリのページメニューから PDF の一括エクスポートをリクエスト
    • GROWI の設定によっては、処理に数分かかる場合があります

備考

二つのコンテナを初めて作成する時や、コンテナを rebuild する時、必ず GROWI-Dev を先に選択して作成してください。 GROWI-Dev は devcontainer features を使用して node を有効化していますが、features は最初に作成したコンテナにしか有効になりません

PDF-Converter クライアントライブラリ

pdf-converter-client は、PDF-Converter へのリクエストを行うクライアントライブラリであり、GROWI 内部で使用されています。このコードは PDF-Converter のコードから自動生成されます。

PDF-Converter API を更新した際は、必ずクライアントライブラリも更新してください。

クライアントライブラリは以下のいずれかの方法で更新可能です:

  • cd ${growi_root_path}/packages/pdf-converter-client && pnpm gen:client-code を実行
  • GROWI アプリを起動
    • GROWI の devcontainer 内 (PDF-Converter の devcontainer ではない)cd ${growi_root_path}/apps/app && turbo dev を実行