Render embedded plain footnotes
This commit is contained in:
@@ -273,15 +273,24 @@ proc annotationKind(marker: string): string =
|
||||
if marker.strip.allCharsInSet({'0'..'9'}): "note"
|
||||
else: "crossReference"
|
||||
|
||||
proc cleanTargetText(targetText: string): string =
|
||||
var parts = targetText.splitWhitespace
|
||||
if parts.len >= 3 and parts[0].allCharsInSet({'0'..'9'}):
|
||||
parts.delete(0)
|
||||
parts.delete(0)
|
||||
return parts.join(" ")
|
||||
|
||||
targetText
|
||||
|
||||
proc annotationNode(marker, href, targetText: string, offset: int): JsonNode =
|
||||
let kind = annotationKind(marker)
|
||||
let cleanedTargetText = cleanTargetText(targetText)
|
||||
result = %*{
|
||||
"kind": annotationKind(marker),
|
||||
"marker": marker,
|
||||
"href": href,
|
||||
"kind": kind,
|
||||
"offset": offset
|
||||
}
|
||||
if targetText.len > 0:
|
||||
result["targetText"] = newJString(targetText)
|
||||
if cleanedTargetText.len > 0:
|
||||
result["targetText"] = newJString(cleanedTargetText)
|
||||
|
||||
proc segmentMetadata(state: ParseState): JsonNode =
|
||||
result = newJObject()
|
||||
|
||||
Reference in New Issue
Block a user