@@ -40,7 +40,7 @@ import Text.Pandoc.Slides
4040import Text.Pandoc.Highlighting ( highlight, styleToCss,
4141 formatHtmlInline, formatHtmlBlock )
4242import Text.Pandoc.XML (fromEntities, escapeStringForXML)
43−import Network.URI ( parseURIReference, URI(..) )
43+import Network.URI ( parseURIReference, URI(..), unEscapeString )
4444import Network.HTTP ( urlEncode )
4545import Numeric ( showHex )
4646import Data.Char ( ord, toLower )
@@ -361,13 +361,13 @@ obfuscateLink opts txt s =
361361 ReferenceObfuscation ->
362362 -- need to use preEscapedString or &'s are escaped to & in URL
363363 preEscapedString $ "<a href=\"" ++ (obfuscateString s')
364− ++ "\">" ++ (obfuscateString txt) ++ "</a>"
364+ ++ "\" class=\"email\">" ++ (obfuscateString txt) ++ "</a>"
365365 JavascriptObfuscation ->
366366 (H.script ! A.type_ "text/javascript" $
367367 preEscapedString ("\n<!--\nh='" ++
368368 obfuscateString domain ++ "';a='" ++ at' ++ "';n='" ++
369369 obfuscateString name' ++ "';e=n+a+h;\n" ++
370− "document.write('<a h'+'ref'+'=\"ma'+'ilto'+':'+e+'\">'+" ++
370+ "document.write('<a h'+'ref'+'=\"ma'+'ilto'+':'+e+'\" clas'+'s=\"em' + 'ail\">'+" ++
371371 linkText ++ "+'<\\/'+'a'+'>');\n// -->\n")) >>
372372 H.noscript (preEscapedString $ obfuscateString altText)
373373 _ -> error $ "Unknown obfuscation method: " ++ show meth
@@ -739,9 +739,12 @@ inlineToHtml opts inline =
739739 RevealJsSlides -> '#':'/':xs
740740 _ -> s
741741 let link = H.a ! A.href (toValue s') $ linkText
742+ let link' = if txt == [Str (unEscapeString s)]
743+ then link ! A.class_ "uri"
744+ else link
742745 return $ if null tit
743− then link
744− else link ! A.title (toValue tit)
746+ then link'
747+ else link' ! A.title (toValue tit)
745748 (Image txt (s,tit)) | treatAsImage s -> do
746749 let alternate' = stringify txt
747750 let attributes = [A.src $ toValue s] ++