Skip to content

tadsan's slide deckとは何か

作ったわけですよ。

tadsan's slide deckzonuexe.github.iotadsan's slide deck

このあたりの話はPHP勉強会でも話しました。

スライドをシェアできるサービスを作るzonuexe.github.iotadsan's slide deck

つまりどういうことか

  • スライドサービスのサ終つらい… もう自前でやるしかない
  • JSer.infoazuさんの成果物をいい感じに利用させてもらった
  • onkさんがむかしやってたやつは既に動いてないことは知ってたので静的にこだわった

どういう構造になっているか

やったこと

  1. pdf.js-controllerをfork
    • コードとツールセットを近代化改修・TypeScript化
    • 最新のPDF.jsにアップデート
    • Retinaディスプレイ対応
  2. slide-pdf.jsをfork
    • コードとツールセットを近代化改修・TypeScript化
    • fork版の@zonuexe/pdf.js-controllerに置き換え
    • Speakerウィンドウを追加
    • Rabbit風タイマーを追加
  3. https://github.com/zonuexe/slides にPDFビューアーを実装
    • YAMLに書いたメタデータからページを一覧
    • スライドごとのページで <iframe> でslide-pdf.jsを埋め込む
    • PDFに含まれるテキストをすべて抽出して全文検索
      • Fuse.jsでフロントエンドだけで完結している
    • 最初はHonoを使っていたが、いろいろあって今はVitePressを使っている

一度はPHPでファイルシステムベースのルーターを自分で書いて置き換えようと思ってたんですが、いろいろ試している間にViteの手触りがいいなということに気付いてしまい、VitePressに書き換えちゃったのでした。これが俺たちが欲しかったやつなんだよ…

実際に勉強会やカンファレンスで使うかはともかく、全画面表示やら別ウィンドウのスピーカービュー、そしてRabbitモードも用意したので、末長く育てていければと思っております。

すべての文章は特記がない限り zonuexe によるものです。