aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Altamirano <[email protected]>2023-01-29 19:10:48 -0800
committerGitHub <[email protected]>2023-01-29 19:10:48 -0800
commit1193bb59641f0fa0ab033d0382916be4c83e07da (patch)
tree0ee529afb5f6f5323c76fab87a6d3d01379a06b7
parent9dbb75dacb26e8482f62fcfaeb7a48ff7b1d7f0e (diff)
Add support for Textile footnote backlinks (#8585)
Backlinking from footnotes is already the behavior of `Note` values when writing HTML. This adds parsing support for the explicit backlinking syntax in Textile as described here: https://textile-lang.com/doc/footnotes Previously, these lines would be interpreted as a new paragraph beginning with "fn3^." in text.
-rw-r--r--src/Text/Pandoc/Readers/Textile.hs5
-rw-r--r--test/textile-reader.textile2
2 files changed, 5 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Textile.hs b/src/Text/Pandoc/Readers/Textile.hs
index e55d8e1eb..0cfe49c4f 100644
--- a/src/Text/Pandoc/Readers/Textile.hs
+++ b/src/Text/Pandoc/Readers/Textile.hs
@@ -90,7 +90,10 @@ parseTextile = do
Pandoc nullMeta . B.toList <$> parseBlocks -- FIXME
noteMarker :: PandocMonad m => TextileParser m Text
-noteMarker = skipMany spaceChar >> string "fn" >> T.pack <$> manyTill digit (char '.')
+noteMarker = do
+ skipMany spaceChar
+ string "fn"
+ T.pack <$> manyTill digit (string "." <|> try (string "^."))
noteBlock :: PandocMonad m => TextileParser m Text
noteBlock = try $ do
diff --git a/test/textile-reader.textile b/test/textile-reader.textile
index 164fe966c..194353c9c 100644
--- a/test/textile-reader.textile
+++ b/test/textile-reader.textile
@@ -269,7 +269,7 @@ A note.[1] Another note[2].
fn1. The note
is here!
-fn2. Other note.
+fn2^. Other note.
h1. Comment blocks