概要

Rampのカスタマイズ方法に関する備忘録です。カスタマイズの結果、以下のように、UIの一部を日本語化し、メディアプレイヤーとメタデータおよび文字起こしを左右に並べて表示します。また、クエリパラメータtを使って、音声の再生開始時間を指定できるようにします。

例えば、以下のURLから、140秒時点から再生することができます。

https://ramp-iiif.vercel.app/?iiif-content=https://nakamura196.github.io/ramp_data/demo/3571280/manifest.json&t=140

以下がカスタマイズ前です。

セットアップ

以下の記事の参考にしてください。

カスタマイズ

音声の再生開始時間の指定

以下のマニュアルにおいて、startCanvasTimeプロパティが使えることがわかります。

https://samvera-labs.github.io/ramp/#!/IIIFPlayer

そこで、以下のindex.jsファイルに対して、startCanvasTimeをクエリパラメータから取得する処理を追加します。

iiic}c}Rmmmo;oe>pppncli}rnci}ram,oooisefesofecarrrmtntuttnrttndtttpsl(rus(euDioomteuplrstptrOfcRRAratrantaunMeueeptnplr=aprr.smaapiauauraan0rtecccfrr=mprtrm;eUnttfoealsalCaspnRtDrnsm".r;am.adL.fOofts=hhanshre=grMmiUtamvasr{eogR=`tssa=se(mtmfL$p(.s(F<aErfn{s'gTn'lAnl'o/r=ec:ieietopiermaowo/itmw'apfmepmn/i(e)teea'pUfnf'U)(sncr'Ria-i=Rpttte;=LgkciL{aUB'a/>S.aoiSrRy;cceumnfeaLIto{arut-am(d-nrlrec=rs)(dfc}ano>c.}'oih/1tnhgrmgPm9't{Peso''aa6)eatto;;rn.)nr(ataigta'r'mfi{'mtt)set)s'C)(sh;()a;wtuw)nisbi;vn/.nad$idso{ooTwcwi.r.mlnaleofmo=cipc{ag_ast.dttieaiaontornvant.}.Csdsaeleenaumavrnoracc/cshh3hT)r5)i;o7;mo1em2(_8)m0}a/nmnaenrisf.ejssto.nj`s;on"

そして、app.jsに対して、startCanvasTimeプロパティを与えます。これにより、クエリパラメータから、メディアの再生開始時間を指定できます。

<IImsIatFnaPirlftaeCysaetnrUvrals=T{immaen=i{fceasntvUarslT}ime}

日本語化およびレイアウトの変更

上記と同様、demo/app.jsファイルを編集することで、日本語化およびレイアウトの変更を行うことができます。

Vercelへのデプロイ

Build & Development Settingsを以下のように指定します。

Build Commandnpm run demo:buildOutput Directorydemo/distを設定します。

また、Node.js Version18.xにする必要がありました。20.xの場合、パッケージのインストール時にエラーが発生しました。

まとめ

Rampの開発に関わる方々に感謝いたします。RampおよびIIIF Presentation API v3の利用にあたり、参考になりましたら幸いです。