Awesome Asciidoctor: Exclude Parts From Included Files
In a previous post we learned how to include parts of a document in the generated output.
The included parts are defined using tags.
The start of a tag is defined in a comment with the format tag::_tagName_[] and the end has the format end::_tagName_[].
Next we must use the tags attribute for the include macro followed by the tagName.
If we don’t want to include a tag we must prefix it with an exclamation mark (!).
Suppose we have an external Java source we want to include in our Asciidoctor document.
package mrhaki;
// tag::singletonAnnotation[]
@Singleton
// end::singletonAnnotation[]
public class Sample {
public String greeting() {
return "Hello Asciidoctor";
}
}
In the following sample Asciidoctor document we include Sample.java, but we don’t want to include the text enclosed with the singletonAnnotation tag. So we use tags=!singletonAnnotaion with the include macro:
= Sample
To NOT include sections enclosed with tags we must use `tags=!` in the `include` directive.
[source,java]
------
include::Sample.java[tags=!singletonAnnotation]
------
When we transform our Asciidoctor markup to HTML we get the following result:
Written with Asciidoctor 1.5.6.1.