HTML export: Improve handling of missing footnote definitions
This commit is contained in:
parent
09c85c3e66
commit
d154403f06
4 changed files with 20 additions and 3 deletions
|
@ -151,6 +151,16 @@ func (w *HTMLWriter) WriteFootnotes(d *Document) {
|
|||
w.WriteString(`<hr class="footnotes-separatator">` + "\n")
|
||||
w.WriteString(`<div class="footnote-definitions">` + "\n")
|
||||
for i, definition := range w.footnotes.list {
|
||||
if definition == nil {
|
||||
name := ""
|
||||
for k, v := range w.footnotes.mapping {
|
||||
if v == i {
|
||||
name = k
|
||||
}
|
||||
}
|
||||
w.log.Printf("Missing footnote definition for [fn:%s] (#%d)", name, i)
|
||||
continue
|
||||
}
|
||||
w.WriteString(`<div class="footnote-definition">` + "\n")
|
||||
w.WriteString(fmt.Sprintf(`<sup id="footnote-%d"><a href="#footnote-reference-%d">%d</a></sup>`, i, i, i) + "\n")
|
||||
w.WriteString(`<div class="footnote-body">` + "\n")
|
||||
|
|
11
org/testdata/footnotes.html
vendored
11
org/testdata/footnotes.html
vendored
|
@ -36,15 +36,20 @@ Footnote definitions are not printed where they appear.
|
|||
Rather, they are gathered and exported at the end of the document in the footnote section. <sup class="footnote-reference"><a id="footnote-reference-5" href="#footnote-5">5</a></sup>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
footnotes that reference a non-existant definition are rendered but log a warning <sup class="footnote-reference"><a id="footnote-reference-6" href="#footnote-6">6</a></sup>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h1 id="headline-2">
|
||||
Footnotes
|
||||
</h1>
|
||||
<p>
|
||||
Please note that the footnotes section is not automatically excluded from the export like in emacs. <sup class="footnote-reference"><a id="footnote-reference-6" href="#footnote-6">6</a></sup>
|
||||
Please note that the footnotes section is not automatically excluded from the export like in emacs. <sup class="footnote-reference"><a id="footnote-reference-7" href="#footnote-7">7</a></sup>
|
||||
</p>
|
||||
<p>
|
||||
this is not part of <sup class="footnote-reference"><a id="footnote-reference-6" href="#footnote-6">6</a></sup> anymore as there are 2 blank lines in between!
|
||||
this is not part of <sup class="footnote-reference"><a id="footnote-reference-7" href="#footnote-7">7</a></sup> anymore as there are 2 blank lines in between!
|
||||
</p>
|
||||
<div class="footnotes">
|
||||
<hr class="footnotes-separatator">
|
||||
|
@ -147,7 +152,7 @@ Rather, it will be somewhere down below in the footnotes section.
|
|||
</div>
|
||||
</div>
|
||||
<div class="footnote-definition">
|
||||
<sup id="footnote-6"><a href="#footnote-reference-6">6</a></sup>
|
||||
<sup id="footnote-7"><a href="#footnote-reference-7">7</a></sup>
|
||||
<div class="footnote-body">
|
||||
<p>
|
||||
There's multiple reasons for that. Among others, doing so requires i18n (to recognize the section) and silently
|
||||
|
|
1
org/testdata/footnotes.org
vendored
1
org/testdata/footnotes.org
vendored
|
@ -5,6 +5,7 @@
|
|||
- anonymous inline footnotes are also supported via [fn::the anonymous inline footnote definition].
|
||||
- Footnote definitions are not printed where they appear.
|
||||
Rather, they are gathered and exported at the end of the document in the footnote section. [fn:4]
|
||||
- footnotes that reference a non-existant definition are rendered but log a warning [fn:does-not-exist]
|
||||
|
||||
[fn:4] so this definition will not be at the end of this section in the exported document.
|
||||
Rather, it will be somewhere down below in the footnotes section.
|
||||
|
|
1
org/testdata/footnotes.pretty_org
vendored
1
org/testdata/footnotes.pretty_org
vendored
|
@ -5,6 +5,7 @@
|
|||
- anonymous inline footnotes are also supported via [fn::the anonymous inline footnote definition].
|
||||
- Footnote definitions are not printed where they appear.
|
||||
Rather, they are gathered and exported at the end of the document in the footnote section. [fn:4]
|
||||
- footnotes that reference a non-existant definition are rendered but log a warning [fn:does-not-exist]
|
||||
|
||||
[fn:4] so this definition will not be at the end of this section in the exported document.
|
||||
Rather, it will be somewhere down below in the footnotes section.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue