package li.cil.oc.api.manual; /** * This interface allows implementation of content providers for the manual. * <p/> * Content providers can be used to provide possibly dynamic page content for * arbitrary paths. Note that content providers have <em>lower</em> priority * than content found in resource packs, i.e. content providers will only be * queried for missing pages, so to speak. * <p/> * * @see li.cil.oc.api.prefab.ResourceContentProvider */ public interface ContentProvider { /** * Called to get the content of a path pointed to by the specified path. * <p/> * This should provide an iterable over the lines of a Markdown document * (with the formatting provided by the in-game manual, which is a small * subset of "normal" Markdown). * <p/> * If this provider cannot provide the requested path, it should return * <tt>null</tt> to indicate so, allowing other providers to be queried. * * @param path the path to the manual page we're looking for. * @return the content of the document at that path, or <tt>null</tt>. */ Iterable<String> getContent(String path); }