diff options
| author | Albert Krewinkel <albert@zeitkraut.de> | 2022-08-22 09:18:30 +0200 |
|---|---|---|
| committer | Albert Krewinkel <albert@zeitkraut.de> | 2022-08-22 12:53:50 +0200 |
| commit | 1de40c62fc1220b689389e6c2eaa76f4936363fe (patch) | |
| tree | 8c6b32a83c91539645d847e0785dd1548c806069 /src | |
| parent | eb96defcc680047cbf02c32b3b09b94e0992c210 (diff) | |
Org writer: add code block identifier as `#+name` to src blocks.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Text/Pandoc/Writers/Org.hs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Writers/Org.hs b/src/Text/Pandoc/Writers/Org.hs index 80dbd78e4..81c9d8d48 100644 --- a/src/Text/Pandoc/Writers/Org.hs +++ b/src/Text/Pandoc/Writers/Org.hs @@ -148,7 +148,10 @@ blockToOrg (Header level attr inlines) = do then empty else cr <> propertiesDrawer attr return $ headerStr <> " " <> contents <> drawerStr <> cr -blockToOrg (CodeBlock (_,classes,kvs) str) = do +blockToOrg (CodeBlock (ident,classes,kvs) str) = do + let name = if T.null ident + then empty + else literal $ "#+name: " <> ident let startnum = maybe "" (\x -> " " <> trimr x) $ lookup "startFrom" kvs let numberlines = if "numberLines" `elem` classes then if "continuedSourceBlock" `elem` classes @@ -159,7 +162,7 @@ blockToOrg (CodeBlock (_,classes,kvs) str) = do let (beg, end) = case at of [] -> ("#+begin_example" <> numberlines, "#+end_example") (x:_) -> ("#+begin_src " <> x <> numberlines, "#+end_src") - return $ literal beg $$ literal str $$ text end $$ blankline + return $ name $$ literal beg $$ literal str $$ text end $$ blankline blockToOrg (BlockQuote blocks) = do contents <- blockListToOrg blocks return $ blankline $$ "#+begin_quote" $$ |
