@@ -69,7 +69,7 @@ metaKey = map toLower <$> many1 (noneOf ": \n\r")
6969metaValue :: String -> OrgParser (F MetaValue)
7070metaValue key = do
7171 case key of
72− "author" -> metaInlines
72+ "author" -> metaInlinesCommaSeparated
7373 "title" -> metaInlines
7474 "date" -> metaInlines
7575 _ -> metaString
@@ -77,6 +77,14 @@ metaValue key = do
7777metaInlines :: OrgParser (F MetaValue)
7878metaInlines = fmap (MetaInlines . B.toList) <$> inlinesTillNewline
7979
80+metaInlinesCommaSeparated :: OrgParser (F MetaValue)
81+metaInlinesCommaSeparated = do
82+ authStrs <- (many1 (noneOf ",\n")) `sepBy1` (char ',')
83+ newline
84+ authors <- mapM (parseFromString inlinesTillNewline . (++ "\n")) authStrs
85+ let toMetaInlines = MetaInlines . B.toList
86+ return $ MetaList . map toMetaInlines <$> sequence authors
87+
8088metaString :: OrgParser (F MetaValue)
8189metaString = return . MetaString <$> anyLine
8290