mirror of
https://github.com/jgm/pandoc.git
synced 2026-08-28 17:20:47 +08:00
TWiki reader: use "wikilink" class, instead of title.
This commit is contained in:
@@ -469,25 +469,25 @@ link = try $ do
|
||||
st <- getState
|
||||
guard $ stateAllowLinks st
|
||||
setState $ st{ stateAllowLinks = False }
|
||||
(url, title, content) <- linkText <|> simpleWikiLink
|
||||
(url, title, classes, content) <- linkText <|> simpleWikiLink
|
||||
setState $ st{ stateAllowLinks = True }
|
||||
return $ B.link url title content
|
||||
return $ B.linkWith ("",classes,[]) url title content
|
||||
|
||||
linkText :: PandocMonad m => TWParser m (Text, Text, B.Inlines)
|
||||
linkText :: PandocMonad m => TWParser m (Text, Text, [Text], B.Inlines)
|
||||
linkText = do
|
||||
string "[["
|
||||
url <- T.pack <$> many1Till anyChar (char ']')
|
||||
content <- option (B.str url) (mconcat <$> linkContent)
|
||||
char ']'
|
||||
return (url, "", content)
|
||||
return (url, "", [], content)
|
||||
where
|
||||
linkContent = char '[' >> many1Till anyChar (char ']') >>= parseLinkContent . T.pack
|
||||
parseLinkContent = parseFromString' $ many1 inline
|
||||
|
||||
simpleWikiLink :: PandocMonad m => TWParser m (Text, Text, B.Inlines)
|
||||
simpleWikiLink :: PandocMonad m => TWParser m (Text, Text, [Text], B.Inlines)
|
||||
simpleWikiLink = do
|
||||
w <- wikiWord
|
||||
return (w, "wikilink", B.str w)
|
||||
return (w, "", ["wikilink"], B.str w)
|
||||
where
|
||||
wikiWord = do
|
||||
cs <- many1 $ satisfy (\x -> isLetter x && isUpper x)
|
||||
|
||||
@@ -153,15 +153,15 @@ Pandoc
|
||||
[ Str "internal" , Space , Str "links" ]
|
||||
, Para
|
||||
[ Link
|
||||
( "" , [] , [] )
|
||||
( "" , [ "wikilink" ] , [] )
|
||||
[ Str "MySimplePage" ]
|
||||
( "MySimplePage" , "wikilink" )
|
||||
( "MySimplePage" , "" )
|
||||
]
|
||||
, Para
|
||||
[ Link
|
||||
( "" , [] , [] )
|
||||
( "" , [ "wikilink" ] , [] )
|
||||
[ Str "My23Page23" ]
|
||||
( "My23Page23" , "wikilink" )
|
||||
( "My23Page23" , "" )
|
||||
]
|
||||
, Header
|
||||
1
|
||||
|
||||
Reference in New Issue
Block a user