private Formatter(Builder builder) { this.builder = new Builder(builder); // take a copy to avoid after creation side effects this.options = new DataSet(builder); this.formatterOptions = new FormatterOptions(this.options); this.nodeFormatterFactories = new ArrayList<NodeFormatterFactory>(builder.nodeFormatterFactories.size() + 1); this.nodeFormatterFactories.addAll(builder.nodeFormatterFactories); // Add as last. This means clients can override the rendering of core nodes if they want. this.nodeFormatterFactories.add(new NodeFormatterFactory() { @Override public NodeFormatter create(DataHolder options) { return new CoreNodeFormatter(options); } }); }
public Builder(Builder other, DataHolder options) { super(other); List<Extension> extensions = new ArrayList<Extension>(); for (Extension extension : get(Parser.EXTENSIONS)) { extensions.add(extension); } if (options != null) { for (DataKey key : options.keySet()) { if (key == Parser.EXTENSIONS) { for (Extension extension : options.get(Parser.EXTENSIONS)) { extensions.add(extension); } } else { set(key, options.get(key)); } } } set(Parser.EXTENSIONS, extensions); extensions(extensions); }
public Builder(Builder other, DataHolder options) { super(other); List<Extension> extensions = new ArrayList<Extension>(); for (Extension extension : get(Parser.EXTENSIONS)) { extensions.add(extension); } if (options != null) { for (DataKey key : options.keySet()) { if (key == Parser.EXTENSIONS) { for (Extension extension : options.get(Parser.EXTENSIONS)) { extensions.add(extension); } } else { set(key, options.get(key)); } } } set(Parser.EXTENSIONS, extensions); extensions(extensions); }
public Formatter withOptions(DataHolder options) { return options == null ? this : new Formatter(new Builder(builder, options)); }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new DefinitionNodeFormatter.Factory()); }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new AbbreviationNodeFormatter.Factory()); }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new SimTocNodeFormatter.Factory()); }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new FootnoteNodeFormatter.Factory()); }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new AttributesNodeFormatter.Factory()); }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new JekyllFrontMatterNodeFormatter.Factory()); }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new TableNodeFormatter.Factory()); }
public Builder(DataHolder options) { super(options); if (options.contains(Parser.EXTENSIONS)) { extensions(get(Parser.EXTENSIONS)); } }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new NodeFormatterFactory() { @Override public NodeFormatter create(DataHolder options) { return new TaskListNodeFormatter(options); } }); }
/** * Create a new builder for configuring an {@link Formatter}. * * @param options initialization options * @return a builder */ public static Builder builder(DataHolder options) { return new Builder(options); }
/** * Create a new builder for configuring an {@link Formatter}. * * @return a builder */ public static Builder builder() { return new Builder(); }
public Formatter withOptions(DataHolder options) { return options == null ? this : new Formatter(new Builder(builder, options)); }
private Formatter(Builder builder) { this.builder = new Builder(builder); // take a copy to avoid after creation side effects this.options = new DataSet(builder); this.formatterOptions = new FormatterOptions(this.options); this.nodeFormatterFactories = new ArrayList<NodeFormatterFactory>(builder.nodeFormatterFactories.size() + 1); this.nodeFormatterFactories.addAll(builder.nodeFormatterFactories); // Add as last. This means clients can override the rendering of core nodes if they want. this.nodeFormatterFactories.add(new NodeFormatterFactory() { @Override public NodeFormatter create(DataHolder options) { return new CoreNodeFormatter(options); } }); }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new YamlFrontMatterNodeFormatter.Factory()); }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new EmojiNodeFormatter.Factory()); }
@Override public void extend(final Formatter.Builder builder) { builder.nodeFormatterFactory(new MacrosNodeFormatter.Factory()); }