mirror of
https://github.com/jgm/pandoc.git
synced 2026-08-29 01:41:20 +08:00
Org reader: read #+INSTITUTE values as text with markup
The value is stored in the `institute` metadata field and used in the default beamer presentation template.
This commit is contained in:
@@ -93,6 +93,11 @@ Pandoc recognizes some export options not used by Emacs Org.
|
||||
- HEADER-INCLUDES: like HTML_HEAD and, LATEX_HEADER, but treats
|
||||
the option's value as normal text with markup.
|
||||
|
||||
- INSTITUTE: Affiliation of the author; the value is read as text
|
||||
with markup and is stored in the `institute` metadata field. The
|
||||
field is included by default on the title slide of beamer
|
||||
presentations.
|
||||
|
||||
|
||||
Citations
|
||||
=========
|
||||
|
||||
@@ -73,20 +73,26 @@ metaKey = T.toLower <$> many1Char (noneOf ": \n\r")
|
||||
|
||||
exportSettingHandlers :: PandocMonad m => Map Text (OrgParser m ())
|
||||
exportSettingHandlers = Map.fromList
|
||||
[ ("result" , fmap pure anyLine `parseThen` discard) -- RESULT is never an export setting
|
||||
, ("author" , lineOfInlines `parseThen` collectLines "author")
|
||||
, ("keywords" , lineOfInlines `parseThen` collectLines "keywords")
|
||||
, ("date" , lineOfInlines `parseThen` setField "date")
|
||||
, ("description", lineOfInlines `parseThen` collectLines "description")
|
||||
, ("title" , lineOfInlines `parseThen` collectLines "title")
|
||||
, ("nocite" , lineOfInlines `parseThen` collectAsList "nocite")
|
||||
[ ("result" , fmap pure anyLine `parseThen` discard)
|
||||
-- Common settings
|
||||
, ("author" , lineOfInlines `parseThen` collectLines "author")
|
||||
, ("date" , lineOfInlines `parseThen` setField "date")
|
||||
, ("description", lineOfInlines `parseThen` collectLines "description")
|
||||
, ("keywords" , lineOfInlines `parseThen` collectLines "keywords")
|
||||
, ("title" , lineOfInlines `parseThen` collectLines "title")
|
||||
-- LaTeX
|
||||
, ("latex_class", fmap pure anyLine `parseThen` setField "documentclass")
|
||||
, ("latex_class_options", (pure . T.filter (`notElem` ("[]" :: String)) <$> anyLine)
|
||||
`parseThen` setField "classoption")
|
||||
, ("latex_header", metaExportSnippet "latex" `parseThen`
|
||||
collectAsList "header-includes")
|
||||
-- HTML
|
||||
, ("html_head" , metaExportSnippet "html" `parseThen`
|
||||
collectAsList "header-includes")
|
||||
-- pandoc-specific
|
||||
, ("nocite" , lineOfInlines `parseThen` collectLines "nocite")
|
||||
, ("header-includes", lineOfInlines `parseThen` collectLines "header-includes")
|
||||
, ("institute" , lineOfInlines `parseThen` collectLines "institute")
|
||||
]
|
||||
|
||||
parseThen :: PandocMonad m
|
||||
|
||||
@@ -133,6 +133,10 @@ tests =
|
||||
inclList = MetaList [MetaInlines (toList html)]
|
||||
meta = setMeta "header-includes" inclList nullMeta
|
||||
in Pandoc meta mempty
|
||||
|
||||
, "Institute" =:
|
||||
"#+INSTITUTE: ACME Inc." =?>
|
||||
Pandoc (setMeta "institute" ("ACME Inc." :: Inlines) nullMeta) mempty
|
||||
]
|
||||
|
||||
, "Properties drawer" =:
|
||||
|
||||
Reference in New Issue
Block a user