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.