Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vivliostyle Pub の現状と課題 #vivliostyle / Current status and issues of Vivliostyle Pub

takanakahiko
October 24, 2020

Vivliostyle Pub の現状と課題 #vivliostyle / Current status and issues of Vivliostyle Pub

https://vivliostyle.connpass.com/event/189940/

発表内容とは関係ないけど Sperkerdeck で太字が掠れてしまうのどうにかしたい

takanakahiko

October 24, 2020
Tweet

More Decks by takanakahiko

Other Decks in Technology

Transcript

  1. Vivliostyle Pub
    の現状と課題
    @takanakahiko
    CSS組版 Vivliostyle ユーザーと開発者の集い 2020秋

    View full-size slide

  2. @takanakahiko
    - ゲーム会社でマイクロサービスを作っている
    - Vivliostyle に貢献
    - 女児向けアニメを観る
    など、活動は多岐にわたる

    View full-size slide

  3. Vivliostyle Pub とは
    Vivliostyle の
    クラウドプラットフォーム

    View full-size slide

  4. 話すこと
    1. 現状どのようなことを実現できるか
    2. 抱えている課題
    3. 展望

    View full-size slide

  5. 話すこと
    1. 現状どのようなことを実現できるか
    2. 抱えている課題
    3. 展望

    View full-size slide

  6. Vivliostyle Pub で行えること
    - Web上のエディタによる執筆
    - GitHub 上のリポジトリよりPDFを出力

    View full-size slide

  7. ワークフロー(現状)
    Local Editor
    Remote Editor
    Push Generate
    OR
    (例)

    View full-size slide

  8. ワークフロー(現状)
    Local Editor
    Remote Editor
    Push Generate
    OR
    (例)

    View full-size slide

  9. Web上のエディタ画面
    - Markdownによる執筆
    - Theme 選択
    - PDF 出力指示
    Designed by @uetschy

    View full-size slide

  10. GitHub上のリポジトリからPDFの出力をする
    - 任意のリポジトリを読み取り
    - PDFを出力
    を自動で行うサーバをホスティング
    ( Netlify や Gatsby Cloud などが近いです)

    View full-size slide

  11. 出力を行うタイミング
    Local Editor
    Remote Editor
    Push Generate
    OR
    (例)
    Pubsub
    Webhook

    View full-size slide

  12. ...ちょっとITエンジニア向けの実装の話
    - ページ数の多いPDFの出力は時間がかかりますので、非同期的に出力を行う環境
    を用意する必要がありました
    - GitHub Apps を用いることでリポジトリ単位での許可を取れるようにし、過度な権限
    を必要としない設定にしました
    - 現状のアーキテクチャはこんな感じです(次ページ)

    View full-size slide

  13. アーキテクチャ
    Frontend
    & Backend for Frontend
    Webhook & Pull
    Send build request
    Backend for Build
    Pull & Push
    Firebase 
    Cloud Run 
    Cloud   
    Storage 
    Datastore & ID Provider
    Send build result ( PDF’s URL )

    View full-size slide

  14. 話すこと
    1. 現状どのようなことを実現できるか
    2. 抱えている課題
    3. 展望

    View full-size slide

  15. GitHub でリポジトリを用意する必要がある
    - 現状は Vivliostyle Pub でリポジトリを構成するファイル群を保存できるようなスト
    レージ機能は有していない
    - そのため、GitHubのリポジトリを読み書きすることで対応
    - GitHubの利用者向けのサービスとなっている
    → こちらでストレージを提供する機能を検討中ではあるが
      GitHubを用いるワークフローは残せるように検討している

    View full-size slide

  16. PDF以外の出力に対応できていない
    - 現状は PDF の出力のみに対応している
    - 当然他の形式への出力も
    → 現在 PDF / EPUB / WebBook への出力を選択できるように実装予定

    View full-size slide

  17. 開発体制がオープンでない
    - 現在は Vivliostyle の 有志 Contributor によって開発
    - Credential 等の懸念を気にせずにモックアップの作成に専念したかったためソース
    コードをクローズにした状態で開発
    - 利用者の意見を取り入れる機会が少なかった
    → 現在、オープンソース化に向けて作業を進めています!

    View full-size slide

  18. 話すこと
    1. 現状どのようなことを実現できるか
    2. 抱えている課題
    3. 展望

    View full-size slide

  19. の前に補足
    - 私の個人的な願望がかなり含まれてます
    - Vivliostyle Pub はニーズに対して柔軟に仕様を決めていきたいので、この通りに
    進むことを保証するものではないです
    - むしろ、反対意見や追加の要望等がどんどんほしいです!

    View full-size slide

  20. 展望1
    フォントの埋め込みに対応
    Vivliostyle Pub では様々なフォントを埋め込むことができるように
    フォントに拘りたい執筆者をサポートできるようなプラン
    フォントを自分で購入するよりも安い価格で提供できるかもしれない...

    View full-size slide

  21. 展望2
    Theme のマーケットプレイス
    Vivliostyle Pub で Theme[1] の配布と利用を可能にする
    Theme の作成で Vivliostyle に貢献してくれるひとがマネタイズできる
    [1] … VFM によって生成された HTML に対応した CSS テーマ
    論文風テーマ、雑誌風テーマ、と簡単に切り替えることができる

    View full-size slide

  22. 展望3
    印刷所への直接入稿に対応
    印刷所への入稿には多くの手間が発生するが、
    Vivliostyleを用いることでその手間を軽減することが出来ないか?
    “本の印刷をもっと身近に” が実現できたら素敵

    View full-size slide

  23. ローンチ時期
    2021年6月 予定
    (前回お知らせより後ろ倒しになってます。申し訳ないです)

    View full-size slide

  24. まとめ
    - Vivliostyle のクラウドプラットフォーム
    - 現状はエディタとクラウドビルドを実装
    - PDF / EPUB / WebBook に出力できるようにすることを検討
    - オープンにしていくことで、ぜひ皆さんのご意見を伺いたいです!

    View full-size slide