diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Text/Pandoc/Readers/Markdown.hs | 12 | ||||
| -rw-r--r-- | src/Text/Pandoc/Writers/HTML.hs | 7 | ||||
| -rw-r--r-- | src/Text/Pandoc/Writers/Textile.hs | 6 | 
3 files changed, 12 insertions, 13 deletions
| diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 5f6788887..d1ea7a1a5 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -1,6 +1,7 @@  {-# LANGUAGE NoImplicitPrelude #-}  {-# LANGUAGE RelaxedPolyRec      #-}  {-# LANGUAGE ScopedTypeVariables #-} +{-# LANGUAGE TupleSections #-}  {-  Copyright (C) 2006-2018 John MacFarlane <jgm@berkeley.edu> @@ -1879,23 +1880,24 @@ bareURL :: PandocMonad m => MarkdownParser m (F Inlines)  bareURL = try $ do    guardEnabled Ext_autolink_bare_uris    getState >>= guard . stateAllowLinks -  (orig, src) <- uri <|> emailAddress +  (cls, (orig, src)) <- (("uri",) <$> uri) <|> (("email",) <$> emailAddress)    notFollowedBy $ try $ spaces >> htmlTag (~== TagClose "a") -  return $ return $ B.link src "" (B.str orig) +  return $ return $ B.linkWith ("",[cls],[]) src "" (B.str orig)  autoLink :: PandocMonad m => MarkdownParser m (F Inlines)  autoLink = try $ do    getState >>= guard . stateAllowLinks    char '<' -  (orig, src) <- uri <|> emailAddress +  (cls, (orig, src)) <- (("uri",) <$> uri) <|> (("email",) <$> emailAddress)    -- in rare cases, something may remain after the uri parser    -- is finished, because the uri parser tries to avoid parsing    -- final punctuation.  for example:  in `<http://hi---there>`,    -- the URI parser will stop before the dashes.    extra <- fromEntities <$> manyTill nonspaceChar (char '>') -  attr  <- option nullAttr $ try $ +  attr  <- option ("", [cls], []) $ try $              guardEnabled Ext_link_attributes >> attributes -  return $ return $ B.linkWith attr (src ++ escapeURI extra) "" (B.str $ orig ++ extra) +  return $ return $ B.linkWith attr (src ++ escapeURI extra) "" +                     (B.str $ orig ++ extra)  image :: PandocMonad m => MarkdownParser m (F Inlines)  image = try $ do diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs index a0b622c83..851b48956 100644 --- a/src/Text/Pandoc/Writers/HTML.hs +++ b/src/Text/Pandoc/Writers/HTML.hs @@ -56,7 +56,7 @@ import Data.String (fromString)  import Data.Text (Text)  import qualified Data.Text.Lazy as TL  import Network.HTTP (urlEncode) -import Network.URI (URI (..), parseURIReference, unEscapeString) +import Network.URI (URI (..), parseURIReference)  import Numeric (showHex)  import Text.Blaze.Internal (customLeaf, customParent, MarkupM(Empty))  #if MIN_VERSION_blaze_markup(0,6,3) @@ -1084,10 +1084,7 @@ inlineToHtml opts inline = do                                               in  '#' : prefix ++ xs                                     _ -> s                          let link = H.a ! A.href (toValue s') $ linkText -                        let attr = if txt == [Str (unEscapeString s)] -                                      then (ident, "uri" : classes, kvs) -                                      else (ident, classes, kvs) -                        link' <- addAttrs opts attr link +                        link' <- addAttrs opts (ident, classes, kvs) link                          return $ if null tit                                      then link'                                      else link' ! A.title (toValue tit) diff --git a/src/Text/Pandoc/Writers/Textile.hs b/src/Text/Pandoc/Writers/Textile.hs index d1724f438..c7d96454a 100644 --- a/src/Text/Pandoc/Writers/Textile.hs +++ b/src/Text/Pandoc/Writers/Textile.hs @@ -463,15 +463,15 @@ inlineToTextile _ SoftBreak = return " "  inlineToTextile _ Space = return " "  inlineToTextile opts (Link (_, cls, _) txt (src, _)) = do -  let classes = if null cls -                   then "" -                   else "(" ++ unwords cls ++ ")"    label <- case txt of                  [Code _ s]                   | s == src -> return "$"                  [Str s]                   | s == src -> return "$"                  _           -> inlineListToTextile opts txt +  let classes = if null cls || cls == ["uri"] && label == "$" +                   then "" +                   else "(" ++ unwords cls ++ ")"    return $ "\"" ++ classes ++ label ++ "\":" ++ src  inlineToTextile opts (Image attr@(_, cls, _) alt (source, tit)) = do | 
