Skip to content

Page Media Moduleの脚注HTML表現モードを追加する? #1947

@kmuto

Description

@kmuto

Re:VIEWのEPUBからVivliostyleに変換する方法で制作しているユーザーから脚注の取り扱いについての質問があり、いったんはモンキーパッチで対応していました。
VivliostyleというかCSS Paged Media Moduleにおいては、脚注を分離した形ではなく参照位置内にspanで入れるようになっています。
https://www.w3.org/TR/css-gcpm-3/#footnotes

もともと類似のことはIDGXMLビルダがそうで、現在のRe:VIEW実装であればfootnoteメソッドを空にしてinline_fnメソッドでspan脚注を書き出すだけなので実装は容易です。inline_footnoteみたいなフラグで切り替える処理を入れることになるのかなと思います。

reファイル

paragraph@<fn>{f1}……

//footnote[f1][notetext……]

通常の脚注HTML

<p>paragraph<a id="fnb-f1" href="#fn-f1" class="noteref" epub:type="noteref">*1</a>……</p>
<div class="footnote" epub:type="footnote" id="fn-f1"><p class="footnote">[*1] notetext……</p></div>

Vivliostyleが期待する脚注HTML

<p>paragraph<span class="footnote">notetext……</span>……</p>

モンキーパッチreview-ext.rb

module ReVIEW
  module HTMLBuilderOverride
    def footnote(id, str)
    end

    def inline_fn(id)
      %Q(<span class="footnote">#{compile_inline(@chapter.footnote(id).content.strip)}</span>)
    rescue KeyError
        app_error "unknown footnote: #{id}"
    end
  end

  class HTMLBuilder
    prepend HTMLBuilderOverride
  end
end

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions