public static void register(String fileExtension, ParserEngine engine) { INSTANCE.registerEngine(fileExtension, engine); }
/** * This method is used internally to load markup engines. Markup engines are found using descriptor files on classpath, so * adding an engine is as easy as adding a jar on classpath with the descriptor file included. */ private static void loadEngines() { try { ClassLoader cl = Engines.class.getClassLoader(); Enumeration<URL> resources = cl.getResources("META-INF/org.jbake.parser.MarkupEngines.properties"); while (resources.hasMoreElements()) { URL url = resources.nextElement(); Properties props = new Properties(); props.load(url.openStream()); for (Map.Entry<Object, Object> entry : props.entrySet()) { String className = (String) entry.getKey(); String[] extensions = ((String)entry.getValue()).split(","); registerEngine(className, extensions); } } } catch (IOException e) { LOGGER.error("Error loading Engines", e); } }
public static void register(String fileExtension, ParserEngine engine) { INSTANCE.registerEngine(fileExtension, engine); }
/** * This method is used internally to load markup engines. Markup engines are found using descriptor files on classpath, so * adding an engine is as easy as adding a jar on classpath with the descriptor file included. */ private static void loadEngines() { try { ClassLoader cl = Engines.class.getClassLoader(); Enumeration<URL> resources = cl.getResources("META-INF/org.jbake.parser.MarkupEngines.properties"); while (resources.hasMoreElements()) { URL url = resources.nextElement(); Properties props = new Properties(); props.load(url.openStream()); for (Map.Entry<Object, Object> entry : props.entrySet()) { String className = (String) entry.getKey(); String[] extensions = ((String)entry.getValue()).split(","); registerEngine(className, extensions); } } } catch (IOException e) { LOGGER.error("Error loading Engines", e); } }