KDOC 171: PDF本棚を作る

この文書のステータス

  • 作成
    • 2024-05-13 貴島
  • レビュー
    • 2024-05-19 貴島

DONE プロジェクトステータス

プロジェクトは完了である。

概要

本はPDFで買うようにしている。いい感じにブラウザでPDFを一覧表示して読み始めるためのコードを書いた。

関連

Tasks

TODO 偶然IDフォーマットが一致することがある

文字数だけしか見てないから、たまに一致する。修正する。

TODO 表示数をいじれるようにする

URLは受け取れるが、まだボタンがない。

TODO オフライン時に表示がおかしい

tailwindがダウンロードできてないから。これもコードに入れてしまう。

Archive

DONE 設定ファイルが乱立して扱いが面倒

1ファイルにしたほうがよさそう。

DONE pdfjsリンクを追加する

リンクを追加する。

DONE タグをエントリにも表示する

今はボタンしか表示してないので、個別の本にも表示する。

DONE リンクを設定化する

相対パスにして解決した。

viewに埋め込んでいるので、別環境だと動かなかったりする。

  • localhost じか埋め込みなので、アドレス指定でアクセスしたとき動かないなど

DONE ブックマークでズーム率を保持する

上書きしてるのを直す。

DONE ページ量を可視化する

ゲージを作る。

更新が面倒。既存コードの複数ヶ所に埋め込むのが嫌だな。

いいフックがあった。

document.addEventListener("webviewerloaded", () => {
    PDFViewerApplication.initializedPromise.then(() => {
        PDFViewerApplication.eventBus.on("pagechanging", (e) => {
            console.log('pagechanging, from ' + e.previous + ' to ' + e.pageNumber);
        });
    });
});

DONE ページ移動でログ表示する

DONE ページごとに演出を入れる

色を変えるようにした。

  • 1ページごと
  • 10ページごと
  • 100ページごと