{希哲17年4月15日5歩 K#F85E/E74C-F762}
宇田川浩行{希哲17年4月12日12歩 K#F85E/E74C-5D01}
宇田川浩行pdftoppm
}{譜類添付機能調整}{譜類添付機能}(116){希哲17年4月5日の開発 K#F85E/E74C-3148}
宇田川浩行譜類添付機能調整など。
細かい挙動の調整を終えてから PDF 埋め込み対応を完了,譜類添付機能も全体として完成形と言える状態になり,ようやくエクスポート機能実装に移れる。
3月24日の開発時点では,添付ボタンと埋め込み記法でラスター画像(JPEG, PNG, GIF, WebP)が扱える程度で機能実装の一段落としたが,SVG,動画,音声までの埋め込み含めての対応,その他主要文書譜類対応,添付代置子の導入,貼り付け・ドロップ対応,更に PDF 埋め込み対応と,現時点でやりたいことは一通りやってしまった。一段落とは言ったものの,中途半端感が残りいまいちすっきりせず,デライト公式での機能紹介も出来ていなかった。
PDF 埋め込み対応に関しては,PDF.js と pdftoppm
が優秀だったおかげで意外とあっさり実装出来た。特に PDF.js は viewer.html
の場筋と PDF 譜類の場筋を組み合わせて <iframe>
の src
属性に渡せばいいだけで,スクリプト側の対応も簡単だった。
最初のページを pdftoppm
で JPEG に,cwebp
で WebP に変換,その画像をクリックで縦サイズを合わせた <iframe>
に置換し viewer.html
を読み込む。読み込み中の進捗表示も viewer.html
が行ってくれるので,これだけで違和感なく軽快な PDF 埋め込みが実現出来た。一応,「(.pdf
添付ファイル)」の形で小書き輪結も添えるようにしておいた(PDF 埋め込みの様子)。
一つ,添付譜類の握接権限の課題は残した。現状,場筋が分かっていれば誰でも握接出来るが,デライトの性質上大きな問題ではない。エクスポート機能で譜類の握接制御を実装するのでそれを応用することにした。
{希哲17年4月6日7歩 K#F85E/E74C-2A9E}
宇田川浩行{希哲17年4月5日19歩 K#F85E/E74C-CF37}
宇田川浩行{希哲17年1月16日の開発 K#F85E/E74C-6ADB}
宇田川浩行作業方針検討(4歩),閲覧専用模動実装検討(5歩),デラング整備・埋め込み記法処理改良(8歩〜13歩)。
埋め込み記法処理改良
これまで,埋め込み記法処理の中でも oEmbed を利用したものについては,Dex 内で埋め込み交度の取得を行い直接描写 HTML に埋め込んで返していたが,埋め込み交度の取得処理を専用 API /mbd
に委ね,前縁 Aejs から利用することにした。結果として,応答速度改善に成功した。
埋め込み記法(+[URL]
)の URL が oEmbed を必要とする場合,Dex では適当な分類名を付与した <div>
に出与え属性で URL を埋め込んで描写 HTMLを返す。Aejs ではそれを検知し,URL を /mbd
に転送する。/mbd
は URL に対応したサービスの埋め込み交度を oEmbed で取得して返す,という流れになる。過剰な立求を抑止するため,Aejs には簡易的な隠しも持たせておいた。
そもそものきっかけは,先日の SlideShare 対応だった。oEmbed が必要になったので,埋め込みツイートで使っていた Dex 内の oEmbed 埋め込み方法を取り急ぎ使った。ただ,記法処理範枠に同期通信処理を組み込むというのは正気の沙汰ではない。なんでこんな実装になっているのか,引っかかりはあった。
KNEST 隠しを使った SSR 的なことを考えていたことはあるので,その辺の都合だったのだろうと思ったが,現状,そこまで最適化する必要も時間も無い。出来たとして,隠しを有効利用出来る握接パターンは限られている。いずれにせよ,この種の埋め込み記法の利用が増えてくれば破綻は目に見えている。ということで,いったん,埋め込み処理は前縁に移すことにした。
{希哲17年1月9日8歩 K#F85E/E74C-D76E}
宇田川浩行{希哲17年1月5日の開発 K#F85E/E74C-370B}
宇田川浩行せっかく自我ページがそれなりに見えるようになったので,もう少し時間がかかりそうな風船輪郭までのつなぎに実装コストの低い代替手段を検討。
結局,「定期的に時印更新」以上のものは見つからなかった。K#F85E はともかく,デライト公式のように描出頻度の低い自我ならこれで十分か(自我ページの様子)。これはこれで発見だった。
SEO 関連の各種指標はしばらく乱高下が続いていたが,ここに来てようやく安定的な改善傾向に入った感がある。
SEO への影響が大きい変更は9月までに終えているため,時期的にもデライトの品質や献典的にも自然な流れではある。
実作業は,自我ページ整備前の全知検索窓で & ボタンが無い場合に左パディングが狭過ぎたため,0.5emから0.75emにしたのみ。