diff options
| author | Adam Monsen <haircut@gmail.com> | 2024-05-23 13:47:57 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-23 23:47:57 +0300 |
| commit | 05e9def44b36b93fac538488f75834b9f3342771 (patch) | |
| tree | 4f2def69a8a0fdd9c00cc0cefc8d4258a226ad55 /lib | |
| parent | 8e1bc83a86f7c04985827a0dcfcf33c1db2683e7 (diff) | |
add id attribute support to sidebar (#480)main
Fixes "Fragment identifier is not defined." error when trying to deep-link a sidebar.
For example:
```
ERROR(RSC-012): foo.epub/EPUB/_chapter.xhtml(LINE,COLUMN): Fragment identifier is not defined.
```
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/asciidoctor-epub3/converter.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/asciidoctor-epub3/converter.rb b/lib/asciidoctor-epub3/converter.rb index b227afd..8786adf 100644 --- a/lib/asciidoctor-epub3/converter.rb +++ b/lib/asciidoctor-epub3/converter.rb @@ -735,6 +735,7 @@ document.addEventListener('DOMContentLoaded', function(event, reader) { end def convert_sidebar(node) + id_attribute = node.id ? %( id="#{node.id}") : '' classes = ['sidebar'] if node.title? classes << 'titled' @@ -747,7 +748,7 @@ document.addEventListener('DOMContentLoaded', function(event, reader) { title_attr = title_el = '' end - %(<aside class="#{classes * ' '}"#{title_attr} epub:type="sidebar"> + %(<aside#{id_attribute} class="#{classes * ' '}"#{title_attr} epub:type="sidebar"> #{title_el}<div class="content"> #{output_content node} </div> |
