In package com.eden.orchid.api.compilers

public abstract class OrchidCompiler extends Prioritized

since: v1.0.0 public abstract

A generic compiler which can be used by a Theme to transform content. When a Theme is requested to compile a file of a given type, it searches the list of registered Compilers and picks the one with the highest priority that is able to compile the given file type.

Constructors

OrchidCompiler(int priority) public since: v1.0.0

Initialize the OrchidCompiler with a set priority. Compilers with a higher priority are chosen first to process a given input content when multiple Compilers can process the same input extension.

Parameters:
  • priority

    priority

Methods

String compile(String extension, String input, Map<K, V> data) abstract public since: v1.0.0

Compile content with a particular file extension using the optional provided data.

Parameters:
  • String extension

    the file extension that represents the type of data to compile
  • String input

    the content to be compiled
  • Map data

    optional data to be passed to the compiler
String getOutputExtension() abstract public since: v1.0.0

Gets the file extension representing the type of the output content.

String getSourceExtensions() abstract public since: v1.0.0

Get the list of file extensions this OrchidCompiler is able to process.