private AttributesBuilder buildAttributes() { AttributesBuilder attributesBuilder = AttributesBuilder.attributes(); attributesBuilder.imagesDir(imagesDir); if (sourceHighlighter != null) { attributesBuilder.sourceHighlighter(sourceHighlighter); } if (embedAssets) { attributesBuilder.linkCss(false); attributesBuilder.dataUri(true); } attributesBuilder.copyCss(false); // TODO Figure out how to reliably set other values (like boolean values, dates, times, etc) for (Attribute attribute : attributes) { if ("true".equals(attribute.getValue()) || "false".equals(attribute.getValue())) { attributesBuilder.attribute( attribute.getKey(), Attributes.toAsciidoctorFlag(Boolean.valueOf(attribute.getValue()))); continue; } // Can't do anything about dates and times because all that logic is private in Attributes attributesBuilder.attribute(attribute.getKey(), attribute.getValue()); } return attributesBuilder; }