summaryrefslogtreecommitdiff
path: root/docs/modules/extensions/pages/postprocessor.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/modules/extensions/pages/postprocessor.adoc')
-rw-r--r--docs/modules/extensions/pages/postprocessor.adoc33
1 files changed, 33 insertions, 0 deletions
diff --git a/docs/modules/extensions/pages/postprocessor.adoc b/docs/modules/extensions/pages/postprocessor.adoc
new file mode 100644
index 00000000..712706ea
--- /dev/null
+++ b/docs/modules/extensions/pages/postprocessor.adoc
@@ -0,0 +1,33 @@
+= 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
+
+```
+Asciidoctor::Extensions.register do
+ postprocessor CopyrightFooterPostprocessor
+end
+
+Asciidoctor.convert_file 'sample-with-copyright-footer.adoc', :safe => :safe
+```