git.iko.soy/typeable/pandoc
on master help sign in
Add original classes to JS obfuscated links (#3554)
f1eb3b3Timm Albers
src/Text/Pandoc/Writers/HTML.hs+4−1
@@ -475,6 +475,8 @@ obfuscateLink opts attr (renderHtml -> txt) s =
475 then ("e", name' ++ " at " ++ domain')
475 then ("e", name' ++ " at " ++ domain')
476 else ("'" ++ obfuscateString txt ++ "'",
476 else ("'" ++ obfuscateString txt ++ "'",
477 txt ++ " (" ++ name' ++ " at " ++ domain' ++ ")")
477 txt ++ " (" ++ name' ++ " at " ++ domain' ++ ")")
478+ (_, classNames, _) = attr
479+ classNamesStr = concatMap (' ':) classNames
478 in case meth of
480 in case meth of
479 ReferenceObfuscation ->
481 ReferenceObfuscation ->
480 -- need to use preEscapedString or &'s are escaped to & in URL
482 -- need to use preEscapedString or &'s are escaped to & in URL
@@ -487,7 +489,8 @@ obfuscateLink opts attr (renderHtml -> txt) s =
487 preEscapedString ("\n<!--\nh='" ++
489 preEscapedString ("\n<!--\nh='" ++
488 obfuscateString domain ++ "';a='" ++ at' ++ "';n='" ++
490 obfuscateString domain ++ "';a='" ++ at' ++ "';n='" ++
489 obfuscateString name' ++ "';e=n+a+h;\n" ++
491 obfuscateString name' ++ "';e=n+a+h;\n" ++
490− "document.write('<a h'+'ref'+'=\"ma'+'ilto'+':'+e+'\" clas'+'s=\"em' + 'ail\">'+" ++
492+ "document.write('<a h'+'ref'+'=\"ma'+'ilto'+':'+e+'\" clas'+'s=\"em' + 'ail" ++
493+ classNamesStr ++ "\">'+" ++
491 linkText ++ "+'<\\/'+'a'+'>');\n// -->\n")) >>
494 linkText ++ "+'<\\/'+'a'+'>');\n// -->\n")) >>
492 H.noscript (preEscapedString $ obfuscateString altText)
495 H.noscript (preEscapedString $ obfuscateString altText)
493 _ -> throwError $ PandocSomeError $ "Unknown obfuscation method: " ++ show meth
496 _ -> throwError $ PandocSomeError $ "Unknown obfuscation method: " ++ show meth