blob: cba64734c0b5e8e64a0e9c1326b881d8ea666974 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
= Postprocessor Extension Example
:navtitle: Postprocessor
Purpose::
Insert copyright text in the footer.
== CopyrightFooterPostprocessor
[,ruby]
----
class CopyrightFooterPostprocessor < Asciidoctor::Extensions::Postprocessor
def process document, output
content = (document.attr 'copyright') || 'Copyright Acme, Inc.'
if document.basebackend? 'html'
replacement = %(<div id="footer-text">\\1<br>\n#{content}\n</div>)
output = output.sub(/<div id="footer-text">(.*?)<\/div>/m, replacement)
elsif document.basebackend? 'docbook'
replacement = %(<simpara>#{content}</simpara>\n\\1)
output = output.sub(/(<\/(?:article|book)>)/, replacement)
end
output
end
end
----
== Usage
[,ruby]
----
Asciidoctor::Extensions.register do
postprocessor CopyrightFooterPostprocessor
end
Asciidoctor.convert_file 'sample-with-copyright-footer.adoc', safe: :safe
----
|