diff --git a/collects/scribble/base.ss b/collects/scribble/base.ss index be8f578475..67df2aad37 100644 --- a/collects/scribble/base.ss +++ b/collects/scribble/base.ss @@ -134,14 +134,16 @@ (make-element #f (list "," nl))) (list "," nl "and " (car r))))])))) -(define (author+email name email) +(define (author+email name email #:obfuscate? [obfuscate? #f]) (make-element #f (list name " <" - (regexp-replace* #rx"[.]" - (regexp-replace* #rx"@" email " at ") - " dot ") + (if obfuscate? + (regexp-replace* #rx"[.]" + (regexp-replace* #rx"@" email " at ") + " dot ") + email) ">"))) ;; ---------------------------------------- diff --git a/collects/scribblings/scribble/base.scrbl b/collects/scribblings/scribble/base.scrbl index 689bc466e7..7daf57a386 100644 --- a/collects/scribblings/scribble/base.scrbl +++ b/collects/scribblings/scribble/base.scrbl @@ -123,10 +123,14 @@ show the author(s) of a document, where each author is represented by @scheme[title] for the beginning of a document. See also @scheme[author+email].} -@defproc[(author+email [author elem] [email string?]) element?]{ +@defproc[(author+email [author elem] + [email string?] + [#:obfuscate? obfuscate? any/c #f]) + element?]{ -Combines an author name with an e-mail address, obscuring the e-mail -address slightly to avoid address-harvesting robots.} +Combines an author name with an e-mail address. If @scheme[obfuscate?] +is true, then the result obscures the e-mail address slightly to avoid +address-harvesting robots.} @; ------------------------------------------------------------------------